Multiplying Two Tensors
I have the two tensors in Tensorflow, which have the following two shapes: print(tf.valid_dataset.get_shape()) print(weights1.get_shape()) Has the result: (10000, 784) (784, 1024)
Solution 1:
Your code seems correct. Please check again. Verify it by running the below code:
num_hidden_nodes=1024
batch_size = 1000
learning_rate = 0.5
image_size = 28
num_labels = 10
tf_train_dataset = tf.placeholder(tf.float32, shape=(batch_size, image_size*image_size))
tf_train_labels = tf.placeholder(tf.float32, shape=(batch_size, num_labels))
# tf.valid_dataset = tf.constant(valid_dataset)
# tf.test_dataset = tf.constant(test_dataset)
weights1 = tf.Variable(tf.truncated_normal([image_size * image_size, num_hidden_nodes]))
biases1 = tf.Variable(tf.zeros([num_hidden_nodes]))
weights2 = tf.Variable(tf.truncated_normal([num_hidden_nodes, num_labels]))
biases2 = tf.Variable(tf.zeros([num_labels]))
weights = [weights1, biases1, weights2, biases2]
lay1_train = tf.nn.relu(tf.matmul(tf_train_dataset, weights1) + biases1)
logits = tf.matmul(lay1_train, weights2) + biases2
loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=logits, labels=tf_train_labels))
optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(loss)
sess.run(tf.initialize_all_variables())
input_data = np.random.randn(batch_size, 784)
input_labels = [np.random.randint(0,10) for _ in xrange(batch_size)]
import sklearn.preprocessing
label_binarizer = sklearn.preprocessing.LabelBinarizer()
transformed_labels = label_binarizer.fit_transform(input_labels)
sess.run(optimizer,feed_dict={tf_train_dataset:input_data, tf_train_labels:transformed_labels})
Post a Comment for "Multiplying Two Tensors"