LoginSignup
0
0

More than 1 year has passed since last update.

NNC210で事前学習モデルを使用する。

Last updated at Posted at 2021-05-27

マニュアルを見てもイメージネットモデルのサンプルダウンロードをどうすれば良いか見つけられなかった。

ライブラリのマニュアルからImageNet Modelsの記載を見つけた。
https://nnabla.readthedocs.io/en/latest/python/api/models/imagenet.html
この中のリンクから各モデルのnnp形式のファイルがダウンロードできる。
image.png

利用方法

NNCのedit画面で右クリック、import からnnpを選ぶ。
image.png
入力部分を自分が使用するデータセットのサイズに合わせる。224pixが基本だが、事前学習のパラメーターは画像サイズに依存しないはずなので異なっても良いと思う。なお、0-255階調のカラー画像に0.01735かけて1.99引く正規化処理が行われている。これは、事前学習モデルの学習条件なので変更しない。また、データセット側の設定で0-1の正規化のチェックは外しておく。
image.png
最終段のアフィン(dense 全結合)層も自分のデータセットに合わせて1000から変更しておく。

image.png
この層だけは事前学習の重みが使えないので、W.Fileとb.Fileを空欄にする必要がある。
image.png

学習層の凍結

前半の学習は変更を加えたアフィン層(Dense層)だけにしたいところ。学習層の凍結解除を一気に設定できる方法が分からない。設定自体は、上の図のLRateMultiplier2カ所をいじる。次善の策として、全体の学習率を10^-7とかにして、アフィン層のLRateMultiplierを100とか1000にすればよさそう。

凍結したいレイヤーをまとめて選択して、どれか1カ所のconvolutionの設定でLRateMultiplierを0にすれば選択範囲がまとめて変更される。同様に選択範囲中のBatchNormalizationやaffineにも実施する。

モデルを育てる

いいモデルが育ってきたら、Trainタブの右側から Open in EDIT Tab with Weightを選んでパラメータを保持しながら改善していく。
image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0