尝试在python中使用keras打开经过训练的模型时,出现“ OSError:无法打开文件权限被拒绝”

时间:2019-02-03 05:43:25

标签: python tensorflow keras deep-learning python-3.6

通过一些视频教程之后,我已经成功地使用python 3.6,tensorflow和keras训练了机器学习模型。但是,当我尝试打开训练有素的模型时,会抛出一个错误消息

  

OSError:无法打开文件(无法打开文件:name ='logs / Cats-vs-dog-cnn-64x2',errno = 13,错误消息='权限被拒绝,标志= 0,o_flags = 0 )

这是我用来保存经过训练的模型的代码段

NAME = "Cats-vs-dog-cnn-64x2"
tensorboard = TensorBoard(log_dir='logs/{}'.format(NAME))

model = Sequential()
model.add(Conv2D(64, (3,3), input_shape=X.shape[1:]))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2,2)))

model.add(Conv2D(64, (3,3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2,2)))

model.add(Flatten())
model.add(Dense(64))
model.add(Activation('relu'))

model.add(Dense(1))
model.add(Activation('sigmoid'))

model.compile(loss='binary_crossentropy',
             optimizer='adam',
             metrics=['accuracy'])

model.fit(X, y, batch_size=5, epochs=10, validation_split=0.1, callbacks=[tensorboard])

这就是我试图从另一个python文件中打开经过训练的模型的方式。

import cv2
import tensorflow as tf

CATEGORIES = ["Dog", "Cat"]

def prepare(filepath):
  IMG_SIZE = 70
  img_array = cv2.imread(filepath, cv2.IMREAD_GRAYSCALE)
  new_array = cv2.resize(img_array, (IMG_SIZE, IMG_SIZE))
  return new_array.reshape(-1, IMG_SIZE, IMG_SIZE, 1)

model = tf.keras.models.load_model("logs/{}".format("Cats-vs-dog-cnn-64x2"))

这是完整的错误日志。

  

回溯(最近通话最近):文件   第12行中的“ C:\ Users \ Thamindu \ Music \ test \ test.py”       模型= tf.keras.models.load_model(“ logs / {}”。format(“ Cats-vs-dog-cnn-64x2”))
  文件   “ C:\ Users \ Thamindu \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ tensorflow \ python \ keras \ engine \ saving.py”,   第219行,在load_model中       f = h5py.File(filepath,mode ='r')文件“ C:\ Users \ Thamindu \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ h5py_hl \ files.py”,   第394行,在 init 中       swmr = swmr)文件“ C:\ Users \ Thamindu \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ h5py_hl \ files.py”,   第170行,在make_fid中       fid = h5f.open(名称,标志,fapl = fapl)文件“ h5py_objects.pyx”,第54行,位于h5py._objects.with_phil.wrapper文件中   h5py._objects.with_phil.wrapper中的第55行中的“ h5py_objects.pyx”
  文件“ h5py \ h5f.pyx”,位于h5py.h5f.open中的第85行OS错误:无法打开   文件(无法打开文件:name ='logs / Cats-vs-dog-cnn-64x2',errno =   13,错误消息=“权限被拒绝”,标志= 0,o_flags = 0)

任何帮助将不胜感激。

0 个答案:

没有答案