PyTorch連載経緯は#1をご確認ください。#1はKeras、#2~#7まではTensorFLow、#8からはPyTorchを取り扱っています。Networkについて取り扱いました。Classifier"について取り扱います。documentation以下目次になります。Classifierチュートリアルの概要について話を進めていきます。documentation概要を知るにあたり簡単に要約を行います。要約:ニューラルネットワークの定義をして、誤差関数を計算し、ネットワークの重みを更新するというのについては見てきました。data?)』ということです。一般的に画像やテキスト、音声、ビデオなどのデータを取り扱う際には、NumPy配列の形式でデータをロードする標準的なPythonのパッケージを用いることができます。その後に、torch.*Tensorの形式に配列を変換できます。・画像データに対してはPillowやOpenCVなどのパッケージが便利です。・音声データに対してはSciPyやlibrosaがあります。・テキストデータに関してはデフォルトのPythonやCython、NLTKやSpaCyなどが便利です。画像データに関しては、torchvisionというパッケージがあり、ImagenetやCIFAR10、MNISTなどの一般的なデータセットのデータローダーが実装されています。画像の変換にあたってはtorchvision.datasetsやtorch.utils.data.DataLoaderなどがあります。これにより重要度が低いテンプレ的なコードを書くことを減らすことができ、非常に便利になります。下記のようにチュートリアルではCIFAR10のデータセットを用いるとされています。トラックの10クラスのデータを持つデータセットです。データサイズは32×32×3と、28×28のMNISTと同様のサイズとなっています。写真がベースの画像のため、RGBのカラーとなるように×3がされています。classifier"の内容を確認していきます。classifier"の内容について確認していきます。簡単に冒頭部を訳します。要約:以下のステップを順番に踏みます。torchvisionを用いてCIFAR10の学習用と検証用のデータセットの読み込みと正規化を行う。畳み込みニューラルネットワーク(CNN)を定義する。学習用データを用いてニューラルネットワークを学習させる。テストデータを用いてニューラルネットワークの検証を行う。以下2-1〜2-5でそれぞれについて確認していきます。CIFAR102-1ではtorchvisionを用いたCIFAR10のデータロードに関して確認していきます。チュートリアルに従って動かすことで、下記のようにデータのロード(初回時でデータが手元にない時は自動でダウンロードを行ってくれます)を行うことができます。実行結果が上記になっています。データセットが手元にない際は上記のようにダウンロード関連の表示もされるように実装されています。1]."とも言及されているように、PILImageの形式だと[0,1]の値におさまるのに対して、変換を行なって[-1,1]の範囲になるようにしているとされています。このことは下記のように画像を表示する際などに注意が必要です。上記のようにすることで画像やラベルの確認を行うことができます。CIFAR10は32×32×3のデータセットのため、大きく表示するとところどころがぼやけてしまうことも把握しておくと良いかと思われます。Network"について取り扱います。Networkとほぼ同様のため、ほとんどソースのみの記載となっています。入力のチャネルがカラー画像のため、3チャネルにしたと書かれています。実行結果は上記のようになります(print文だけ付け加えておきました)。optimizerこちらもほぼ同様なので、上記を実行する形で良さそうです。network"では実際に学習を行なっていきます。記載のコードの実行を行うことで、上記のような学習を行います。誤差関数(loss)が学習ステップが進むにつれてだんだん減っているのがわかります。ニューラルネットワークの学習によるパラメータの調整は勾配などの情報を用いて繰り返し(iteration)の計算でアップデートしていくので、optimizer.stepはfor文の中で実行していることに注意です。data2-5ではテストデータを用いたニューラルネットワークの検証を行っています。全体の正答率(accuracy)を下記のように計算しています。それぞれのラベルにおける正答率も下記のように得ることができます。このようにテストデータで検証することで、汎用性について確認することができます。カテゴリごとの正答率を出すことで、誤分類に関する差について考察することもできます。Networkを用いながらPyTorchデータのロードに関して確認してきました。Blitz"の確認は一旦ここまでとし、#12以降は上記のチュートリアルよりまた違った題材を取り扱えればと思います。Network)|DeepLearning...連載経緯は#1をご確認ください。#1はKeras、#2~#7まではTensor...2019-07-03公式Tutorialに学ぶPyTorch1(Tutorialの全体像&Autograd)|DeepL...連載経緯は#1をご確認ください。Networks...#19はYOLOについて取り扱いました。(1)月別アーカイブはてなブログをはじめよう!lib-artsさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。