Python 2.7 ValueError:无法为张量u'馈送形状(64、32、32)的值;InputData/X:0';,其形状为';(?,32,32,1)和#x27;

Python 2.7 ValueError:无法为张量u'馈送形状(64、32、32)的值;InputData/X:0';,其形状为';(?,32,32,1)和#x27;,python-2.7,tensorflow,tflearn,Python 2.7,Tensorflow,Tflearn,我正在尝试使用tflearn和我自己的数据来训练模型 我有19748个灰度图像,我想用我的模型来训练。我使用TFL的Image\u预加载方法来学习输入图像。所有图像都转换为32*32大小。但是当我开始训练过程时,我得到了这个错误“ValueError:cannotfeedvalue of shape(64,32,32)for Tensor u'InputData/X:0”,它有shape'(?,32,32,1)” 我尝试了我所知道的一切,但我无法解决它,在stackoverflow中也有类似类型

我正在尝试使用tflearn和我自己的数据来训练模型

我有19748个灰度图像,我想用我的模型来训练。我使用TFL的Image\u预加载方法来学习输入图像。所有图像都转换为32*32大小。但是当我开始训练过程时,我得到了这个错误“ValueError:cannotfeedvalue of shape(64,32,32)for Tensor u'InputData/X:0”,它有shape'(?,32,32,1)”

我尝试了我所知道的一切,但我无法解决它,在stackoverflow中也有类似类型的问题,但它们对我不起作用

这是我的密码

from __future__ import division, print_function, absolute_import


import tflearn
import pickle
from tflearn.layers.core import input_data, dropout, fully_connected
from tflearn.layers.conv import conv_2d, max_pool_2d
from tflearn.layers.normalization import local_response_normalization
from tflearn.layers.estimator import regression
from time import gmtime, strftime
from tflearn.data_utils import image_preloader
import numpy as np


dataset_file = 'noww.txt'



X = np.zeros((19748,32,32,1))
Y = np.zeros((19748,10))

X, Y = image_preloader(dataset_file, image_shape=(32, 32),   mode='file', categorical_labels=True,   normalize=True)


network = input_data(shape=[None, 32, 32, 1])


network = conv_2d(network, 64, 3, activation='relu')
network = conv_2d(network, 64, 3, activation='relu')
network = max_pool_2d(network, 2, strides=2)

network = conv_2d(network, 128, 3, activation='relu')
network = conv_2d(network, 128, 3, activation='relu')
network = max_pool_2d(network, 2, strides=2)

network = conv_2d(network, 256, 3, activation='relu')
network = conv_2d(network, 256, 3, activation='relu')
network = conv_2d(network, 256, 3, activation='relu')
network = max_pool_2d(network, 2, strides=2)

network = fully_connected(network, 1024, activation='relu')
network = dropout(network, 0.5)
network = fully_connected(network, 1024, activation='relu')
network = dropout(network, 0.5)
network = fully_connected(network, 10, activation='softmax')
network = regression(network, optimizer='rmsprop',
                     loss='categorical_crossentropy',
                     learning_rate=0.0001)


model = tflearn.DNN(network, checkpoint_path='model_1',
                    max_checkpoints=1, tensorboard_verbose=0)
model.fit(X, Y, n_epoch=200, shuffle=True,
          show_metric=True, batch_size=64, snapshot_step=200,
          snapshot_epoch=False, run_id='model_1')

请帮助。

错误说明Tensorflow不能将形状为[64,32,32]的张量放入另一个形状为[?,32,32,1]的张量,这里的
表示批量大小

您的模型无法将批处理数据馈送到
X
变量中,因为它们具有不同的形状,您应该更改
X
形状

更改此行
X,Y=image\u预加载程序(dataset\u文件,image\u形状=(32,32),mode='file',categorical\u labels=True,normalize=True)

X,Y=image\u预加载程序(dataset\u文件,image\u形状=(无,32,32,1),mode='file',categorical\u labels=True,normalize=True)

希望这是有用的