エラーレコードgenerate_tfrecord.py tfrecordを生成します

この記事では、訓練過程で遭遇python3.6 + egohand(手検出データセット)を発行するTensorflowのGPU 1.9.0を使用してWindows 10上の著者である:
そもそも最初から、私はgithubの上のコピーを見てきました手認識ソース達成するためのトレーニング
https://github.com/victordibia/handtrackingは
再びそれを介して実行します。これは、実際に成功を実行しています。ただ、訓練のオリジナルモデルが完了している使用しています。

第二のステップは、Tensorflowは、トレーニングデータセットのソースに再び再教育使用することです。

簡単に説明する手順:

  1. ダウンロードした手検出データ
    から
    http://vision.soic.indiana.edu/projects/egohands/

  2. あなたのデータを整理し
    、手動でアーカイブを解凍することなく、しかし、コードの使用は、データの照合を完了し、抽出するために
    、次の作業を完了するために、egohands_dataset_clean.py gitリポジトリを

あなたは(download_egohands_datasetを呼び出して現在のカタログegohands_data.zipをダウンロードしていない場合は)良い最初にダウンロードしてからでは、コピー、ダウンロードプロセスを避けるため中断し、手動で独自のアーカイブには、この手順をお勧めします
かegohands_data.zip解凍しegohandsフォルダを取得し、画像データ実行rename_files()ここで
rename_filesは()すべての画像の名前を変更します、プラスその親フォルダの名前、画像の名前は、重複を避けるために、と()generate_csv_filesを呼び出すために
、各シーンを読んで絵の下generate_csv_files()画像を変換して保存されたラベルのcsvファイルとして、すべてがに対処し、split_data_test_eval_train()を呼び出している間にget_bbox_visualize()、文書によるが、polygons.matの手描きの概要とアンカーボックスおよびディスプレイをマーク呼び出す
トレーニングとテストを完了するために、split_data_test_eval_train()ストライプセット、2つのファイル・フォルダの電車内の画像や新しいフォルダをテストするが、画像を保存し、対応するCSVファイルをマークされた
上記の作業が完了したことを、手動でegohandsアンパックフォルダの先頭を削除することができます

3.コールgenerate_tfrecord.py(からではないのgit https://github.com/datitran/raccoon_dataset/blob/master/generate_tfrecord.py
直接上書きコピー)、TFRecordファイルへのトレーニングとテストセットを開催します

ここでの唯一の手ですので、1つのオブジェクトのみカテゴリ、手をチェックする必要があるので、あなたがより多くのカスタムオブジェクト検出タスクが必要な場合は、次のコードはgenerate_tfrecord.pyを変更することができます

def class_text_to_int(row_label):
    if row_label == 'hand':
        return 1
    else:
        None

接下来将generate_tfrecord.py放到与egohands_dataset_clean.py同级目录中、运行
python generate_tfrecord.py --csv_input=images/train/train_labels.csv --output_path=train.record
报如下错误:
トレースバック(最新の呼び出しの最後):
ファイル"generate_tfrecord.py"、ライン100、<モジュール>で
tf.app.run( )
ファイル"D:\ PycharmProjects \ OpenCV_Tensor_Env LIB用の\のsite-packages \ \ tensorflow \ Pythonの\プラットフォーム\のapp.py"実行中に、ライン125、
_sys.exit(メイン(ARGV))
"generate_tfrecord.pyを"ファイル、ライン91 、メインで
tf_example = create_tf_example(グループ、パス)
create_tf_exampleに"generate_tfrecord.py"、46行を、ファイル
encoded_jpg = fid.read()
D」ファイル:\ PycharmProjects \ OpenCV_Tensor_Env \ libに\のsite-packages \ tensorflow \ Pythonの\ libにします\ IO \ file_io.py」、読み取り中のライン125、
self._preread_check()
ファイル"D:\ PycharmProjects \ libにOpenCV_Tensor_Envの\サイト-パッケージ\ tensorflow \ pythonの\ libに\ IO \ file_io.py \" _preread_checkの中、ライン85、
compat.as_bytes(自己.__名)、1024×512、状態)
ファイル」 D:\ PycharmProjects \ libにOpenCV_Tensor_Envの\サイト-パッケージ\ \ tensorflow \内のpython \枠組み\のerrors_impl.py」、行519、終了
c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.NotFoundError: NewRandomAccessFileは/オープンの作成に失敗しました:CARDS_COURTYARD_B_T_frame_0011.jpg:εͳ\udcd5Ҳ\ udcbb \ udcb5 \ udcbdָ\ udcb6 \ udca8 \ udcb5 \ udcc4 \udcceļ\ udcfe \ udca1 \ udca3
そのようなファイル、又はディレクトリはありません

作成するための最後の行の誤差は、オープンCARDS_COURTYARD_B_T_frame_0011.jpgファイルが失敗し
た画像/電車/ディレクトリにCARDS_COURTYARD_B_T_frame_0011.jpgファイルを、私は道を見つけるために時間を取って修正をすることができ、ファイルを読み込むgenerate_tfrecordと信じています。
それは、画像/電車/ディレクトリに移動generate_tfrecord限り、このディレクトリに画像ファイルを取得することですので、私は、ダウン怠惰を盗んだ
し、次に実行
python generate_tfrecord.py --csv_input=train_labels.csv --output_path=train.record
train.recordの成功を生成します。

オンラインstackflow、Linuxで実行し、システム環境で述べた変化、。このステップでは、あまり消費している、参照しようとする著者の段階で最初に推奨されています。

おすすめ

転載: blog.51cto.com/cfy10/2446070