【发布时间】:2017-04-27 19:13:50
【问题描述】:
我使用 tf 制作了两个独立的模型。在训练期间,我单独保存了每一个。现在我想同时使用它们。我可以使用第一个,但是当我尝试加载第二个时,我收到了这条消息(部分):
I tensorflow/core/common_runtime/gpu/gpu_device.cc:1041] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 850M, pci bus id: 0000:0a:00.0)
W tensorflow/core/framework/op_kernel.cc:968] Invalid argument: Assign requires shapes of both tensors to match. lhs shape= [5,5,32,64] rhs shape= [1024,2]
[[Node: save_1/Assign_16 = Assign[T=DT_FLOAT, _class=["loc:@Variable_6"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/gpu:0"](Variable_6, save_1/restore_slice_16/_47)]]
还有一条消息表明错误发生在代码的“恢复”部分。这是该代码的 sn-p:
def save(self):
filename = self.save_name
folder = self.ckpt_folder + os.sep + "ckpt"
if not os.path.exists(folder) :
os.makedirs(folder)
saver = tf.train.Saver()
save_path = saver.save(self.sess, folder + os.sep + self.ckpt_name + "."+ filename)
print ("saved?", filename)
def load(self):
filename = self.save_name
file = self.ckpt_folder + os.sep + "ckpt" + os.sep + self.ckpt_name +"."+ filename
if os.path.isfile(file) :
saver = tf.train.Saver()
saver.restore(self.sess, file)
print ("load?", filename)
上面的函数,特别是 load() 是在 session 对象初始化后由模型调用的。如何从我已经保存的数据中同时运行两个 tf 模型?
【问题讨论】:
标签: python neural-network tensorflow