当前位置:   article > 正文

解决PermissionError: [Errno 13] Permission denied: './data\\mnist\\train-images-idx3-ubyte'_运行yolov3中train.py时报错:permissionerror:[errno 13]per

运行yolov3中train.py时报错:permissionerror:[errno 13]permission denied

1.问题描述

 最近在跑github上的一个DCGAN(Deep Convolutional Generative Adversarial Networks)项目(项目代码路径:https://github.com/carpedm20/DCGAN-tensorflow)时,遇到了下面的问题:

  1. 2018-12-17 22:46:22.845004: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
  2. Traceback (most recent call last):
  3. File "main.py", line 97, in <module>
  4. tf.app.run()
  5. File "D:\software_installed\Anaconda\lib\site-packages\tensorflow\python\platform\app.py", line 125, in run
  6. _sys.exit(main(argv))
  7. File "main.py", line 61, in main
  8. sample_dir=FLAGS.sample_dir)
  9. File "D:\ML\jupyter\github\21DeepLearningProjects\21DeepLearningProjects\Ch8_Gan\model.py", line 74, in __init__
  10. self.data_X, self.data_y = self.load_mnist()
  11. File "D:\ML\jupyter\github\21DeepLearningProjects\21DeepLearningProjects\Ch8_Gan\model.py", line 464, in load_mnist
  12. fd = open(os.path.join(data_dir, 'train-images-idx3-ubyte'))
  13. PermissionError: [Errno 13] Permission denied: './data\\mnist\\train-images-idx3-ubyte'

        这是一个用对抗神经网络生成手写字体的实例,从日志中可以看出原因是读取data/mnist/train-images-idx3-ubyte时Permission denied了。train-images-idx3-ubyte是mnist数据集中的一个文件。

2.解决办法 

因为代码是GitHub上的,所以原始代码应该没有问题才对。在网上找了一圈,在https://blog.csdn.net/qq_41185868/article/details/82913883链接中看到了问题原因,所以在此记录一下,也感谢这位大神的帮助。

问题原因:我使用的Windows系统,而在Windows下,访问一个文件是要带后缀名的。我将train-images-idx3-ubyte改为train-images.idx3- ubyte后问题得到解决。model.py里load_mnist方法中相对应的加载其他几个文件的代码也需要,修改后代码如下:

  1. def load_mnist(self):
  2. data_dir = os.path.join("./data", self.dataset_name)
  3. print("data_dir=", data_dir)
  4. #use in linux
  5. #fd = open(os.path.join(data_dir, 'train-images-idx3-ubyte'))
  6. #use in windows
  7. fd = open(os.path.join(data_dir, 'train-images.idx3-ubyte'))
  8. loaded = np.fromfile(file=fd,dtype=np.uint8)
  9. trX = loaded[16:].reshape((60000,28,28,1)).astype(np.float)
  10. #fd = open(os.path.join(data_dir,'train-labels-idx1-ubyte'))
  11. fd = open(os.path.join(data_dir, 'train-labels.idx1-ubyte'))
  12. loaded = np.fromfile(file=fd,dtype=np.uint8)
  13. trY = loaded[8:].reshape((60000)).astype(np.float)
  14. #fd = open(os.path.join(data_dir, 't10k-images-idx3-ubyte'))
  15. fd = open(os.path.join(data_dir, 't10k-images.idx3-ubyte'))
  16. loaded = np.fromfile(file=fd,dtype=np.uint8)
  17. teX = loaded[16:].reshape((10000,28,28,1)).astype(np.float)
  18. #fd = open(os.path.join(data_dir,'t10k-labels-idx1-ubyte'))
  19. fd = open(os.path.join(data_dir, 't10k-labels.idx1-ubyte'))
  20. loaded = np.fromfile(file=fd,dtype=np.uint8)
  21. teY = loaded[8:].reshape((10000)).astype(np.float)

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/724777
推荐阅读
相关标签
  

闽ICP备14008679号