PytorchによるImage Segmentation(3)
はじめに
PytorchによるU-NetのImage Segmentationの続きです。
前回はDataLoader部分を実装したので、今回はLoss Functionを実装して実際に学習、推論をやっていきます。
PytorchによるImage Segmentation(2)
はじめに
nsr-9.hatenablog.jp
この記事の続きです。
Pytorchを用いてU-NetのImage Segmentationをやっていきます。
前回はU-Netのモデルを定義したので、今回はDataLoader部分を作っていきます。
続きを読むindex画像からone-hotベクトル画像を作る方法
やりたいこと
Image Segmentationはpixel単位でカテゴリIDを予測するタスクです。
教師画像の形式はLoss関数の関係上、カテゴリIDをそのまま扱うのではなく、One-Hot-Vectorで扱います。
One-Hot-VectorはカテゴリIDを2進数の様に扱うデータ表現であり、Neural Networkで扱いやすい(学習しやすい)表現方法となります。
普通のデータ表現 | One-hot Vector |
---|---|
この例では、スカラー値のラベル表現ですが、One-hot-Vectorを画像で行うと次のようになります。
普通のデータ表現 | One-Hot-Vector Image |
---|---|
この様な感じで、pixel単位でカテゴリIDが記録されているグレースケール画像から、One-Hot-Vector画像(Category数, H, W)をPytorchで作成するコードを紹介します。
続きを読むpytorchのお勉強(6):GPUの利用
はじめに
Pytorchのお勉強の続きです。
前回までに学んだ内容でDeepNeural Networkでやりたい一通りの事はできるようになりましたが、肝心のGPUを用いた高速化を学んでいませんでした。
GPUはGraphic Processing Unitと呼ばれる並列計算が得意な演算装置です。
ゲームやグラフィック・ツールを高速に動作させる為に作られた外部演算装置であり、CPUで構成されたホスト計算機にくっつけて動作させます。
現在では並列演算の性能の高さを活かし、Deep Learningや物理シミュレーションなどの科学計算や、仮想通貨のマイニングなどにも応用されています。
今回は、pytorchの学習、推論にGPUを用いる方法を学んでいきます。
この公式ドキュメントを参考に進めていきます。