Профилирование с помощью TensorBoard создает только один инструмент (trace_viewer) из 5 доступных на вкладке «Профиль». - PullRequest
0 голосов
/ 28 мая 2020

Я хочу профилировать 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])

Но этот даже не создает вкладку профиля, а только вкладку «графики».

Есть предложения?

...