分析keras模型时出错

时间:2018-07-12 08:47:20

标签: tensorflow keras

我想根据此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())

错误

  

(('目前不支持session_kwargs中的某些键:%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())

我还在github上发现了这个issue,这表明尚未使用Keras模型进行性能分析。我很困惑。

有人知道如何解决吗?

1 个答案:

答案 0 :(得分:1)

有一个拉取请求可解决此问题:https://github.com/tensorflow/tensorflow/pull/19932

它还没有被合并到母版中,但是我可以通过在本地合并它,或者简单地将更改手动应用于已安装的tensorflow库来使其工作