셀의 원래 출력 외에도 셀 실행에 소요되는 시간을 얻고 싶습니다.
이를 위해 시도 %%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 매직 기능 확인
