首先,我下载了mnist
数据集并提取了所有数据集,然后将提取的文件放在data
文件夹中。所以数据目录是这样的:
{data}->{mnist}->{t10k-images-idx3-ubyte(folder), t10k-labels-idx1-ubyte(folder), train-images-idx3-ubyte(folder), train-labels-idx1-ubyte(folder)}
在这些文件夹中,有相关的mnist
二进制文件。
之后,我想用命令测试模型:
python main.py --dataset mnist --input_height=28 --output_height=28
但是,我收到此错误:
{'的batch_size':
64,' beta1':0.5,' checkpoint_dir':' checkpoint',' crop':False, '数据集':' mnist',' epoch':25,' input_fname_pattern':' *。jpg', ' input_height':28,' input_width':无,' learning_rate':0.0002, ' output_height':28,' output_width':无,' sample_dir':' samples', '训练':False,' train_size':inf,' visualize':False} 2017-05-19 06:39:26.142508:W c:\ tf_jenkins \ home \ workspace \ release-win \ device \ gp u \ os \ windows \ tensorflow \ core \ platform \ cpu_feature_guard.cc:45] TensorFlow li brary没有编译为使用SSE指令,但这些 可以在您的机器上使用,并可以加速CPU计算。 2017-05-19 06:39:26.142773:W C:\ tf_jenkins \家庭\工作区\释放赢\设备\ GP u \ os \ windows \ tensorflow \ core \ platform \ cpu_feature_guard.cc:45] TensorFlow li brary没有编译为使用SSE2指令,但是 这些都可以在您的机器上使用,并可以加速CPU 计算。 2017-05-19 06:39:26.142990:W C:\ tf_jenkins \家庭\工作区\释放赢\设备\ GP u \ os \ windows \ tensorflow \ core \ platform \ cpu_feature_guard.cc:45] TensorFlow li brary没有编译为使用SSE3指令,但是 这些都可以在您的机器上使用,并可以加速CPU 计算。 2017-05-19 06:39:26.143212:W C:\ tf_jenkins \家庭\工作区\释放赢\设备\ GP u \ os \ windows \ tensorflow \ core \ platform \ cpu_feature_guard.cc:45] TensorFlow li brary没有编译为使用SSE4.1指令,但是 这些都可以在你的机器上使用,并可以加速CPU 计算。 2017-05-19 06:39:26.143558:W C:\ tf_jenkins \家庭\工作区\释放赢\设备\ GP u \ os \ windows \ tensorflow \ core \ platform \ cpu_feature_guard.cc:45] TensorFlow li brary没有编译为使用SSE4.2指令,但是 这些都可以在你的机器上使用,并可以加速CPU 计算。 2017-05-19 06:39:26.143833:W C:\ tf_jenkins \家庭\工作区\释放赢\设备\ GP u \ os \ windows \ tensorflow \ core \ platform \ cpu_feature_guard.cc:45] TensorFlow li brary没有编译为使用AVX指令,但这些 可以在您的机器上使用,并可以加速CPU计算。 2017-05-19 06:39:26.144102:W C:\ tf_jenkins \家庭\工作区\释放赢\设备\ GP u \ os \ windows \ tensorflow \ core \ platform \ cpu_feature_guard.cc:45] TensorFlow li brary没有编译为使用AVX2指令,但是 这些都可以在您的机器上使用,并可以加速CPU 计算。 2017-05-19 06:39:26.144438:W C:\ tf_jenkins \家庭\工作区\释放赢\设备\ GP u \ os \ windows \ tensorflow \ core \ platform \ cpu_feature_guard.cc:45] TensorFlow li brary没有编译为使用FMA指令,但这些 可以在您的机器上使用,并可以加速CPU计算。 2017-05-19 06:39:26.219026:我 C:\ tf_jenkins \家庭\工作区\释放赢\设备\ GP U \ OS \ WINDOWS \ tensorflow \核心\ common_runtime \ GPU \ gpu_device.cc:887] 找到具有属性的设备0:名称:GeForce 820M major:2 minor:1 memoryClockRate(GHz)1.25 pciBusID 0000:03:00.0总内存:2.00GiB 可用内存:1.94GiB 2017-05-19 06:39:26.219532:我 C:\ tf_jenkins \家庭\工作区\释放赢\设备\ GP U \ OS \ WINDOWS \ tensorflow \核心\ common_runtime \ GPU \ gpu_device.cc:908] DMA:0 2017-05-19 06:39:26.219721:我 C:\ tf_jenkins \家庭\工作区\释放赢\设备\ GP u \ os \ windows \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc:918] 0: Y 2017-05-19 06:39:26.219874:我 C:\ tf_jenkins \家庭\工作区\释放赢\设备\ GP U \ OS \ Windows \ tensorflow \芯\ common_runtime \ GPU \ gpu_device.cc:950] 忽略可见的gpu设备(设备:0,名称:GeForce 820M,pci总线 id:0000:03:00.0)具有Cu da计算能力2.1。最低 要求Cuda的能力是3.0。 Traceback(最近一次调用最后一次): 文件" main.py",第97行,在tf.app.run()文件中 " C:\用户\ vafaee \ Miniconda2 \ ENVS \ tensorflow35 \ lib中\站点包\ tensorflo w \ python \ platform \ app.py",第48行,在运行中 _sys.exit(main(_sys.argv [:1] + flags_passthrough))文件" main.py",第61行,主sample_dir = FLAGS.sample_dir)文件 " C:\用户\ vafaee \文件\ DCGAN-tensorflow主\ DCGAN-tensorflow-马斯特 r \ model.py",第74行,在init self.data_X中,self.data_y = self.load_mnist()文件 " C:\用户\ vafaee \文件\ DCGAN-tensorflow主\ DCGAN-tensorflow-马斯特 r \ model.py",第467行,在load_mnist fd =中 开放(os.path.join(DATA_DIR,'列车图像 - 的idx3-UBYTE')) PermissionError:[Errno 13]权限被拒绝: ' ./数据\ MNIST \列车图像 - 的idx3 -ubyte'
我正在以管理员身份运行命令提示符,但它没有工作。
我还检查了权限,右键单击文件夹/文件,然后转到" security"选项卡和检查权限。一切似乎都很好。
到目前为止,我无法通过查找以前的问题来解决问题。
我使用的是Windows 8,我正在通过coda环境运行代码。
我对此问题表示感谢。
答案 0 :(得分:1)
我能够通过以下解决方案解决此问题:
实际上,这段代码是为了在Linux中使用而编写的。但是,我的平台是Windows。在“model.py”脚本和load_mnist()函数中,加载数据的代码是data_dir = os.path.join("./data", self.dataset_name)
但是,在Windows中,您无法通过“./”代码访问当前目录。所以我将这一行改为以下几行:
current_dir = os.getcwd()
data1_dir = os.path.join(current_dir, 'data')
data2_dir = os.path.join(data1_dir, 'mnist')
data_dir = os.path.join(data2_dir, 'train-images-idx3-ubyte')
之后,在源代码中有这一行:
fd = open(os.path.join(data_dir,'train-images-idx3-ubyte'))
试图打开目录。所以我改成了这个: `fd = open(os.path.join(data_dir,'train-images.idx3-ubyte'),“r +”)
现在它对我有用。问题是这个代码保证工作,除了从Windows部分,它试图打开目录注意文件本身。 我希望这也可以帮助其他人。 `