扩展维度
Extending dimensions
从 tensorflow returns ndarry (x_train, y_train), (x_test, y_test)
加载数据,其中数据的形状为 (num_samples, 3, 32, 32)
我想扩展此形状以包含另一个维度以具有 [num_classes, num_samples, im_height, im_width, im_channels].
例如,对于 Cifar100,x_train.shape
应该是 (100,50000, 32, 32, 3)
。
我尝试像 x_train = np.reshape(x_train, (100, len(x_train), 32,32,1))
那样重塑,但这不起作用。添加新轴也不能解决问题。
您无法重新整形,因为元素总数不同。
您需要创建一个新数组并以您需要的任何模式复制数据。例如:
new_x_train = np.empty((100, 50000, 32, 32, 3), x_train.dtype)
new_x_train[:] = x_train # 100 copies of x_train using broadcasting
或者,等价地:
new_x_train = np.broadcast_to(x_train, (100, 50000, 32, 32, 3))
从 tensorflow returns ndarry (x_train, y_train), (x_test, y_test)
加载数据,其中数据的形状为 (num_samples, 3, 32, 32)
我想扩展此形状以包含另一个维度以具有 [num_classes, num_samples, im_height, im_width, im_channels].
例如,对于 Cifar100,x_train.shape
应该是 (100,50000, 32, 32, 3)
。
我尝试像 x_train = np.reshape(x_train, (100, len(x_train), 32,32,1))
那样重塑,但这不起作用。添加新轴也不能解决问题。
您无法重新整形,因为元素总数不同。
您需要创建一个新数组并以您需要的任何模式复制数据。例如:
new_x_train = np.empty((100, 50000, 32, 32, 3), x_train.dtype)
new_x_train[:] = x_train # 100 copies of x_train using broadcasting
或者,等价地:
new_x_train = np.broadcast_to(x_train, (100, 50000, 32, 32, 3))