gpt4 book ai didi

python - 在没有 slim.learning.train() 的情况下使用 Tensorflow TF-Slim

转载 作者:太空宇宙 更新时间:2023-11-03 12:02:35 24 4
gpt4 key购买 nike

TF-Slim 使用自己的训练循环。但是,我想使用 TF-Slim 模型 (Resnet50),同时仍然使用我自己的 tensorflow 训练循环。 TF-Slim 模型只是输出预测,然后我计算自己的总损失。我能够毫无错误地训练模型,并且训练错误似乎收敛了。我问是因为我在评估期间遇到了批量归一化问题(与训练误差相比误差非常高)。我发现这可能是由于训练步骤不足造成的。但我想确保我没有错误地使用 TF-Slim。

TF-Slim 的训练过程是这样的:

#create_train_op ensures that each time we ask for the loss, the 
update_ops
# are run and the gradients being computed are applied too.

train_op = slim.learning.create_train_op(total_loss, optimizer)
logdir = ... # Where checkpoints are stored.

slim.learning.train(
train_op,
logdir,
number_of_steps=1000,
save_summaries_secs=300,
save_interval_secs=600):

我不想使用train_op但是像这样

def update_gradients(update_ops, optimizer, total_loss, variables_to_train, global_step, summaries):
for grad, var in gradients:
if grad is not None:
summaries.add(tf.summary.histogram(var.op.name + '/gradients', grad))
grad_updates = optimizer.apply_gradients(gradients,
global_step=global_step)
update_ops.append(grad_updates)

update_op = tf.group(*update_ops)
with tf.control_dependencies([update_op]):
train_tensor = tf.identity(total_loss, name='train_op')
return train_tensor

然后调用sess.run(train_tensor)

这会在内部引起任何问题吗?我在这里读到应该使用 train_op:github issues

或者是不允许将例如 train_tensor 传递到 slim.learning.train() 直接运行?

最佳答案

我认为你可以尝试覆盖 slim.learning.train() 的参数列表中的 train_step_fn 来实现它

关于python - 在没有 slim.learning.train() 的情况下使用 Tensorflow TF-Slim,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44369471/

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