Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.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 3.x Tensorflow:还原的变量具有意外的形状_Python 3.x_Tensorflow - Fatal编程技术网

Python 3.x Tensorflow:还原的变量具有意外的形状

Python 3.x Tensorflow:还原的变量具有意外的形状,python-3.x,tensorflow,Python 3.x,Tensorflow,当我保存我的tensorflow模型并恢复它时,它有错误的形状变量,我不知道为什么 这是我的密码: import os import tensorflow as tf X = tf.placeholder(tf.float32, shape=[None, 2], name="X") Y = tf.placeholder(tf.float32, shape=[None, 1], name="Y") W = tf.Variable(tf.random_normal([2, 1]), name="we

当我保存我的tensorflow模型并恢复它时,它有错误的形状变量,我不知道为什么

这是我的密码:

import os
import tensorflow as tf
X = tf.placeholder(tf.float32, shape=[None, 2], name="X")
Y = tf.placeholder(tf.float32, shape=[None, 1], name="Y")
W = tf.Variable(tf.random_normal([2, 1]), name="weight")
b = tf.Variable(tf.random_normal([1]), name="bias")

hypo = tf.sigmoid(tf.matmul(X, W) +b)

cost = -tf.reduce_mean(Y*(tf.log*(hypo)) + (1-Y)*(tf.log(1-hypo)))
optimizer = tf.train.GradientDescentOptimizer(learning_rate=1e-3)
train = optimizer.minimize(cost)

#### Saving model
SAVER_DIR = "model"
saver = tf.train.Saver()
checkpoint_path = os.path.join(SAVER_DIR, "model")
ckpt = tf.train.get_checkpoint_state(SAVER_DIR)

sess = tf.Session()
sess.run(tf.global_variables_initializer())
for step in range(2001):
    cost_val, hy_val, _ = sess.run([cost, hypo, train], feed_dict={X:x_dat, Y=y_dat})

saver.save(sess, checkpoint_path, global_step=step)
输入数据“x_dat”由两列组成,“y_dat”为单列

我制作了[?,2]形占位符“X”,和[2,1]变量“W”

之后,我恢复了模型并用以下代码检查了形状:

#### Restoring model
sess = tf.Session()
sess.run(tf.global_variables_initializer())
saver = tf.train.import_meta_graph('./model/model-2000.meta')
saver.restore(sess,'./model/model-2000')

op = sess.graph.get_operations()
for m in op :
    print(m.values())
结果:

(<tf.Tensor 'X:0' shape=(?, 1) dtpye=float32>,)
(<tf.Tensor 'Y:0' shape=(?, 1) dtpye=float32>,)
...
(<tf.Tensor 'weight:0' shape=(1, 1) dtpye=float32_ref>,)
...
(<tf.Tensor 'bias:0' shape=(1,) dtpye=float32_ref>,)
(,)
(,)
...
(,)
...
(,)
为什么X和权重张量的形状与我保存的模型不同? 如何将输入数据用作此恢复模型的两列