【Python】 처리마다 소요 시간이 명확해지는 스마트 with 문 + @contextmanager 사용법
처리의 소요 시간이 명확한 코드는 고맙다.
기계 학습 로직을 작성하는 방법은 각 사람이지만,
개인적으로 기계 학습의 코드를 보고 「이케 하고 있다...
역시 기계 학습은 처리에 시간이 걸리므로, 시간에 관한 정보가 명확한 코드는 배려가 세심하고 있다고 느낍니다.
처리 소요 시간은 with 문과 contextmanager를 사용하여 간결하게 출력할 수 있습니다.
아래 템플릿을 참조하세요.
코드 템플릿
script.py
import time
from contextlib import contextmanager
from time import sleep
@contextmanager
def timer(title):
t0 = time.time()
yield
print("{} - done in {:.0f}s".format(title, time.time() - t0))
def data_import():
sleep(10)
def data_preprocessing():
sleep(20)
def train():
sleep(30)
def main():
with timer("Process data_import"):
data_import()
with timer("Process data_preprocessing"):
data_preprocessing()
with timer("Process train"):
train()
if __name__ == "__main__":
with timer("Full model run"):
main()
실행 결과
Process data_import - done in 10s
Process data_preprocessing - done in 20s
Process train - done in 30s
Full model run - done in 60s
각 방법에서 처리 시간,
그리고 마지막으로 전체 처리의 소요 시간이 출력됩니다.
이상, 꼭 활용해 주세요!
Reference
이 문제에 관하여(【Python】 처리마다 소요 시간이 명확해지는 스마트 with 문 + @contextmanager 사용법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hiroyuki_kageyama/items/889bfd73d92bfc7769cf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Process data_import - done in 10s
Process data_preprocessing - done in 20s
Process train - done in 30s
Full model run - done in 60s
Reference
이 문제에 관하여(【Python】 처리마다 소요 시간이 명확해지는 스마트 with 문 + @contextmanager 사용법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hiroyuki_kageyama/items/889bfd73d92bfc7769cf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)