[備忘録] Week10: 自走できるAI人材になるための6ヶ月長期コース
キカガクさんの半年にわたる講義の備忘録
2020.07.11(土) Week 10
今週はupload した画像を分類するアプリの作成でした。講義は演習中心で、講師はポイントポイントでサポート(エラー対応)でした。画像分類アプリは2週間に渡っての開発でWeek 10, 11 で完成させます。
とりあえず自分は5種類の動物を判別するアプリを作成することを目指します。今週は画像を集めて、学習させて、webアプリで画像のupload するところまで完成。来週はupload した画像を学習済みモデルに渡して結果を返すところを実装予定です。
備忘録
Week 10 実施内容
・画像分類アプリ開発
ファインチューニング
normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406],
std=[0.229, 0.224, 0.225])
# reset18
self.conv = models.resnet18(pretrained=True)
self.fc = nn.Linear(1000, 5) # 5つに分類
PyTorch 学習済みモデルの保存方法
GPU で学習してCPUで読み込む方法
model_path = 'model.pth'
torch.save(model.to('cpu').state_dict(), model_path)
model_path = 'model.pth'
model.load_state_dict(torch.load(model_path, map_location=torch.device('cpu')))
models.py 画像フィールドの作成方法
画像送信時に追記するコード
画像の送信にはenctypeの指定が必要です。これが無いとform.is_validで不正になります。
mysite>urls.py に追記するコード
keras & Django で作った同じ様なアプリ
Django / File upload だけど、データベースは使っていなさそう
PyTorch / Python 学習時に利用した画像を出力する方法
plt.imshow( dataset[0][0].permute(1, 2, 0) )
Webアプリ開発(次週)必要そうなサイト
大きいサイズの画像をクロップではなくて、縮小する方法と思われる