Colaboratory에서 Tensorflow 2를 사용하여 필기 숫자의 레이블을 예측합니다.
최종 노트북

공동체에서 노트북 만들기
공동체,
ファイル
> Python 3 の新しいノートブック
에서 새로운 노트북을 만듭니다.
編集
> ノートブックの設定
을 선택하면 다음과 같은 팝업이 표시되므로
ハードウェア アクセラレート
의 드롭다운 메뉴에서 GPU
를 선택합니다.
필기 문자 이미지의 라벨을 예측하는 모델 학습
다음 자습서를 실행합니다.
Tensorflow 버전 설정
!pip list | grep tensorflow
위를 실행하면 버전이
1.15.0
임을 알 수 있습니다.
!pip install -U tensorflow
위를 실행하면 다음과 같은 오류가 발생하지만 이번 범위 내에서 문제가 없었습니다.

다시
pip list
버전을 확인해 봅시다.
모델 학습
오로지 튜토리얼 코드를 복사하여 실행합니다. . .
5 epoch 돌리는 데 몇 분이 걸렸지만 문제없이 종료되었습니다.
MNIST 데이터 세트의 입력이 어떤 것인지 표시 해 본다
노트북에서 이미지를 표시하는 방법에는 여러 가지가 있지만 이번에는
PIL
를 사용합니다.from PIL import Image
img = Image.fromarray(x_test[0].reshape((28,28)) * 255).convert("RGB")
img
다음과 같이 이미지가
7
인 이미지가 표시되었습니다.
자신의 필기 숫자 이미지의 라벨 예측해보기
연필이라면 선이 너무 가늘고 잘 되지 않았기 때문에 매직 펜으로 덮어쓴 다음과 같은 이미지를 준비했습니다.

왼쪽 창을 열면
ファイル
라는 탭이 있으므로 선택하면 현재 작업 디렉토리의 파일이 표시됩니다.アップロード
라는 버튼이 있으므로 거기에서 자신의 필기 이미지를 업로드합니다.
MNIST 입력과의 차이는
그래서 다음 코드로 MNIST의 이미지에 맞춥니다.
from PIL import ImageOps
my_img = ImageOps.invert(Image.open("my_input.jpg").resize((28, 28)).convert("L"))
my_img

값을 0에서 1로 변환하고 채널의 차원을 더한 다음 방금 학습한 모델에 입력하면
출력은 다음과 같습니다.
import numpy as np
my_input = (np.array(my_img) / 255).reshape((28,28,1))
my_output = model([my_input]).numpy()[0]
my_output

다음 코드에서 몇 번째 라벨의 확률이 가장 높은지 확인합니다.
my_output.argmax()

잘 예측할 수 있음을 확인했습니다.
Reference
이 문제에 관하여(Colaboratory에서 Tensorflow 2를 사용하여 필기 숫자의 레이블을 예측합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sosuke/items/b0407bd8baed09dad1de텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)