[python] ipython 노트북에서 셀 실행 시간을 측정하는 간단한 방법

셀의 원래 출력 외에도 셀 실행에 소요되는 시간을 얻고 싶습니다.

이를 위해 시도 %%timeit -r1 -n1했지만 셀 내에 정의 된 변수를 노출하지 않습니다.

%%time 하나의 문장 만 포함하는 셀에서 작동합니다.

In[1]: %%time
       1
CPU times: user 4 µs, sys: 0 ns, total: 4 µs
Wall time: 5.96 µs
Out[1]: 1

In[2]: %%time
       # Notice there is no out result in this case.
       x = 1
       x
CPU times: user 3 µs, sys: 0 ns, total: 3 µs
Wall time: 5.96 µs

가장 좋은 방법은 무엇입니까?

최신 정보

나는 지금 꽤 오랫동안 Nbextension에서 Execute Time을 사용하고 있습니다. 훌륭합니다.



답변

Phillip Cloud의 github에서 cell magic 및이 프로젝트를 사용하십시오.

항상 기본적으로로드하려면 노트북 상단에 이것을 넣거나 구성 파일에 넣으십시오.

%install_ext https://raw.github.com/cpcloud/ipython-autotime/master/autotime.py
%load_ext autotime

로드되면, 후속 셀 실행의 모든 ​​출력에는 실행에 소요 된 시간 (분 및 초)이 포함됩니다.


답변

이 문제를 극복하는 유일한 방법은 print로 마지막 문장을 실행하는 것입니다.

셀 매직은로 시작 %%하고 라인 매직은로 시작 한다는 것을 잊지 마십시오% .

%%time
clf = tree.DecisionTreeRegressor().fit(X_train, y_train)
res = clf.predict(X_test)
print(res)

셀 내부에서 수행 된 모든 변경 사항은 다음 셀에서 고려되지 않습니다. 파이프 라인이있을 때는 직관적이지 않습니다.
예


답변

%time그리고 %timeit이제 와서 ipython의 일부 기능이 내장되어있어 마법 명령


답변

더 쉬운 방법은 jupyter_contrib_nbextensions 패키지에서 ExecuteTime 플러그인을 사용하는 것입니다.

pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
jupyter nbextension enable execute_time/ExecuteTime


답변

나는 단순히 %%time세포의 시작 부분에 추가 하고 시간을 얻었다. Jupyter Spark 클러스터 / 가상 환경에서도 동일하게 사용할 수 있습니다. %%time셀 상단에 추가 하면 출력을 얻을 수 있습니다. Jupyter를 사용하는 스파크 클러스터에서 셀 상단에 추가하고 다음과 같이 출력했습니다.

[1]  %%time
     import pandas as pd
     from pyspark.ml import Pipeline
     from pyspark.ml.classification import LogisticRegression
     import numpy as np
     .... code ....

Output :-

CPU times: user 59.8 s, sys: 4.97 s, total: 1min 4s
Wall time: 1min 18s


답변

import time
start = time.time()
"the code you want to test stays here"
end = time.time()
print(end - start)


답변

이를 위해 timeit마법 기능을 사용할 수 있습니다 .

%timeit CODE_LINE

아니면 세포에

%%timeit

SOME_CELL_CODE

https://nbviewer.jupyter.org/github/ipython/ipython/blob/1.x/examples/notebooks/Cell%20Magics.ipynb 에서 더 많은 IPython 매직 기능 확인