我使用经过培训的AlexNet对我的数据库进行微调。现在,当我存储会话时,我得到了三个文件 model.ckpt.meta,model.ckpt.index,model.ckpt.data。 现在,如何使用新的权重和模型来预测其他图像。
另外,有没有办法以.npy格式存储权重?
答案 0 :(得分:0)
根据TensorFlow docs,您可以使用Saver对象保存变量,并使用相同的方法加载。如下:
# Create some variables.
v1 = tf.Variable(..., name="v1")
v2 = tf.Variable(..., name="v2")
saver = tf.train.Saver()
if training:
initialize()
train()
save_path = saver.save(sess, "/tmp/model.ckpt") # save your variables
if testing:
saver.restore(sess, "/tmp/model.ckpt") # load your variables
predict()
TensorFlow变量以自己的格式保存。要将变量保存为Numpy,您需要将会话中的张量作为numpy数组,然后使用Numpy docs中提到的Numpy保存/加载:
# After training
v1_np = sess.run(v1, your_data) # get numpy array from TensorFlow
np.save('/tmp/123', v1_np) # save to numpy format
# something else happens here
# Load the numpy variables
v1_np = vnp.load('/tmp/123.npy')
v1 = tf.Variable(v1_np) # initialize your tf variable with numpy values
为什么你想这样做是神秘的