Python Tensorflow错误'';无法为张量';输入:0';,其形状为';(?,2)和#x27'';
此代码出现以下错误: 文件“C:/Users/lourd/Desktop/Arquivos/programmaïO/treino/IA”,第56行,模块中 错误,u=sess.run([cost,optimizer],feed_dict={输入:inp,目标:out}) 文件“C:\Python\Python36\lib\site packages\tensorflow\Python\client\session.py”,第900行,正在运行 运行_元数据_ptr) 文件“C:\Python\Python36\lib\site packages\tensorflow\Python\client\session.py”,第1111行,正在运行 str(subfeed\u t.get\u shape())) ValueError:无法为具有形状“(?,2)”的张量“输入:0”馈送形状(4,1)的值 我的代码:Python Tensorflow错误'';无法为张量';输入:0';,其形状为';(?,2)和#x27'';,python,tensorflow,deep-learning,Python,Tensorflow,Deep Learning,此代码出现以下错误: 文件“C:/Users/lourd/Desktop/Arquivos/programmaïO/treino/IA”,第56行,模块中 错误,u=sess.run([cost,optimizer],feed_dict={输入:inp,目标:out}) 文件“C:\Python\Python36\lib\site packages\tensorflow\Python\client\session.py”,第900行,正在运行 运行_元数据_ptr) 文件“C:\Python\P
import tensorflow as tf
# Espaços reservados
inputs = tf.placeholder('float', [None, 2], name='input')
targets = tf.placeholder('float', name='Target')
# Variaveis
weight1 = tf.Variable(tf.random_normal(shape= [2, 3], stddev=0.02, name='Weight1'))
biases1 = tf.Variable(tf.random_normal(shape= [3], stddev=0.02), name='Biases1')
# Multiplicador
hlayer = tf.matmul(inputs, weight1)
hlayer += biases1
# Função de ativação
hlayer = tf.sigmoid(hlayer, name='hAtivador')
# Camada oculta crie camadas de saida e conclua a rede
weight2 = tf.Variable(tf.random_normal(shape=[3, 1], stddev=0.02), name='Weight2')
biases2 = tf.Variable(tf.random_normal(shape=[1], stddev=0.02), name='Biases2')
# Camada de saida
output = tf.matmul(hlayer, weight2)
output += biases2
output = tf.sigmoid(output, name='outActivation')
# Optimização para treinar
cost = tf.squared_difference(targets, output)
cost = tf.reduce_mean(cost)
optimizer = tf.train.AdamOptimizer().minimize(cost)
# sessao TensotFlow
import numpy as np
inp = [[0.1], [0.2], [1.0],[1.1]]
out = [[0], [1], [1], [0]]
inp = np.array(inp)
out = np.array(out)
# Começar a sessão
epochs = 4000
with tf.Session() as sess:
tf.global_variables_initializer().run()
for i in range(epochs):
error, _ =sess.run([cost,optimizer],feed_dict={inputs: inp,targets:out})
print(i,error)
# Teste
with tf.Session() as sess:
tf.global_variables_initializer().run()
for i in range(epochs):
error, _ = sess.run([cost, optimizer], feed_dict={inputs: inp, targets: out})
print(i, error)
while True:
a = input('Primeira entrada: ')
b = input('Segunda entrada: ')
inp = [[a, b]]
inp = np.array(inp)
prediction = sess.run([output], feed_dict={inputs: inp})
print(prediction)
提供给占位符的数据的形状与占位符的形状不一致
inputs = tf.placeholder('float', [None, 2], name='input')
vs
要么将
输入
形状更改为[None,1]
,要么为inp
的每个条目添加第二个值,我最终将数据放错了位置。其中.0和.1分别为0.1和0.2,这没有区别-形状仍然不一致。
inp = [[0.1], [0.2], [1.0],[1.1]]