【PyTorch】畳込みニューラルネットワークを構築する方法【CNN】

公開日: : 最終更新日:2022/03/18 機械学習 , , , ,

今回は、PyTorch を使って畳込みニューラルネットワーク(CNN)を構築する方法について紹介します。

PyTorch でニューラルネットワーク(NN)を構築する方法については以前まとめたので、よかったら参考にしてみてください。

【PyTorch】ニューラルネットワークを構築する方法【NN】

手順はニューラルネットと同様なので、主に異なる点についてまとめてみます。

動作環境は、Windows10, Anaconda, Jupyter, GPU NVIDIA GeForce  RTX 2060 です。

Contents

データセットの読み込み

出力結果は以下のようになります。

データの形状が、NNではフラットにする必要がありましたが、CNNでは2階テンソルのままとなります。

モデルの定義

モデルの定義は以下のようになります。

畳込み層は「Conv2d()」メソッドを用います。

ここでは定義だけなので、出力結果はありません。

モデルの生成

モデルの生成は以下のようになります。

出力結果は以下のようになります。

2層の畳み込み層が配置されています。

損失関数とオプティマイザーの生成

train_step()関数の定義

訓練データの学習用関数の定義を行います。

test_step()関数の定義

テストデータの検証用関数の定義を行います。

学習の早期終了判定用関数の定義

学習を早期に終わらせるかどうかを判定するための関数を定義します。

学習

実際に CNN で学習を行います。

実行時間は、約15分でした。

精度のグラフ化

エポックごとの損失と精度(正解率)をグラフ化します。

参考文献

関連記事

【機械学習】決定木(decision tree)について。

教師あり学習の一つである決定木(desicion tree)について勉強したことを書いていきます。

記事を読む

【機械学習・手法比較】決定木とナイーブベイズを比較してみた。

同じデータを使って、教師有り機械学習手法の 決定木(Decision Tree)とナイーブベイズ(N

記事を読む

【機械学習】パーセプトロン(Perceptron)について。

パーセプトロンは、教師あり学習の中でも、入出力モデルベース(eager learning:働き者の学

記事を読む

【Weka】欠損データを自動的に補完するフィルタを使ってみた。

機械学習で用いるデータについてです。データは完璧なことに越したことはないが、通常は、ある属性の値が入

記事を読む

【TensorFlow】GPUを認識しない時の対処方法【Python】

TensorFlow で GPU を認識させようとしたときにハマってしまったので、その対処方法のメモ

記事を読む

【PyTorch】GPUのメモリ不足でエラーになったときの対処方法。

PyTorch で深層学習していて、 GPUのメモリ不足でエラーが出てしまったので、対処方法のメモで

記事を読む

【探索】縦型・横型・反復深化法の探索手法の比較。

探索とは、チェスや将棋や囲碁などのゲームをコンピュータがプレイするときに、どの手を指すかを決定するの

記事を読む

【Weka】CSVファイルを読み込んで決定木を実行。

フリーの機械学習ソフト Weka を使って、CSVファイルを読み込んで決定木(Decision Tr

記事を読む

機械学習の手法のまとめ。

機械学習は、「与えられた入出力事例をモデル化する行為」のことで、ディープラーニングなどで注目を集めて

記事を読む

【転移学習】学習済みVGG16 による転移学習を行う方法【PyTorch】

今回は、PyTorch を使って、学習済みのモデル VGG16 を用いて転移学習をしてみました。

記事を読む

無料動画編集ソフト AviUtl で mp4 形式の動画を読み込み・出力する方法【Windows】

今回は、無料動画編集ソフト AviUtl で mp4 形式の動画を読み

【Cubase】イヤホンから音がでないときの対処方法。

Cubase でイヤホンから音がでなくなったときの対処方法のメモです。

【Cubase】特定のトラックを無効にする方法。

今回は、Cubaseで特定のトラックのみを無効にする方法について紹介し

【転移学習】学習済みVGG16 による転移学習を行う方法【PyTorch】

今回は、PyTorch を使って、学習済みのモデル VGG16 を用い

【PyTorch】畳込みニューラルネットワークを構築する方法【CNN】

今回は、PyTorch を使って畳込みニューラルネットワーク(CNN)

→もっと見る

PAGE TOP ↑