私は、VGG/Inceptionを使用してMNISTデータセットの転送学習を使用しようとしています。しかし、これらのネットワークはどちらも少なくとも224x224x3サイズの画像を受け入れます。どのように私は28x28x1のMNIST画像を224x224x3にリサイズして、転送を行うことができますか?MNISTデータセットの転送学習方法
答えて
あなたが求めていることをする一般的な方法は、CNNへの入力レイヤーに必要な解像度に画像を単純にサイズ変更することです。あなたの質問にkerasというタグが付いているので、kerasには画像を読み込み、必要に応じて画像を拡大縮小したいサイズを指定するための前処理モジュールがあります。メソッドの実際のソース:https://github.com/keras-team/keras/blob/master/keras/preprocessing/image.py#L321を見ると、内部的にピロー補間法を使用してイメージを希望の解像度に再スケーリングします。
さらに、MNISTディジットはもともとグレースケールであるため、人工的にRGBになるように、単一チャネルイメージをマルチチャネルイメージに複製する必要があります。これは、赤、緑、青のチャンネルがすべて同じで、MNISTグレースケールの対応物であることを意味します。 load_img
メソッドには、追加のフラグgrayscale
があります。このフラグをFalse
に設定すると、イメージにRGBイメージとして読み込むことができます。
これらの画像をRGBに変換して読み込み、再スケーリングしたら、VGG19で転送学習を行うことができます。実際、それは前に行われています。 https://www.analyticsvidhya.com/blog/2017/06/transfer-learning-the-art-of-fine-tuning-a-pre-trained-model/を参照し、セクション6を参照してください。の数字の識別には、事前に訓練されたモデルを使用してください。
私は、28×28イメージを取って224×224イメージにリサイズすると、重大な補間アーチファクトが発生するという公平な警告をしたいと思います。アップサンプリングによるノイズを含む画像データに対して転送学習を実行しますが、これは前にリンクしたブログ記事で行われました。補間をbilinear
またはbicubic
のように変更することをお勧めします。デフォルトでは、最近隣を使用します。アップサンプリング画像の場合はひどいです。
YMMVですので、画像を入力レイヤーの希望のサイズにリサイズし、3つのチャンネルで画像をパッディングしてRGBにして何が起こるかを確認してください。
これは、使用するモデルによって大きく異なります。 VGGネットワークには一定の数のダウンサンプル後にイメージのサイズに一致するFCレイヤが含まれているため、VGGNetには予想されるターゲットサイズへの入力のリスケーリングを行う必要があります。パラメータの共有のために、畳み込みレイヤーはいずれもイメージサイズを取ることができます。
しかし、現代のCNNは全畳み込みに切り替える傾向にあり、任意の転送学習の問題を解決しています。このパスを選択する場合は、最新のInception modelsのいずれかを取る。この場合、モデル外のモデルは、小さな28x28x1の画像でさえも受け入れることができるはずです。
- 1. VGG16転送学習
- 2. 転送学習[resnet18]を使用してPyTorch。データセット:Dog-Breed-Identification
- 3. Tensorflow - 転送学習の実装(セマンティックセグメンテーション)
- 4. 転送学習は、不均衡なデータセットの問題を解決しますか?
- 5. Azureの機械学習 - データセット
- 6. MNISTデータセットを学習するマシンのバックプロパゲーションを正しく実装する方法は?
- 7. 機械学習分類データセット
- 8. MNISTデータセットをサブセット化する方法は?
- 9. Tensorflowオブジェクトの検出:ローカルでの転送学習の使用
- 10. 機械学習の巨大なデータセットsklearn
- 11. 転送学習のテンソルフローで画像データを入力する
- 12. TensorFlowとMNISTデータセット
- 13. R - イメージプロットMNISTデータセット
- 14. JavaScriptの学習方法
- 15. Mapicsの学習方法ERP
- 16. Zend Frameworkの学習方法
- 17. ADO.NETの学習方法
- 18. .NET Frameworkの学習方法
- 19. CNISTのダウンサンプリングMNISTデータセット
- 20. 追加画像セットを使用して転送された学習モデルの微調整/再学習
- 21. 学習PHPの文字列逆転
- 22. KNN on mnistデータセットR
- 23. 分類の際にデータセットを渡す方法Matlabの学習者アプリケーション
- 24. Inception v3モデルを使用して、転送学習でPNG画像の特徴ベクトルを計算する方法
- 25. 言語モデルの学習方法は?
- 26. SharePointの学習を始める方法
- 27. マシンコードの実行方法(学習アセンブリ)
- 28. データ構造とアルゴリズムの学習方法
- 29. 自分のmnistデータセットを作成する方法は?
- 30. 転送解像度の異なる深いCNNを学習する
ポインタに感謝します。私はこのようなことを試みた。 https://pastebin.com/Gmcb97y8 と私が得た はTypeError:「テンソル」オブジェクトは、私は見てみましょう項目の割り当て – user1159517
をサポートしていません。私はあなたに戻ってみましょう。 – rayryeng