Я хочу профилировать CNN, чтобы узнать, какие слои занимают больше времени.
Сначала я импортирую свою модель, созданную в Keras, и загружаю параметры, которые я уже обучил
model = my_model.model_arch(parameters)
model.load_weights(weights_path)
Затем я включаю трассировку
logdir = 'logs'
writer = tf.summary.create_file_writer(logdir)
tf.summary.trace_on(graph=True, profiler=True)
Затем я вычисляю прогноз:
prediction_1=model.predict(x=input,steps=steps_1)
И, наконец, я записываю трассировки:
with writer.as_default():
tf.summary.trace_export(name="model_trace", step=0, profiler_outdir='logs/trace')
Однако я не могу увидеть что-нибудь кроме "trace_viewer" на вкладке "профиль". В частности, меня интересует инструмент «Статистика TensorFlow» (как показано в https://www.tensorflow.org/guide/profiler). Я также пробовал другой подход с обратными вызовами:
logdir = 'logs'
model = my_model.model_arch(parameters)
model.load_weights(weights_path)
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=logdir, histogram_freq=1, profile_batch = '1', write_graph=True, write_images=True)
prediction_1=model.predict(x=input,steps=steps_1,callbacks=[tensorboard_callback])
Но этот даже не создает вкладку профиля, а только вкладку «графики».
Есть предложения?