我想根据这个 comment on github 分析我的 Keras 模型.我将 tf.Keras API 与 Tensorflow 版本:1.9.0-rc2 和 Keras 版本:2.1.6-tf 一起使用。
run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
run_metadata = tf.RunMetadata()
training_set = load_datasets(...)
model.compile(loss=helpers.mean_categorical_crossentropy,optimizer='adam',options=run_options,run_metadata=run_metadata)
model.fit(training_set.make_one_shot_iterator(), steps_per_epoch=steps_per_epoch_train,epochs=num_epochs, verbose=2)
trace = timeline.Timeline(step_stats=run_metadata.step_stats)
with open('timeline.ctf.json', 'w') as f:
f.write(trace.generate_chrome_trace_format())
错误
('Some keys in session_kwargs are not supported at this time: %s', dict_keys(['options', 'run_metadata']))
在另一个 github post有人给出了这个例子,它以某种方式运行而没有错误。然而,我得到了与上面相同的错误。
import keras
from keras.layers.core import Dense
from keras.models import Sequential
import tensorflow as tf
from tensorflow.python.client import timeline
import numpy as np
x = np.random.randn(10000, 2)
y = (x[:, 0] * x[:, 1]) > 0 # xor
run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
run_metadata = tf.RunMetadata()
model = Sequential()
model.add(Dense(units=64, activation='relu', input_dim=2))
model.add(Dense(units=2, activation='softmax'))
model.compile(loss='categorical_crossentropy',
optimizer='sgd',
options=run_options,
run_metadata=run_metadata)
model.fit(x, keras.utils.to_categorical(y), epochs=1)
trace = timeline.Timeline(step_stats=run_metadata.step_stats)
with open('timeline.ctf.json', 'w') as f:
f.write(trace.generate_chrome_trace_format())
我也发现了这个 issue在 github 上,这表明尚未实现使用 Keras 模型进行分析。我很迷惑。
有谁知道如何解决它?
最佳答案
有一个拉取请求可以解决这个问题:https://github.com/tensorflow/tensorflow/pull/19932
它尚未合并以掌握,但我通过在本地合并它来使其工作,或者只是将更改手动应用于已安装的 tensorflow 库
关于tensorflow - 分析 keras 模型时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51301092/