Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ValueError when executing softmax_cross_entropy_with_logits

Tags:

I am following the tensorflow tutorial. There has been recent tensor flow update in which the cost function softmax_cross_entropy_with_logits() has been modified. Hence the code in the tutorial is giving the following error:

ValueError: Only call softmax_cross_entropy_with_logits with named arguments (labels=..., logits=..., ...)

What does it mean and how to rectify it?

Here's the entire code till that point:

import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("/tmp/data/", one_hot = True)  n_nodes_hl1 = 500 n_nodes_hl2 = 500 n_nodes_hl3 = 500  n_classes = 10 batch_size = 100  x = tf.placeholder('float', [None, 784]) y = tf.placeholder('float')  def neural_network_model(data): hidden_1_layer = {'weights':tf.Variable(tf.random_normal([784, n_nodes_hl1])),                   'biases':tf.Variable(tf.random_normal([n_nodes_hl1]))}  hidden_2_layer = {'weights':tf.Variable(tf.random_normal([n_nodes_hl1, n_nodes_hl2])),                   'biases':tf.Variable(tf.random_normal([n_nodes_hl2]))}  hidden_3_layer = {'weights':tf.Variable(tf.random_normal([n_nodes_hl2, n_nodes_hl3])),                   'biases':tf.Variable(tf.random_normal([n_nodes_hl3]))}  output_layer = {'weights':tf.Variable(tf.random_normal([n_nodes_hl3, n_classes])),                 'biases':tf.Variable(tf.random_normal([n_classes])),}   l1 = tf.add(tf.matmul(data,hidden_1_layer['weights']), hidden_1_layer['biases']) l1 = tf.nn.relu(l1)  l2 = tf.add(tf.matmul(l1,hidden_2_layer['weights']), hidden_2_layer['biases']) l2 = tf.nn.relu(l2)  l3 = tf.add(tf.matmul(l2,hidden_3_layer['weights']), hidden_3_layer['biases']) l3 = tf.nn.relu(l3)  output = tf.matmul(l3,output_layer['weights']) + output_layer['biases']  return output  def train_neural_network(x): prediction = neural_network_model(x) cost = tf.reduce_mean( tf.nn.softmax_cross_entropy_with_logits(prediction,y) ) optimizer = tf.train.AdamOptimizer().minimize(cost) 
like image 332
suku Avatar asked Feb 17 '17 11:02

suku


1 Answers

Change

tf.nn.softmax_cross_entropy_with_logits(prediction,y) 

to

tf.nn.softmax_cross_entropy_with_logits(logits=prediction, labels=y) 
like image 102
nessuno Avatar answered Sep 20 '22 16:09

nessuno