MNIST For ML Beginners에 대한 기본 예제를 살펴 보았고 MNIST 데이터베이스에서 간단한 숫자 분류자를 만들었습니다.MNIST에서 생성 된 Tensorflow 모델에 대한 베개 이미지 테스트 중입니까?
자습서 코드는 mnist_softmax.py이지만 자체 테스트 이미지에 대해 분류자를 사용합니다. 베개에서로드 된 내 이미지로 시도하고 싶습니다. 여기
내가 수정 한 부분이다 :from PIL import Image
# Test trained model
img = Image.open("09.png").convert('L')
data = np.ndarray.flatten(np.array(img))
result = sess.run(tf.argmax(y,1), feed_dict={x: [data]})
print (' '.join(map(str,result)))
그러나이 오류 : 내가 사용
ValueError: Cannot feed value of shape (1, 1568) for Tensor u'Placeholder:0', which has shape '(?, 784)'
이미지는 28x28입니다 :
으로 9
및 14
으로 각각 지정하십시오.
기계 학습이라는 주제로 몇 가지 자습서를 읽기 시작한 이래로 분류 프로그램이 어떻게 작동하는지 오해 할 수도 있습니다. 제 질문은 어떻게 이러한 이미지를 베개에서 분류 자로로드하고 분류 자에서 올바른 자릿수를 결정하도록 할 수 있습니까?
편집 : 는 @의 샤샤의 의견을 바탕으로, 내가 코드를 업데이트했지만 잘못된 결과를 얻고있다.
을하지만 지금 결과는 7
또는 3
중 하나입니다 : 나는 9
이미지를 청소했습니다.
** 힌트 ** :'''2352 = 28 * 28 * 3'''. 어떻게 든 RGB와 같이 3 채널을 사용하고 있습니다. 강제 BW 또는 그레이 스케일 (1 비트 대 8 비트) 1 채널 읽기. – sascha
@ sascha 힌트를 보내 주셔서 감사합니다. 저는 베개의'convert ('LA')'를 사용하여 회색 음영으로 변환했습니다. 이제'(1, 1568)'에 대한 오류가 나타납니다. 이 변경 사항을 반영하도록 질문을 수정했습니다. – tempomax
@sascha 죄송합니다. 다시 엉망이되었습니다. 내가 가져야 할 때 알파를 추가했습니다.이를 제거하면 출력이 나오지만 '9'는 '7'로 출력됩니다. 보다 정확한 방법이 있습니까? – tempomax