Gic*_*ica 6 python tensorflow tensorboard
我正在尝试将Tensorboard中的Beholder插件实现为简单的CNN代码(我是Tensorflow的初学者),但是我不确定将放置在哪里visualizer.update(session=session)。一开始我有:
from tensorboard.plugins.beholder import Beholder
LOG_DIRECTORY='/tmp/tensorflow_logs'
visualizer = Beholder(logdir=LOG_DIRECTORY)
Run Code Online (Sandbox Code Playgroud)
我像这样训练我的模型:
model = Sequential()
model.add(Conv2D(32, (3, 3), input_shape=(253,27,3)))
.
.
.
model.compile(loss='binary_crossentropy',
optimizer='rmsprop',
metrics=['accuracy'])
Run Code Online (Sandbox Code Playgroud)
我应该在哪里visualizer.update(session=session)以及应该在代码中另外放置什么,因为目前它说没有找到Beholder数据。谢谢!
创建自定义 Keras 回调是合适的,这样您就可以visualizer.update(session=session)在每个 epoch 结束时(或您想要的任何时候)调用。下面的示例显示了此类回调的外观:
from tensorboard.plugins.beholder import Beholder\nimport tensorflow as tf\nimport keras.backend as K\nimport keras\n\nLOG_DIRECTORY=\'/tmp/tensorflow_logs\'\n\n\nclass BeholderCallback(keras.callbacks.Callback):\n def __init__(self, tensor, logdir=LOG_DIRECTORY, sess=None):\n self.visualizer = Beholder(logdir=logdir)\n self.sess = sess\n if sess is None:\n self.sess = K.get_session()\n self.tensor = tensor\n\n def on_epoch_end(self, epoch, logs=None):\n frame = self.sess.run(self.tensor) # depending on the tensor, this might require a feed_dict\n self.visualizer.update(\n session=self.sess,\n frame=frame\n )\nRun Code Online (Sandbox Code Playgroud)\n\n然后,在定义模型后,实例化回调并将其传递给model.fit:
\n\n# Define your Keras model\n# ...\n\n#\xc2\xa0Prepare callback\nsess = K.get_session() \nbeholder_callback = BeholderCallback(your_tensor, sess=sess)\n\n# Fit data into model and pass callback to model.fit\nmodel.fit(x=x_train,\n y=y_train,\n callbacks=[beholder_callback])\nRun Code Online (Sandbox Code Playgroud)\n\n您也可以以类似的方式使用arrays的参数。visualizer.update
| 归档时间: |
|
| 查看次数: |
179 次 |
| 最近记录: |