2017-11-24 18 views
1

걱정할 대상,텐서 흐름 셔플 및 일괄 처리를위한 텐서

나는 tensorflow에 상당히 익숙하다. 나는 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 : 도형이 [40000,28,28,1], [1,40000], [1,40000] 인 'strided_slice_1371'(op : 'StridedSlice')의 경우 모양이 랭크 1이어야하지만 랭크 2 여야합니다. ], [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

감사. –