- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在考虑将我的代码库移动到 tf.estimator.Estimator ,但我找不到如何将它与张量板摘要结合使用的示例。
MWE:
import numpy as np
import tensorflow as tf
tf.logging.set_verbosity(tf.logging.INFO)
# Declare list of features, we only have one real-valued feature
def model(features, labels, mode):
# Build a linear model and predict values
W = tf.get_variable("W", [1], dtype=tf.float64)
b = tf.get_variable("b", [1], dtype=tf.float64)
y = W*features['x'] + b
loss = tf.reduce_sum(tf.square(y - labels))
# Summaries to display for TRAINING and TESTING
tf.summary.scalar("loss", loss)
tf.summary.image("X", tf.reshape(tf.random_normal([10, 10]), [-1, 10, 10, 1])) # dummy, my inputs are images
# Training sub-graph
global_step = tf.train.get_global_step()
optimizer = tf.train.GradientDescentOptimizer(0.01)
train = tf.group(optimizer.minimize(loss), tf.assign_add(global_step, 1))
return tf.estimator.EstimatorSpec(mode=mode, predictions=y,loss= loss,train_op=train)
estimator = tf.estimator.Estimator(model_fn=model, model_dir='/tmp/tf')
# define our data set
x=np.array([1., 2., 3., 4.])
y=np.array([0., -1., -2., -3.])
input_fn = tf.contrib.learn.io.numpy_input_fn({"x": x}, y, 4, num_epochs=1000)
for epoch in range(10):
# train
estimator.train(input_fn=input_fn, steps=100)
# evaluate our model
estimator.evaluate(input_fn=input_fn, steps=10)
tf.summary.FileWriter
的钩子(Hook)?或者是其他东西?
最佳答案
编辑:
经过测试(在 v1.1.0 中,也可能在更高版本中),很明显 tf.estimator.Estimator
会自动为你写总结。我使用 OP 的代码和张量板确认了这一点。
(围绕 r1.4 的一些探索让我得出结论,这种自动摘要写入是由于 tf.train.MonitoredTrainingSession
造成的。)
最终,自动汇总是通过使用钩子(Hook)完成的,因此如果您想自定义 Estimator 的默认汇总,您可以使用钩子(Hook)来实现。以下是原始答案中的(已编辑)详细信息。
您需要使用 Hook ,以前称为 monitors . (Linked 是一个概念/快速入门指南;它的简短之处在于 Estimator API 中内置了 Hook /监控训练的概念。虽然有点令人困惑,但似乎并不推荐使用 Hook 监控器是真的记录在实际源代码中的弃用注释中...)
根据您的使用情况,它看起来像 r1.2 的 SummarySaverHook
适合你的账单。
summary_hook = tf.train.SummarySaverHook(
SAVE_EVERY_N_STEPS,
output_dir='/tmp/tf',
summary_op=tf.summary.merge_all())
EstimatorSpec
,您将获得自定义的摘要行为:
return tf.estimator.EstimatorSpec(mode=mode, predictions=y,loss=loss,
train_op=train,
training_hooks=[summary_hook])
summary_hook
进入
estimator.train(input_fn=input_fn, steps=5, hooks=[summary_hook])
.这不起作用,因为
tf.summary.merge_all()
必须在与模型图相同的上下文中调用。
关于python-3.x - 如何将张量板与 tf.estimator.Estimator 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43782767/
我按照此处描述的步骤从源代码在 MacBook Pro 10.12.5 上安装了 TensorFlow。 https://www.tensorflow.org/install/install_sour
大家。我一直坚持在 pytorch 中使用 tensorboard。关键是 add_embedding 方法会产生如下错误: Traceback (most recent call last):
问题陈述 运行具有多种配置的模型并比较图表。根据绘图分析,选择配置。 在上面的语句中,我能够使用模型的名称来绘制模型的多次运行。现在我还需要 Tensorboard 来显示每次运行的模型配置/摘要。
我正在使用 Google Colab 训练用于对象检测的神经网络。我想可视化学习过程,但每次我尝试访问张量板时,它都会向我显示以下内容: 当前数据集没有处于事件状态的仪表板。可能的原因: - 您尚未将
我正在尝试学习和使用 tensorboard 并关注 these guideline codes进行了一些修改。 当我运行代码时 model.fit(x=x_train, y=y_
我刚刚安装了基于 tf.__version__ = 1.14 的新环境。 以下是我配置张量板的方式: tensorboard = \ tf.keras.callbacks.TensorBoar
所以我在 keras 中使用张量板。在 tensorflow 中,可以对训练和验证标量使用两个不同的摘要编写器,以便 tensorboard 可以将它们绘制在同一图中。类似于 图在 TensorBoa
我是一名优秀的程序员,十分优秀!