我正在为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)