首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >即编写神经网络预测代码

即编写神经网络预测代码
EN

Stack Overflow用户
提问于 2018-05-23 12:29:35
回答 1查看 32关注 0票数 0

predict.csv:

代码语言:javascript
复制
AlAin,Y1,Y2,Y3,Y4,Y5,Y6,K,1,2,3,4,5,6,d
1,0,0,1,0,0,0,0,0,0,1,0,0,0,1

人工神经网络预测部分的代码:

代码语言:javascript
复制
with tf.Session() as sess:
    predictdataset=pd.read_csv('predict.csv')
    y_predict=(sess.run(tf.argmax(y4.eval(feed_dict={x:[predictdataset]}),1)))
    print(y_predict)

我得到一个'KeyError: 0‘错误。

以前的训练和测试代码

x=tf.placeholder(tf.float32,None,15) y=tf.placeholder(tf.float32,None,1)

代码语言:javascript
复制
layer_1=128
layer_2=64
layer_3=32
layer_out=1

weight_1 = tf.Variable(tf.truncated_normal([15, layer_1], stddev=0.1))
bias_1 = tf.Variable(tf.constant(0.1, shape=[layer_1]))
weight_2 = tf.Variable(tf.truncated_normal([layer_1, layer_2], stddev=0.1))
bias_2 = tf.Variable(tf.constant(0.1, shape=[layer_2]))
weight_3 = tf.Variable(tf.truncated_normal([layer_2, layer_3], stddev=0.1))
bias_3 = tf.Variable(tf.constant(0.1, shape=[layer_3]))

weight_4 = tf.Variable(tf.truncated_normal([layer_3, layer_out], stddev=0.1))
bias_4 = tf.Variable(tf.constant(0.1, shape=[layer_out]))

y1=tf.nn.relu(tf.matmul(x,weight_1)+bias_1)
y2=tf.nn.relu(tf.matmul(y1,weight_2)+bias_2)
y3=tf.nn.relu(tf.matmul(y2,weight_3)+bias_3)
logits=tf.matmul(y3,weight_4)+bias_4

y4=tf.nn.softmax(logits)

xent = tf.nn.softmax_cross_entropy_with_logits(logits=logits, labels=y)
loss = tf.reduce_mean(xent)

correct_prediction = tf.equal(tf.argmax(y4, 1), tf.argmax(y, 1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32)) # Başarı oranı

optimize = tf.train.AdamOptimizer(0.001). minimize(loss)

sess = tf.Session()
sess.run(tf.global_variables_initializer()) 
EN

回答 1

Stack Overflow用户

发布于 2018-05-23 13:53:21

我看到了几个非常基本的问题。您可能应该阅读一些TensorFlow教程来解释它的图形计算模型:

y4.eval(feed_dict={x:[predictdataset]})

  • You中,您不能像在y4.eval(feed_dict={x:[predictdataset]})

  • TensorFlow操作中那样使用列表作为提要值,您不能像在
  • 中那样,将熊猫DataFrame作为张量值。传递可以转换为张量的参数是可以的,但在您的示例中,这几乎与TensorFlow的目的背道而驰。计算张量只是为了将其传递给tf.argmax(y4.eval(feed_dict={x:[predictdataset]}),1))中的tf.argmax。您应该直接传递y4
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50479813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档