簡體   English   中英

嘗試使用python打開文件時權限被拒絕

[英]permission denied while trying to open a file with python

我想測試DCGAN(一種人工神經網絡)的張量模型

首先,我下載了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,'dataset':'mnist','epoch':25,'input_fname_pattern':'* .jpg','input_height': 28,'input_width':無,'learning_rate':0.0002,'output_height':28,'output_width':無,'sample_dir':'samples','train':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 \\ home \\ workspace \\ release-win \\ device \\ 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 \\ home \\ workspace \\ release-win \\ device \\ 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 \\ home \\ workspace \\ release-win \\ device \\ 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 \\ home \\ workspace \\ release-win \\ device \\ 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 \\ home \\ workspace \\ release-win \\ device \\ 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 \\ home \\ workspace \\ release-win \\ device \\ 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 \\ home \\ workspace \\ release-win \\ device \\ 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 \\ home \\ workspace \\ release-win \\ device \\ gp u \\ os \\ windows \\ tensorflow \\ core \\ common_runtime \\ gpu \\ gpu_device.cc:887]找到了設備0具有以下屬性:名稱:GeForce 820M主:2次:1 memoryClockRate(GHz)1.25 pciBusID 0000:03:00.0總內存:2.00GiB可用內存:1.94GiB 2017-05-19 06:39:26.219532:I c:\\ tf_jenkins \\ home \\ workspace \\ release-win \\ device \\ gp u \\ os \\ windows \\ tensorflow \\ core \\ common_runtime \\ gpu \\ gpu_device.cc:908] DMA:0 2017-05-19 06:39:26.219721:I c: \\ tf_jenkins \\ home \\ workspace \\ release-win \\ device \\ gp u \\ os \\ windows \\ tensorflow \\ core \\ common_runtime \\ gpu \\ gpu_device.cc:918] 0:Y 2017-05-19 06:39:26.219874:I c :\\ tf_jenkins \\ home \\ workspace \\ release-win \\ device \\ gp u \\ os \\ windows \\ tensorflow \\ core \\ common_runtime \\ gpu \\ gpu_device.cc:950]忽略了可見的gpu設備(設備:0,名稱:GeForce 820M,具有Cu da計算能力2.1的pci總線ID:0000:03:00.0)。 最低要求的Cuda功能為3.0。 追溯(最近一次通話最近):tf.app.run()中的文件“ main.py”,第97行,文件“ C:\\ Users \\ vafaee \\ Miniconda2 \\ envs \\ tensorflow35 \\ lib \\ site-packages \\ tensorflo w \\ python \\ platform \\ app.py”,第48行,在運行_sys.exit(main(_sys.argv [:1] + flags_passthrough))文件“ main.py”,第61行,在主sample_dir = FLAGS.sample_dir)文件中“ C:\\ Users \\ vafaee \\ Documents \\ DCGAN-tensorflow-master \\ DCGAN-tensorflow-maste r \\ model.py”,第74行,init self.data_X,self.data_y = self.load_mnist()文件“ C: \\ Users \\ vafaee \\ Documents \\ DCGAN-tensorflow-master \\ DCGAN-tensorflow-maste r \\ model.py“,第467行,位於load_mnist fd = open(os.path.join(data_dir,'train-images-idx3-ubyte '))PermissionError:[Errno 13]權限被拒絕:'./data\\mnist\\train-images-idx3 -ubyte'

我以管理員身份運行命令提示符,但沒有運行。

我還通過右鍵單擊文件夾/文件並轉到“安全性”選項卡並檢查權限來檢查權限。 一切似乎都很好。

到目前為止,我無法通過查找先前的問題來解決它。

我正在使用Windows 8,並且正在通過Coda環境運行代碼。

感謝您提供有關此問題的幫助。

我可以使用以下解決方案解決此問題:

實際上,此代碼是為在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部分除外,它試圖打開目錄並注意文件本身。 我希望這也可以幫助其他人。 `

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM