2017-11-24 20 views
1

お気軽にお問い合わせください。テンソルフローシャッフルテンソルとバッチグラジエント

私はテンソルフローがかなり新しいです。 CNNの有名なMNISTの問題を解決しようとしています。私は[40000、28、28、1]形状データである(x_trainingデータをresuffleする必要がある場合しかし、私は困難に遭遇した

私のコードは以下の通りです:エラー以下

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である必要がありますが、入力形状が[strideed_slice_1371](op: 'StridedSlice')の場合はランク2です。[40000,28,28,1]、[1,40000]、[1,40000 ]、[1]。

誰もがこの問題を回避する方法をアドバイスできますか?ありがとう。

答えて

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) 
+0

ご返信ありがとうございます。この方法を試しましたが、以下のエラーが発生しました。 TypeError:/: 'Dimension'および 'int'のサポートされないオペランドタイプ –

+0

テンソルフロー計算グラフの一部としてデータを変換しないことをお勧めします。レイヤー、テンソルフローの操作を定義し、numpy形式で画像データを供給します。 – user1190882

+0

私のために働く。ありがとう。 –

関連する問題