如何解决tensorflow中的图片维度转换问题?

这是读取图片的代码。

def extract_data():
imgs=[]
training_size, img_train_array,img_train_map_array= read_train_from_txt_file(train_txt_filename)
for i in range(0,training_size):
    image_filename = img_train_array[i]
    if os.path.isfile(image_filename):
        print('Loading:'+ image_filename)
        img_file = cv.imread(image_filename)
        img_file=np.array(img_file)
        imgs.append(img_file)
    else:
        print('File' + image_filename + 'does not exist!')
num_img = len(imgs)
img_patches = [img_crop(imgs[i]) for i in range(num_img)]
data = [img_patches[i][j] for i in range(len(img_patches)) for j in range(len(img_patches[i]))]

return np.asarray(data)

这是调用的函数:

train_data=extract_data()
train_data_2=np.array(train_data)
train_data_final=tf.reshape(train_data_2,[None,IMG_PATCH_SIZE,IMG_PATCH_SIZE,3])
train_label=extract_labels()
train_label_2=np.array(train_label)
train_label_final=tf.reshape(train_label_2,[None,NUM_LABEL])

可是提示出现如下错误:

    TypeError: Failed to convert object of type <class 'list'> to Tensor. Contents: [None, 16, 16, 3]. Consider casting elements to a supported type.

我已经转换为了asarray,为什么还是list类型啊?
新手求解啊,真的挺急的!!!!

train_data_final=tf.reshape(train_data_2,[None,IMG_PATCH_SIZE,IMG_PATCH_SIZE,3])
看下你的原始数据有多少行多少列,特别是每列的数据类型是否一样