問題タブ [transfer-learning]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1011 参照

python - 事前訓練された重みでケラスの特定のチャネルに重みを設定する方法は?

Keras によって提供される事前トレーニング済みの重みを使用して、Resnet50 アーキテクチャ (keras の実装に基づいてビルドしました) で微調整を達成しようとしています。

この事前トレーニング済みモデルの欠点は、ツリー チャネルを使用して画像でトレーニングされていることです。私の場合、入力には 3 つ以上のチャネルがあります。5、6、...

そのチャネルの変動は、最初の conv1 レイヤーがチャネルの数に依存していることを意味します。したがって、事前にトレーニングされた重みを使用するには、2 つの可能性があります。

  1. conv1 レイヤーの後に重みをロードし、conv1 の前のレイヤーではランダムに設定されます。

  2. 2 番目の可能性は、conv1 に RGB の重みを設定し、残りのチャネルを RGB の重みの複製で満たすことです。

2 番目の可能性を試しましたが、3 の倍数でしか機能しません。さらに、glorot_uniformバンドを複製する代わりに特定のイニシャライザ (たとえば) が必要な場合は、不可能のようです。

だから私は知りたいのですが、特に3の倍数ではなく任意の数のチャネルで動作するために、そのようなことを達成するための機能や他のアプローチがあるかどうかを知りたいですか?

注: 2 番目の可能性を適用する前に、それを実現する関数を見つけようとしましたが、何も見つかりませんでした。