psutil - хорошая рекомендация для сбора информации такого типа. Если вы включите этот код в свой существующий код keras, вы сможете собирать информацию об использовании процессором вашего процесса во время вызова метода cpu_times ()
import psutil
process = psutil.Process()
print(process.cpu_times())
Значение значения, возвращаемого функцией cpu_times (), объясняется здесь . Он кумулятивный, поэтому, если вы хотите узнать, сколько процессорного времени вообще использовал ваш код keras, просто запустите его перед выходом из скрипта python.
Чтобы получить информацию об использовании памяти для вашего процесса, в конкретный момент времени, когда вы делаете вызов memory_info (), вы можете запустить его на том же process
объекте, который мы объявили ранее
print(process.memory_info())
Точное значение результатов процессора и памяти зависит от используемой вами платформы. Информационная структура памяти поясняется здесь
Более подробный пример показывает, как вы могли бы использовать Advanced Python Scheduler для измерения процессора и памяти в фоновом режиме во время тренировки с керасом
import psutil
import time
import os
from apscheduler.schedulers.background import BackgroundScheduler
process = psutil.Process()
def get_info():
print(process.cpu_times(), process.memory_info())
if __name__ == '__main__':
scheduler = BackgroundScheduler()
scheduler.add_job(get_info, 'interval', seconds=3)
scheduler.start()
# run the code you want to measure here
# replace this nonsense loop
now = time.time()
finish = now + 60
while time.time() < finish:
print("Some progress message: {}".format(time.time()))
time.sleep(10)