Tensorflow 洗牌批量梯度张量
Tensor flow shuffle a tensor for batch gradient
可能与谁有关,
我对张量流还很陌生。我正在尝试为 CNN 解决著名的 MNIST 问题。但是当我不得不重新排列 x_training 数据(这是一个 [40000, 28, 28, 1] 形状数据。
我的代码如下:
x_train_final = tf.reshape(x_train_final, [-1, image_width, image_width, 1])
x_train_final = tf.cast(x_train_final, dtype=tf.float32)
perm = np.arange(num_training_example).astype(np.int32)
np.random.shuffle(perm)
x_train_final = x_train_final[perm]
发生以下错误:
ValueError:形状必须是等级 1,但对于 'strided_slice_1371'(op:'StridedSlice')是等级 2,输入形状:[40000,28,28,1],[1,40000] , [1,40000], [1].
任何人都可以建议我如何解决这个问题?谢谢
我建议您使用 scikit 的 shuffle 函数。
from sklearn.utils import shuffle
x_train_final = shuffle(x_train_final)
此外,您可以传入多个数组,shuffle
函数将重组(洗牌)这些多个数组中的数据,在所有这些数组中保持相同的洗牌顺序。因此,您甚至可以传入标签数据集。
例如:
X_train, y_train = shuffle(X_train, y_train)
可能与谁有关,
我对张量流还很陌生。我正在尝试为 CNN 解决著名的 MNIST 问题。但是当我不得不重新排列 x_training 数据(这是一个 [40000, 28, 28, 1] 形状数据。
我的代码如下:
x_train_final = tf.reshape(x_train_final, [-1, image_width, image_width, 1])
x_train_final = tf.cast(x_train_final, dtype=tf.float32)
perm = np.arange(num_training_example).astype(np.int32)
np.random.shuffle(perm)
x_train_final = x_train_final[perm]
发生以下错误:
ValueError:形状必须是等级 1,但对于 'strided_slice_1371'(op:'StridedSlice')是等级 2,输入形状:[40000,28,28,1],[1,40000] , [1,40000], [1].
任何人都可以建议我如何解决这个问题?谢谢
我建议您使用 scikit 的 shuffle 函数。
from sklearn.utils import shuffle
x_train_final = shuffle(x_train_final)
此外,您可以传入多个数组,shuffle
函数将重组(洗牌)这些多个数组中的数据,在所有这些数组中保持相同的洗牌顺序。因此,您甚至可以传入标签数据集。
例如:
X_train, y_train = shuffle(X_train, y_train)