gpt4 book ai didi

python - 使用 tensorflow 估计器进行训练和验证

转载 作者:行者123 更新时间:2023-11-30 09:06:37 25 4
gpt4 key购买 nike

我使用 tf.estimator API 创建了一个浅层神经网络。我想要类似于此处解释的超参数搜索 https://www.youtube.com/watch?time_continue=948&v=eBbEDRsCmv4在 TensorFlow 开发峰会上。

我找不到任何有关如何执行此操作的更新文档。我有以下代码(我会尽力简化):

# Define nn architecture
def neural_net(features):
input_layer = tf.cast(features['x'], tf.float32)
hidden_layer = nn_layer(input_layer, 10, 'hidden_layer', act=tf.nn.relu)
out_layer = nn_layer(hidden_layer, 2, 'out_layer', act=tf.nn.relu)
return out_layer

# Define model function
def model_fn(features, labels, mode):
# Build the neural network
logits = neural_net(features<9


with tf.name_scope('loss'):
# Define loss and optimizer
loss = tf.losses.sparse_softmax_cross_entropy(logits=logits, labels=labels)

# Configure the Training
if mode == tf.estimator.ModeKeys.TRAIN:
optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.001)
train_op = optimizer.minimize(
loss=loss,
global_step=tf.train.get_global_step())

return tf.estimator.EstimatorSpec(mode=mode, loss=loss, train_op=train_op)


nn_classifier = tf.estimator.Estimator(model_fn=model_fn)


train_input_fn = tf.estimator.inputs.numpy_input_fn(
x={"x": train_data},
y=train_labels,
batch_size=100,
num_epochs=None,
shuffle=True)

nn_classifier.train(
input_fn=train_input_fn,
steps=20000
)

执行此代码,我可以获得损失的摘要并在 Tensorboard 中观察它。但想象一下我想要获得不同的曲线。假设我想看看损失如何随着样本数量的变化而变化,所以我会训练两个具有不同样本大小的模型。或者两个具有不同架构的模型......无论如何。

如何在 Tensorboard 中获取这两条曲线?

最佳答案

将所有模型保存到父目录的子目录中,并将该父目录作为tensorboard中的logdir传递;这会将所有曲线放在同一个图表中。

关于python - 使用 tensorflow 估计器进行训练和验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50724495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com