Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tensorflow failed to create a newwriteablefile when retraining inception

I am following this tutorial: https://codelabs.developers.google.com/codelabs/tensorflow-for-poets/?utm_campaign=chrome_series_machinelearning_063016&utm_source=gdev&utm_medium=yt-desc#4

I am running this part of the code:

python retrain.py \
  --bottleneck_dir=bottlenecks \
  --how_many_training_steps=500 \
  --model_dir=inception \
  --summaries_dir=training_summaries/basic \
  --output_graph=retrained_graph.pb \
  --output_labels=retrained_labels.txt \
  --image_dir=flower_photos

Here is the error that I get after it finds the images, makes a bunch of bottlenecks and also does steps training.

Traceback (most recent call last):
  File "retrain.py", line 1062, in <module>
    tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)
  File "C:\Anaconda3\lib\site-packages\tensorflow\python\platform\app.py", line 48, in run
    _sys.exit(main(_sys.argv[:1] + flags_passthrough))
  File "retrain.py", line 905, in main
    f.write('\n'.join(image_lists.keys()) + '\n')
  File "C:\Anaconda3\lib\site-packages\tensorflow\python\lib\io\file_io.py", line 101, in write
    self._prewrite_check()
  File "C:\Anaconda3\lib\site-packages\tensorflow\python\lib\io\file_io.py", line 87, in _prewrite_check
    compat.as_bytes(self.__name), compat.as_bytes(self.__mode), status)
  File "C:\Anaconda3\lib\contextlib.py", line 66, in __exit__
    next(self.gen)
  File "C:\Anaconda3\lib\site-packages\tensorflow\python\framework\errors_impl.py", line 466, in raise_exception_on_not_ok_status
    pywrap_tensorflow.TF_GetCode(status))
tensorflow.python.framework.errors_impl.NotFoundError: Failed to create a NewWriteableFile: /tmp/output_labels.txt : The system cannot find the path specified.

You can find all my code here: https://github.com/officialgupta/MachineLearningRecipes

Thanks

like image 632
officialgupta Avatar asked Jul 13 '17 09:07

officialgupta


3 Answers

I have also found some similar errors. And if I understood, that you need to set an absolute paths for --output_graph and --output_labels.

For example:

--output_graph=/home/%your_homhttps://stackoverflow.com/review/late-answers/17020426#e_user_name_folder%/Inception_retrained_graph.pb 
--output_labels=/home/%your_home_user_name_folder%/Inception_retrained_labels.txt 
like image 57
Nikita Verbitskiy Avatar answered Sep 30 '22 19:09

Nikita Verbitskiy


In a similar case,I have met errors, when I tried to execute this command:

writer = tf.python_io.TFRecordWriter(FLAGS.output_path)

then I found that, the output_path is empty. So you need to make sure an absolute paths is available.

like image 27
david_liu Avatar answered Sep 30 '22 17:09

david_liu


I had the same issue. The only thing I had to do is to reduce the length of path.

For example:

C:\Users\test\lib\Workspace\DataScience\Bachelorarbeit\ba_test\src\saved_models\neural20201029-235456-a0.8775

instead of

C:\Users\test\lib\Workspace\DataScience\Bachelorarbeit\ba_test\src\saved_models\neural20201029-234822Arg-e1-b512-l1-n256-oadam-z0.005-r0-d0-a0.8803.

like image 37
Ling Avatar answered Sep 30 '22 17:09

Ling