[英]Export and import tensorflow network for evaluating states in application
[英]error evaluating network in tensorflow
我正在嘗試通過保護程序加載已保存的模型,並根據測試數據評估網絡的輸出,還原已保存的模型並將網絡用作功能:
def model(x, x_size):
with tf.variable_scope("my_net", reuse=tf.AUTO_REUSE):
W1 = tf.get_variable('w1', [x_size, x_size],
initializer=tf.random_normal_initializer())
b1 = tf.get_variable('b1', [x_size],
initializer=tf.random_normal_initializer())
y1 = tf.nn.relu(tf.matmul(x, W1) + b1,'y1')
return y1
eval_x = tf.placeholder(tf.float32, name='eval_x', shape=[None, x_size])
eval_probs = model(eval_x, x_size)
with tf.Session() as sess:
new_saver = tf.train.import_meta_graph('save_model/model.ckpt.meta')
new_saver.restore(sess, "save_model/model.ckpt")
probs = sess.run(eval_probs, feed_dict={eval_x: test_x})
我得到的錯誤是:
FailedPreconditionError(請參閱上面的回溯):嘗試使用未初始化的值my_net / w1 [[節點:my_net / w1 / read = IdentityT = DT_FLOAT,_class = [“ loc:@ my_net / w1”],_device =“ / job:localhost /復制:0 /任務:0 /裝置:CPU:0" ]]
有人可以幫忙嗎?
您需要運行特殊的操作來初始化變量w1
。 一種簡單的方法是在創建會話之后但使用變量之前執行sess.run(tf.global_variables_initializer())
。
從代碼看來,您沒有傳遞任何值
x_size
所以我認為您的變量不會被初始化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.