質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PyTorch

PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。

Q&A

解決済

1回答

10870閲覧

【Ptyorch】ToTenserした画像をNormalizationすることに意味はあるのでしょうか

panpanpanda

総合スコア14

PyTorch

PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。

1グッド

0クリップ

投稿2020/01/09 00:33

Pytorchを使用して画像処理を行なっています。

様々なサイトのチュートリアルを参考にしているのですが、その多くで以下のような画像変換を行なっています。
0. Totenser関数でテンソル化
0. Normalise関数で正規化

python

1transform = transforms.Compose([ 2 transforms.ToTensor(), 3 transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])

疑問は

  • Normalize関数の処理は、引数(平均、標準偏差)を決め打ちで与えているため、「正規化」ではなく「スケーリング[-1〜1]」なのではないか
  • その場合、画像処理で正確な意味での「正規化」は必須だと思うが、なぜ実施されていないのか(やらなくていい理由は何か)

,

  • また、ToTensor関数で既に[0〜1]にスケーリングされているので、(範囲は異なるが)スケーリング処理が重複しているのではないか
  • であれば画像の性質を考えると、正の範囲である[0〜1]の方が適しているのではないか(何故わざわざ適していない範囲にスケーリングしているのか)

以上です。

分かりづらい文章で申し訳ありません。

ご回答いただけると大変ありがたいです。

よろしくお願いいたします。

neetlino👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

質問に記載の通り、正規化になっていません。
自作のデータセットで一から学習する際に正規化したい場合、画像の各チャンネルの平均及び標準偏差を計算しておき、その値を Normalize のパラメータに設定するべきです。

例えば、torchvision で提供されている学習済みのモデルを使う場合、ImageNet データセットで学習したモデルなので、その平均及び標準偏差を使って、前処理を行うように公式ドキュメントに記載があります。

torchvision.models — PyTorch master documentation

All pre-trained models expect input images normalized in the same way, i.e. mini-batches of 3-channel RGB images of shape (3 x H x W), where H and W are expected to be at least 224. The images have to be loaded in to a range of [0, 1] and then normalized using mean = [0.485, 0.456, 0.406] and std = [0.229, 0.224, 0.225]. You can use the following transform to normalize:

python

1normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406], 2 std=[0.229, 0.224, 0.225])

投稿2020/01/09 08:02

tiitoi

総合スコア21956

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問