Pytorchのチュートリアル実施(cifar10画像判定)。北館テック.com北館テック.comオープンソースソフトウェアのサーバ設定やプログラミングなどのメモですホームお問い合わせこのサイトについてプライバシーポリシーMenuSidebarPrevNextSearchRSSFeedlyホーム>ディープラーニングPytorchのチュートリアル実施(cifar10画像判定)。Ubuntu18.04で2020年2月13日TwitterFacebookGoogle+LinkedInPocketちょっとだけ業務でPytorch触る機械がありましたので、改めてPytorchのオフィシャルサイトのチュートリアルをUbuntu18.04で試してみましたので、その記録です。こちらが公式チュートリアルですね。https://pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html一応venvで仮想環境を作成した上でインストールです。~/PYフォルダに移動してtorchという名前の仮想環境を作ります。torchtorchフォルダが出来ていることを確認してsourceコマンドで仮想環境をアクティベートしているとします。./torch/bin/activatepytorchインストールまずはpytorchインストールです。インストールはこちらのサイトですね。Command:」のところにでてきます。これをコピペで実行します。CUDAはNVIDIAのGPUなどをお持ちでしたらCUDAを選択ですが、今回はGPUなしのCPUオンリーですのでNoneを選んでおきます。私の場合は以下でOKでした。https://download.pytorch.org/whl/torch_stable.htmlあとはmatplotlibで画像を表示させますので、pipでインストールしておきます。matplotlibファイル構成は同じフォルダ(~/PY/torch)に以下の3ファイルを作成してみます。推論実行モデル定義まずモデル・ニューラルネットのクラスを作成です。その中で__init__とforwardを定義です。__init__で使うものを書いて実際の順序はforwardで定義する、といった感じでしょうか。reluは別に__init__で定義しなくても良いみたいですね。こんな定義の仕方はPytorchを使う限り共通と思います。Linearは全結合層でKeras,TensorFlowでいうDenseですね。学習の仕方も味がありますが、流れとしてはこんなと思います。・損失関数(criterion)、最適化関数を定義(optimizer)・epochで学習回数を決めて学習を実行する。epochのループの部分がちょっと長いですが、ここをそれなりに理解すれば他のPytorchソースを見ても大体同じですので、理解できるのではと思います。ところで実際はforwardが実行されるのがミソですかね。以下train.py全文です。PATH)train.pyを実行してみます。始めの実行ではcifar10データのダウンロードに時間がかかりますが、二回目以降の実施ではダウンロード済みデータを使ってくれます。こんなメッセージが出て時間がかかります。./data/cifar-10-python.tar.gzダウンロード後は学習が始まります。Epochが2ですのですぐに学習完了と思います。CPUでもすぐに終わるのではと思います。ノートでも5分くらいで完了です。現実の実装ではEpochが2では全然たりないとは思います。いう学習済みモデルが出来上がっているものと思います。利用して推論を実行です。range(4)))これを実行してみます。test.py推論、テストで使われる画像が表示されます。ここでは左からcat,ship,ship,planeです。planeこの場合はepochを2に設定してますので、学習が甘いんだと思います。shipのところをplaneに間違えてますね。長いですが、こんな感じで学習、推論の実行まで行けるものと思いますがどうでしょうか。複雑なものでも基本この形式なのではと思います今の所。kitakantechよろしければシェアお願いしますTwitterFacebookGoogle+LinkedInPocketPytorchでファインチューニング。LearningでOctave課題(ex1)の提出してみたPrev関連記事Pytorchでテキスト分類チュートリアル実施またPytorchのチュートリアルを実践してみます。...Pytorchでファインチューニング。