ValueError:无法将大小为n的数组重塑为形状(n,高度,宽度)

时间:2018-05-29 23:05:29

标签: python numpy conv-neural-network data-processing

我正在为cnn进行数据处理,我的数据集是工厂的根映像。当我尝试重塑用于输入keras的小批量设置时,我无法重塑它。

我的测试是这样的:

subset = chose_data(imgs, 1)
subset.shape
  

(1)

子集只包含一个图像,图像的形状为:

subset[0].shape
  

(1720,261)

子集:

array([ array([[255, 255, 255, ..., 255, 255, 255],
       [255, 255, 255, ..., 255, 255, 255],
       [255, 255, 255, ..., 255, 255, 255],
       ..., 
       [255, 255, 255, ..., 255, 255, 255],
       [255, 255, 255, ..., 255, 255, 255],
       [255, 255, 255, ..., 255, 255, 255]], dtype=uint8)], dtype=object)

当我做的时候

subset.reshape((subset.shape[0], subset[0].shape[0], subset[0].shape[1]))

我得到了值错误:无法将1号大小的数组重塑为形状(1,1720,261)

选择的数据方法:

def chose_data(data, m):
    index = np.random.randint(0, len(data), size = m)
    data_rand = data[index]

    return data_rand

和数据加载方法:

data_dir = "/.../data/"
images = []
files = glob.glob (data_dir + "*.jpg")
for file in files:
    image = cv2.imread(file, 0)
    images.append(image)

imgs = np.array(images)

0 个答案:

没有答案