繁体   English   中英

使用tf.train.Saver加载模型检查点时,如何修改张量形状?

[英]How do I modify tensor shape when loading a model checkpoint with tf.train.Saver?

我用固定的批次大小训练了RNN,但是现在我想修改我用tf.train.Saver保存的图, tf.train.Saver批次大小为1以进行推理。 我该怎么办?

session = tf.InteractiveSession()
saver = tf.train.import_meta_graph('model.ckpt.meta')
saver.restore(session, 'model.ckpt')

实现此目的的一种方法是在测试时重建不同的网络(尽管兼容),并将恢复限制为仅权重。

培训期间,

net = make_my_net(batch_size)
...
saver.save(session, model_name)

在测试期间,

net = make_my_net(1)
...
saver.restore(session, model_name)

稍后将用之前保存的变量替换变量的值(包括网络权重)。 您不必根据文档初始化将要覆盖的变量,尽管我相信并非总是如此。

请注意,重建其他网络可让您有机会构建更干净的测试网络,例如,通过删除诸如辍学之类的图层。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM