WSL2+Docker+GPUでPyTorchを動かす

最近GPU付きのWindowsパソコン(Windows11 Pro)を購入し、GPUをフル活用しようと色々試したので、記録して記事をあげておきます。 ただやることは簡単で以下の手順をやるだけです。(詳細なものは今後予定) ・WSL2(Ubuntu)のインストール ・WSL2上のUbuntuにこちらの手順に従って、docker+αをインストール 自分の手元の環 […]

docker入門 その4(Jupyter Notebook GPU版 立ち上げ)

その4である今回はDockerでJupyter Notebookのコンテナを立ち上げ、GPUを扱えるようにする手順について紹介します。 ※注:こちらは2021年3月時点の手順である点、ご了承願います。DockerでGPUを扱うための手順はアップデートが早く、必ずしも本記事の内容が最新であることは保証していません。 本記事はGCP上にUbuntu20.04が乗 […]

EfficientNetについて調べてみた

ディープラーニングの歴史を振り返ってみようと思い、前回のResNetに続いてEfficientNetについて自分なりに整理します。 現在私がPyTorchの勉強をしているので、ここから先のコードはPyTorchベースとなる点、ご了承下さい。 元となる論文はこちらですので、詳細が気になる方はぜひ一読してみてください。 EfficientNetの構造を理解するた […]

ResNetについて調べてみた

ディープラーニングの歴史を振り返ってみようと思い、前回のVGG16に続いてResNetについて自分なりに整理します。 現在私がPyTorchの勉強をしているので、ここから先のコードはPyTorchベースとなる点、ご了承下さい。 元となる論文はこちらですので、詳細が気になる方はぜひ一読してみてください。 ResNetの構造を理解するために、PyTorchでの実 […]

GCP上にPyTorchが入ったGPUインスタンスを立ち上げる

タイトルの通り、GCP上にPyTorchが入ったGPUインスタンスを立ち上げたので手順を残しておきます。 GPUの上限を増やす GCPはいきなりGPUインスタンスの作成はできず、GoogleさんにGPUの上限を増やす必要があります。 メニュー「IAMと管理」>「割り当て」を辿り、以下の2つの上限を増やす申請をします。 Compute Engine API > […]

VGG16について調べてみた

ディープラーニングの歴史を振り返ってみようと思い、前回のAlexNetに続いてVGG16について自分なりに整理します。 現在私がPyTorchの勉強をしているので、ここから先のコードはPyTorchベースとなる点、ご了承下さい。 元となる論文はこちらですので、詳細が気になる方はぜひ一読してみてください。 VGG16の構造を理解するために、PyTorchでの実 […]

AlexNetについて調べてみた

ディープラーニングの歴史を振り返ってみようと思い、第3次AIブームの初期に登場したAlexNetについて自分なりに整理します。 現在私がPyTorchの勉強をしているので、ここから先のコードはPyTorchベースとなる点、ご了承下さい。 元となる論文はこちらですので、詳細が気になる方はぜひ一読してみてください。 AlexNetの構造を理解するために、PyTo […]

PyTorchでのcross-validation

PyTorchでcross-validation(交差検証。以下CV)する場合の実装例を参考として残しておきます。 まずは訓練時の実装例です。 次に推論時の実装例です。 cross-validationをすることで、しない場合に比べて計算量はk(=分割数)倍になりますが、モデルの評価がより確かなものになります。 参考まで。

PyTorchで画像分類(その4)

前回は学習に必要な損失関数と最適化アルゴリズムを作成したので、今回は実際に学習をします。 題材は前回までと同じkaggleの犬/猫の画像分類コンペを使います。 学習 早速ですが、実装します。 ソースコードのコメントに簡単な説明を入れました。 Kerasの場合、損失関数と最適化アルゴリズムをcompileメソッドに渡してfitメソッドを呼べば学習できてしまいま […]

PyTorchで画像分類(その3)

前回はディープラーニングの魂であるモデルの作成をしましたが、今回はモデル以外に学習で必要な損失関数と最適化アルゴリズムを作成します。 題材は前回までと同じkaggleの犬/猫の画像分類コンペを使います。 損失関数の定義 そもそも損失関数は何かと言うと、ディープラーニングに限らず機械学習全般で登場するもので、モデルの出力値と正解の値との間の解離がどの程度か表す […]