90Kラベルを分類するモデルを訓練したいので、私はいわゆるインクリメンタルトレーニングを使いました。TensorFlowを使用したインクリメンタルトレーニング
最初にモデルをトレーニングして、1K個のラベルのみを分類し、別の1K個のラベルを追加し、最終FCレイヤーの出力次元を2Kに拡張し、さらにいくつかのエポックを訓練します。その後、別の1Kラベルなどを追加します。
最後のFCの前にあるすべてのパラメータが固定されているため、出力機能をキャッシュすることはできません。私の場合は、すべての段階ですべての変数を更新する必要があります。私が設計し
ソリューションです:1Kラベルの
- 電車。
- モデルを保存します。
- グラフを修正して、最後のFCレイヤが2K次元を出力できるようにします。
- すべての変数を初期化する
- 前のチェックポイントをロードすると、すべてのパラメータが上書きされますが、最後のレイヤの重みは上書きされます。
- 再び電車と
を繰り返しだからここでのキーポイントは、部分的な復元チェックポイントを実現することです。形状の不一致がある場合に
saver.restore(sess, "model.ckpt")
しかし、それは失敗します。TensorFlowで
は、私がチェックポイントをロードするために、このようなコードを使用します。部分的に変数を復元/初期化する方法や、別の方法で増分訓練を実装する方法は、誰でも助けてくれますか?
ありがとうございます!私はこれを試してみよう! – HanXu