欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Jupyter Notebook中%time和%timeit的使用詳解

 更新時間:2023年02月27日 09:36:58   作者:寧萌Julie  
本文主要介紹了Jupyter Notebook中%time和%timeit的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

本文介紹 Jupyter Notebook 中用于計算運(yùn)行時間的魔法命令 ( magic commands ) %time 和 %timeit 。

1.%time 或 %timeit:計算當(dāng)前行的代碼運(yùn)行時間。

%time 的計算結(jié)果包括:CPU time(CPU運(yùn)行程序的時間), Wall time(Wall Clock Time,墻上掛鐘的時間,也就是我們感受到的運(yùn)行時間)。

%timeit 計時更為精確,這一命令會運(yùn)行代碼 r 次,每次 n 遍,再對 n*r 遍的結(jié)果取平均后,得到運(yùn)行一遍代碼的時間。

舉個例子來看看吧,以列表的循環(huán)計算為例,先看 %time 的計算:

nums1=list(range(10000))
%time nums2=[i+5 for i in nums1]

這里我們用 %time 計算一下第二行代碼,也就是對列表中每個元素的值加 5 的運(yùn)行時間,結(jié)果為:

Wall time: 998 µs

我的電腦上不知怎么回事,只顯示了 Wall time 。

再來看 %timeit 的計算:

nums1=list(range(10000))
%timeit nums2=[i+5 for i in nums1]

結(jié)果為:

645 µs ± 45.3 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

如上所示,使用 %timeit 計時會運(yùn)行 r 次(默認(rèn)值 r=7), 每一次運(yùn)行 n 遍的 n 則是由系統(tǒng)根據(jù)代碼確定一個合適的值,這里 n=1000,最后對所有計時結(jié)果取平均得到運(yùn)行一遍代碼的時間。

也可以使用 %timeit -r R -n N,以自定義的設(shè)置(運(yùn)行R次,每一次N遍)來運(yùn)行代碼并計時。例如:

nums1=list(range(10000))
%timeit -r 5 -n 400 nums2=[i+5 for i in nums1]

就是對代碼運(yùn)行 5 次, 每次 400 遍,最后對所有計時結(jié)果取平均,得到運(yùn)行一遍代碼的時間。結(jié)果如下:

705 µs ± 60.1 µs per loop (mean ± std. dev. of 5 runs, 400 loops each)

2.%%time 或 %%timeit:計算當(dāng)前單元(cell)的代碼運(yùn)行時間。

%%time 與 %time , %%timeit 與 %timeit 的計算方式相同,區(qū)別在于 % 是用于單行代碼的命令,%% 是應(yīng)用于當(dāng)前單元的命令。

需要注意的是,%%time 或者 %%timeit 必須在當(dāng)前單元的第一行。 并且,%%time 后不能跟代碼。例如:

%%time 
nums1=list(range(10000))
nums2=[i+5 for i in nums1]

結(jié)果為:

Wall time: 1.99 ms

%%timeit 后面可以跟代碼,這行代碼會運(yùn)行、但不會計入時間,從第二行開始計時。例如:

%%timeit nums1=list(range(10000))
nums2=[i+5 for i in nums1]

結(jié)果為:

685 µs ± 47 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

可以看到,這一結(jié)果與前面使用行命令 %timeit 的結(jié)果相近,因為 %%timeit 之后的代碼nums1=list(range(10000)) 運(yùn)行但是不計時。

再來看看 %%timeit 單獨(dú)放在第一行的結(jié)果:

%%timeit 
nums1=list(range(10000))
nums2=[i+5 for i in nums1]

結(jié)果為:

800 µs ± 52 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

這種情況下,會對代碼 nums1=list(range(10000)) 計時,因此運(yùn)行時間更長一點。

參考:

1.Ipython幫助文檔對于 %time 和 %timeit的講解

2.stackoverflow關(guān)于 %timeit 的一個問答,介紹了 %timeit 和 %%timeit

到此這篇關(guān)于Jupyter Notebook中%time和%timeit的使用詳解的文章就介紹到這了,更多相關(guān)Jupyter Notebook %time和%timeit內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • pytorch實現(xiàn)用CNN和LSTM對文本進(jìn)行分類方式

    pytorch實現(xiàn)用CNN和LSTM對文本進(jìn)行分類方式

    今天小編就為大家分享一篇pytorch實現(xiàn)用CNN和LSTM對文本進(jìn)行分類方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Pandas之drop_duplicates:去除重復(fù)項方法

    Pandas之drop_duplicates:去除重復(fù)項方法

    下面小編就為大家分享一篇Pandas之drop_duplicates:去除重復(fù)項方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • 用python完成一個分布式事務(wù)TCC

    用python完成一個分布式事務(wù)TCC

    這篇文章主要介紹了用python完成一個分布式事務(wù)TCC,文章里我們介紹了TCC的理論知識,也通過一個例子,完整給出了編寫一個TCC事務(wù)的過程,涵蓋了正常成功完成,以及成功回滾的情況,需要的朋友可以參考一下文章的具體內(nèi)容
    2021-10-10
  • Python2.6版本pip安裝步驟解析

    Python2.6版本pip安裝步驟解析

    這篇文章主要介紹了Python2.6版本pip安裝步驟解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • python如何修改文件時間屬性

    python如何修改文件時間屬性

    這篇文章主要介紹了python修改文件時間屬性的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-02-02
  • Python subprocess模塊功能與常見用法實例詳解

    Python subprocess模塊功能與常見用法實例詳解

    這篇文章主要介紹了Python subprocess模塊功能與常見用法,結(jié)合實例形式詳細(xì)分析了subprocess模塊功能、常用函數(shù)相關(guān)使用技巧,需要的朋友可以參考下
    2018-06-06
  • Python?datacompy?找出兩個DataFrames不同的地方

    Python?datacompy?找出兩個DataFrames不同的地方

    本文主要介紹了Python?datacompy?找出兩個DataFrames不同的地方,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧<BR>
    2022-05-05
  • Python實現(xiàn)微信消息防撤回功能的實例代碼

    Python實現(xiàn)微信消息防撤回功能的實例代碼

    這篇文章主要介紹了Python實現(xiàn)微信消息防撤回 ,需要的朋友可以參考下
    2019-04-04
  • python入門之Tkinter使用的方法詳解

    python入門之Tkinter使用的方法詳解

    作為Python開發(fā)者,圖形用戶界面(GUI)開發(fā)是必備技能之一,本文將介紹Python自帶的GUI工具包TKinter,這篇文章主要給大家介紹了關(guān)于python入門之Tkinter使用的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • Python機(jī)器學(xué)習(xí)庫scikit-learn安裝與基本使用教程

    Python機(jī)器學(xué)習(xí)庫scikit-learn安裝與基本使用教程

    這篇文章主要介紹了Python機(jī)器學(xué)習(xí)庫scikit-learn安裝與基本使用,較為詳細(xì)的介紹了機(jī)器學(xué)習(xí)庫scikit-learn的功能、原理、基本安裝與簡單使用方法,需要的朋友可以參考下
    2018-06-06

最新評論