Tensorflow の CNN で使用するために、一連の jpg 画像を TFRecord に変換しようとしています。ここからスクリプト build_image_data.py を使用しています。
https://github.com/tensorflow/models/blob/master/inception/inception/data/build_image_data.py
検証ディレクトリとトレーニング ディレクトリ、および適切なラベルを含む labels.txt ファイルを作成しました。jupyter ノートブックを使用してスクリプトを実行し (コマンドラインでも試しました)、tf.app.flags.DEFINE_string 引数を適切なディレクトリ/ファイル名に変更しました。実行すると、次のエラーが表示されます。
Saving results to /tmp/
Determining list of input files and labels from /tmp/.
---------------------------------------------------------------------------
NotFoundError Traceback (most recent call last)
<ipython-input-2-6349ff3421a2> in <module>()
356
357 if __name__ == '__main__':
--> 358 tf.app.run()
C:\Users\Lenovo\Anaconda3\envs\tensorflow3_5\lib\site-packages\tensorflow\python\platform\app.py in run(main, argv)
42 # Call the main function, passing through any arguments
43 # to the final program.
---> 44 _sys.exit(main(_sys.argv[:1] + flags_passthrough))
45
46
<ipython-input-2-6349ff3421a2> in main(unused_argv)
350 # Run it!
351 _process_dataset('validation', FLAGS.validation_directory,
--> 352 FLAGS.validation_shards, FLAGS.labels_file)
353 _process_dataset('train', FLAGS.train_directory,
354 FLAGS.train_shards, FLAGS.labels_file)
<ipython-input-2-6349ff3421a2> in _process_dataset(name, directory, num_shards, labels_file)
336 labels_file: string, path to the labels file.
337 """
--> 338 filenames, texts, labels = _find_image_files(directory, labels_file)
339 _process_image_files(name, filenames, texts, labels, num_shards)
340
<ipython-input-2-6349ff3421a2> in _find_image_files(data_dir, labels_file)
288 print('Determining list of input files and labels from %s.' % data_dir)
289 unique_labels = [l.strip() for l in tf.gfile.FastGFile(
--> 290 labels_file, 'r').readlines()]
291
292 labels = []
C:\Users\Lenovo\Anaconda3\envs\tensorflow3_5\lib\site-packages\tensorflow\python\lib\io\file_io.py in readlines(self)
126 def readlines(self):
127 """Returns all lines from the file in a list."""
--> 128 self._preread_check()
129 lines = []
130 while True:
C:\Users\Lenovo\Anaconda3\envs\tensorflow3_5\lib\site-packages\tensorflow\python\lib\io\file_io.py in _preread_check(self)
71 with errors.raise_exception_on_not_ok_status() as status:
72 self._read_buf = pywrap_tensorflow.CreateBufferedInputStream(
---> 73 compat.as_bytes(self.__name), 1024 * 512, status)
74
75 def _prewrite_check(self):
C:\Users\Lenovo\Anaconda3\envs\tensorflow3_5\lib\contextlib.py in __exit__(self, type, value, traceback)
64 if type is None:
65 try:
---> 66 next(self.gen)
67 except StopIteration:
68 return
C:\Users\Lenovo\Anaconda3\envs\tensorflow3_5\lib\site-packages\tensorflow\python\framework\errors_impl.py in raise_exception_on_not_ok_status()
464 None, None,
465 compat.as_text(pywrap_tensorflow.TF_Message(status)),
--> 466 pywrap_tensorflow.TF_GetCode(status))
467 finally:
468 pywrap_tensorflow.TF_DeleteStatus(status)
NotFoundError: NewRandomAccessFile failed to Create/Open: : The system cannot find the path specified.
手がかりはありますか?検証フォルダーとトレーニング フォルダーを含む同じディレクトリからスクリプトを実行しています。ありがとう。
編集:フルパスを使用しようとしましたが、それでも同じエラーが発生します。コードの関連セクションは次のとおりです。これは、私の側の単純なエラーであると確信しています。
tf.app.flags.DEFINE_string('train_directory', '/tmp/',
'C:/Users/Lenovo/dir2/tensorflow_code/cell_tf/cell_images/main_cell_images/TRAIN_DIR')
tf.app.flags.DEFINE_string('validation_directory', '/tmp/',
'C:/Users/Lenovo/dir2/tensorflow_code/cell_tf/cell_images/main_cell_images/VALIDATION_DIR')
tf.app.flags.DEFINE_string('output_directory', '/tmp/',
'C:/Users/Lenovo/dir2/tensorflow_code/cell_tf/cell_images/main_cell_images/OUTPUT_DIR')
tf.app.flags.DEFINE_integer('train_shards', 1,
'Number of shards in training TFRecord files.')
tf.app.flags.DEFINE_integer('validation_shards', 1,
'Number of shards in validation TFRecord files.')
tf.app.flags.DEFINE_integer('num_threads', 1,
'Number of threads to preprocess the images.')
tf.app.flags.DEFINE_string('labels_file', '','C:/Users/Lenovo/dir2/tensorflow_code/cell_tf/cell_images/main_cell_images/MYLABELS.TXT')