2017-12-01 13 views
1

TensorFlow Object Detection APIを使用して新しいクラスをトレーニングする方法に関するチュートリアルを読んでいます。しかし、私がやりたいことは、事前に訓練されたモデルの既に訓練されたクラスに新しいクラスを追加することです。Retens Tensorflowオブジェクト検出API

例:MS-COCOの事前訓練モデルには90クラスがあります。私はもう1つのクラスを追加し、91クラスのオブジェクトを検出したい。

答えて

1

Tensorflowオブジェクト検出APIは、事前にトレーニングされたMS COCOチェックポイントからの開始をサポートします。設定するだけです

fine_tune_checkpoint: "/usr/home/username/tmp/model.ckpt-#####" 
from_detection_checkpoint: true 

検出パイプラインにあります。 (公式参照:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/configuring_jobs.md

追加のクラスを含むイメージをcocoデータセットに追加し、91のすべてのクラスについてfinetuneするか、ネットワークが以前学習したことを忘れて新しいオブジェクトのみを検出することがあります。

+0

MS COCOチェックポイントは既に90のクラスを予測します。私は新しいクラスのデータを持っています。今度は、新しいクラスのデータをMS COCOデータセットと組み合わせて、91のすべてのクラスのTFRコードを作成し、ネットワークチェックポイントからトレーニングする必要がありますか? – Akshai

+2

はい、そうでなければネットはおそらくCOCOを忘れるでしょう。あるいは、前のタスクを忘れることなく学習するために新しいデータだけを使用する方法を示す、「忘れることなく学習する」論文の内容を実装しようとすることもできます。ソース:https://arxiv.org/abs/1606.09282 –

+0

@AndreaPisoniモデルをリトレインするためにコンピュータから別のファイルに移動するときにコピーする必要があるファイルが分かりますか?あなたが言ったように、ファイルmode.ckpt - #####が必要です。そこで私は3つのファイル 'model.ckpt - #####をコピーします。 data-00000-of-00001'、 'model.ckpt - #####。index'と' model.ckpt - #####。meta'を新しいディレクトリに追加します。次に、私は 'fine_tune_checkpoint'を私の新しいチェックポイントに向けます。しかし、それは私の新しいチェックポイントを見つけることができないというエラーを発見しました。その後、古いフォルダの 'checkpoint'ファイルを新しいフォルダにコピーしますが、' TensorSliceReader constructor'に失敗しました。何か不足していますか? – LittleZero