Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python &引用;无法输入形状的值“;简单tensorflow的错误+;TFL学习神经网络_Python_Tensorflow_Tflearn - Fatal编程技术网

Python &引用;无法输入形状的值“;简单tensorflow的错误+;TFL学习神经网络

Python &引用;无法输入形状的值“;简单tensorflow的错误+;TFL学习神经网络,python,tensorflow,tflearn,Python,Tensorflow,Tflearn,我见过一些人有类似的错误,但似乎没有一个与我有关,作为一个对python比较陌生的人,这一切都有点让人困惑 我正在使用Tensorflow+TFLearn尝试建立一个非常简单的网络,根据鳄梨的类型、产地和年份(不要问),它可以预测鳄梨的价格,并不断抛出错误: 无法为具有形状“(?,1)”的张量“TargetsData/Y:0”提供形状值(10500) 我把n_类设置为500,因为我正在处理一些更高的数字,如果它太低,它会不断抛出一个错误,但据我所知,这并不是因为它与“形状”有关,但我真的不知道这

我见过一些人有类似的错误,但似乎没有一个与我有关,作为一个对python比较陌生的人,这一切都有点让人困惑

我正在使用Tensorflow+TFLearn尝试建立一个非常简单的网络,根据鳄梨的类型、产地和年份(不要问),它可以预测鳄梨的价格,并不断抛出错误:

无法为具有形状“(?,1)”的张量“TargetsData/Y:0”提供形状值(10500)

我把n_类设置为500,因为我正在处理一些更高的数字,如果它太低,它会不断抛出一个错误,但据我所知,这并不是因为它与“形状”有关,但我真的不知道这意味着什么

我将粘贴我的完整代码,抱歉,如果这是一个糟糕的问题/一个简单的问题,我只是对所有这些都不熟悉,有点困惑

data, labels = tflearn.data_utils.load_csv('avocado.csv',
                                               target_column=2,
                                               categorical_labels=True,
                                               n_classes=500,
                                               columns_to_ignore=[0,1,3,4,5,6,7,8,9,10])
    for type in data:
        if type[0] == "conventional":
            type[0] = 1
        else:
            type[0] = 0

    for place in data:
        if place[2] == "Albany":
            place[2] = 0
        elif place[2] == "Atlanta":
            place[2] = 1
        elif place[2] == "BaltimoreWashington":
            place[2] = 2
        elif place[2] == "Boise":
            place[2] = 3
        elif place[2] == "Boston":
            place[2] = 4
        elif place[2] == "BuffaloRochester":
            place[2] = 5
        elif place[2] == "California":
            place[2] = 6
        elif place[2] == "Charlotte":
            place[2] = 7

    #this goes on for a while, just converting strings to int to work 
    #with TFLearn

    print(data[0])
    # define the input layer
    # 3 because we have 3 columns in the data set (year, location, and type)
    net = tflearn.input_data(shape=[None, 3])

    # adding hidden layers
    net = tflearn.fully_connected(net, 32)
    net = tflearn.fully_connected(net, 32)

    # the output layer
    net = tflearn.fully_connected(net, 1, activation="softmax")

    net = tflearn.regression(net)

    # define model
    model = tflearn.DNN(net)

    # start training
    model.fit(data, labels, n_epoch=10, batch_size=10, show_metric=True)

提前感谢您的帮助,如果这是一个愚蠢的问题,请再次道歉。

您的示例代码和问题描述似乎是关于回归的,但是,您已经设置了
categorical_labels=True
以及
n_classes=500
,这将把鳄梨价格视为一个具有500个不同可能值的分类变量(而不是一个连续变量)。这将创建500个一级热向量,该热向量与网络的最后一层不兼容(该层有一个输出节点,而不是500个)。 对于回归问题,您应该设置
category_labels=False
,并且您可以完全忽略
n_类