2017-03-15 4 views
0

ImageNetモデルを最初からトレーニングする日程を準備しようとしています。トレーニングの仕組みについて少し混乱しています。Tensorflow Slim Imagenet training

TFレコードを準備している間、私はこのファイルをInceptionモデルのデータディレクトリ "imagenet_metadata.txt"内に気付きました。このファイルには21842クラスのラベルが含まれていますが、トレーニングスクリプトと "imagenet_lsvrc_2015_synsets.txt"ファイルは1000クラスのみで動作します。

私は、1Kのものではなく、21Kクラスのモデルを訓練するために必要な変更が何であるか疑問に思っていますか?

答えて

0

それはスリムでslim.To列車imgnet 21Kと非常に簡単です、私は、次の手順を行うことをお勧めします。

1.In tf_modelsを/スリム/データセットは、例えばimgnet用(imagenet.pyファイルのコピーを作成するフォルダ。 PY)新しいファイル.INご所望の値に必要な 変数の変更:WordNetのsynsetのは21481に21482件のエントリが、imagenet21k内のクラスの合計数が含まれています*

_FILE_PATTERN = ####your tfrecord_file_pattern. for me('imgnet_%s_*.tfrecord') 
    _SPLITS_TO_SIZES = { 
     'train': ####Training Samples, 
     'validation': ####Validation Samples,} 
    _NUM_CLASSES = 21841 

を(n04399382を逃している)ことを確認し.soが使用可能なクラスの総数についてです。

*ローカルアドレスからsynsetファイルをロードするには、少し修正する必要があります。

base_url = '/home/snf/libraries/tf_models/slim' 
    synset_url = '{}/listOfTags.txt'.format(base_url) 
    synset_to_human_url = '{}/imagenet21k_metadata.txt'.format(base_url) 
  1. tf_models /スリム/データセットにdatasetfactory.pyする新しいデータセットの追加:

    :スリム/これらの行を含むTrain_Imgnet.shファイルを作成/ tf_modelsで

    from datasets import imgnet 
    datasets_map = { 
    'cifar10': cifar10, 
    'flowers': flowers, 
    'imagenet': imagenet, 
    'mnist': mnist, 
    'imgnet': imgnet, #add this line to dataset_map 
    
    } 
    
  2. TRAIN_DIR=trained/imgnet-inception-v4 
    DATASET_DIR=/media/where/tfrecords/saved/tfRecords-fall11_21k 
    CUDA_VISIBLE_DEVICES="0,1,2,3" python train_image_classifier.py 
    
        --train_dir=${TRAIN_DIR} \ 
        --dataset_name=imgnet \ 
        --dataset_split_name=train \ 
        --dataset_dir=${DATASET_DIR} \ 
        --model_name=inception_v4 \ 
        --max_number_of_steps=10000000 \ 
        --batch_size=32 \ 
        --learning_rate=0.01 \ 
        --learning_rate_decay_type=fixed \ 
        --save_interval_secs=60 \ 
        --save_summaries_secs=60 \ 
        --log_every_n_steps=100 \ 
        --optimizer=rmsprop \ 
        --weight_decay=0.00004\ 
        --num_readers=12 \ 
        --num_clones=4 
    
  3. ファイルを実行可能ファイル(Chmod + x Train_Imgnet.sh)に設定して実行します(./Train_Imgn et.sh)

関連する問題