导入数据集
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("model_data/",one_hot=True)
创建训练和测试集
X_train = mnist.train.images
Y_train = mnist.train.labels
X_test = mnist.test.images
Y_test = mnist.test.labels
X_orig = X_train.reshape(55000,28,28)
我的模型
def model(X_train,Y_train,X_test,Y_test,learning_rate = 0.009,num_epochs = 100,minibatch_size = 64,print_cost = True):
print("weeeeeeeeeeeeeeeeeee")
ops.reset_default_graph()
tf.set_random_seed(1)
seed = 3
(m,n_x) = X_train.shape
n_y = Y_train.shape[1]
costs = []
X,Y = create_placeholders(n_x,n_y)
parameters = initialize_parameters()
Z3 = forward_propagation(X,parameters)
cost = compute_cost(Z3,Y)
optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
for epoch in range(num_epochs):
minibatch_cost = 0.
num_minibatches = int(m / minibatch_size) # number of minibatches of size minibatch_size in the train set
seed = seed + 1
minibatches = random_mini_batches(X_train,minibatch_size,seed)
for minibatch in minibatches:
(minibatch_X,minibatch_Y) = minibatch
_,temp_cost = sess.run([optimizer,cost],feed_dict={X:minibatch_X,Y:minibatch_Y})
minibatch_cost += temp_cost / num_minibatches
if print_cost == True and epoch % 5 == 0:
print ("Cost after epoch %i: %f" % (epoch,minibatch_cost))
if print_cost == True and epoch % 1 == 0:
costs.append(minibatch_cost)
plt.plot(np.squeeze(costs))
plt.ylabel('cost')
plt.xlabel('iterations (per tens)')
plt.title("Learning rate =" + str(learning_rate))
plt.show()
predict_op = tf.argmax(Z3,1)
correct_prediction = tf.equal(predict_op,tf.argmax(Y,1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction,"float"))
print(accuracy)
train_accuracy = accuracy.eval({X: X_train,Y: Y_train})
test_accuracy = accuracy.eval({X: X_test,Y: Y_test})
print("Train accuracy:",train_accuracy)
print("Test accuracy:",test_accuracy)
return train_accuracy,test_accuracy,parameters
触发模型
_,_,parameters = model(X_train,Y_test)
我遇到上述错误@
---> 12 X,n_y)
我尝试实现没有tensorflow帮助器功能的手写数字识别。一切顺利,直到我尝试训练最终模型。 当我分别打印X和Y numpy向量时,它们看起来应该完全一样。无法理解为什么会出现该错误 我知道以前也曾提出过类似的问题,但是我似乎无法在两者之间平行进行。 谢谢