Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用tf.train.Saver加载模型检查点时,如何修改张量形状?_Python_Tensorflow - Fatal编程技术网

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

Python 使用tf.train.Saver加载模型检查点时,如何修改张量形状?,python,tensorflow,Python,Tensorflow,我训练了一个具有固定批量大小的RNN,但现在我想修改我用tf.train.Saver保存的图形,使其批量大小为1以进行推断。我该怎么办 session = tf.InteractiveSession() saver = tf.train.import_meta_graph('model.ckpt.meta') saver.restore(session, 'model.ckpt') 实现这一点的一种方法是在测试时重建一个不同的(尽管兼容)网络,并将恢复限制为仅重量 在训练中, net = ma

我训练了一个具有固定批量大小的RNN,但现在我想修改我用
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)
后者将用先前保存的变量值替换变量值(包括网络权重)。您不必根据初始化将要覆盖的变量,尽管我相信情况并非总是如此

请注意,重建不同的网络可以让您有机会构建更干净的测试网络,例如通过删除层(如辍学层)