Python 声明变量占位符时出错

Python 声明变量占位符时出错,python,tensorflow,neural-network,pycharm,Python,Tensorflow,Neural Network,Pycharm,我正在使用Pycharm、tensorflow 2.4和python v3.8.5构建示例神经网络。运行此命令时: X = tf.placeholder("float", [None, num_input]) #num_input is the sized of input vector 我得到一个类似这样的错误: raise TypeError("Error converting %s to a TensorShape: %s." % (arg_

我正在使用Pycharm、tensorflow 2.4和python v3.8.5构建示例神经网络。运行此命令时:

X = tf.placeholder("float", [None, num_input])   #num_input is the sized of input vector 
我得到一个类似这样的错误:

raise TypeError("Error converting %s to a TensorShape: %s." % (arg_name, e))

TypeError: Error converting shape to a TensorShape: Dimension value must be integer or None or have an __index__ method, got value '8.0' with type '<class 'numpy.float64'>'.
raisetypeerror(“将%s转换为张量形状时出错:%s.%(参数名称,e))
TypeError:将形状转换为TensorShape时出错:维度值必须为整数或无,或者具有_索引_______方法,获取了类型为“”的值“8.0”。
这个错误有什么问题?提前感谢

这一行(tf.placeholder)是为tensorflow 1启用的,但是您已经安装了tensorflow 2。禁用Tf2并在Tf1上运行后端

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
X = tf.placeholder("float", [None, 8])

print(X)
<tf.Tensor 'Placeholder:0' shape=(?, 8) dtype=float32>
将tensorflow.compat.v1导入为tf
tf.disable_v2_behavior()
X=tf.placeholder(“float”[None,8])
打印(X)

谢谢,我正在使用这两行代码;将tensorflow.compat.v1导入为tf tf.disable_v2_behavior()。我认为Tf1比Tf2更稳定,因此我尝试通过安装Tf1而不是Tf2来解决此问题。祝您编码愉快!!