TypeError:尝试运行我的模型时无法解压缩不可迭代的NoneType对象

导入数据集

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向量时,它们看起来应该完全一样。无法理解为什么会出现该错误 我知道以前也曾提出过类似的问题,但是我似乎无法在两者之间平行进行。 谢谢

guolihongnanjing 回答:TypeError:尝试运行我的模型时无法解压缩不可迭代的NoneType对象

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2991759.html

大家都在问