通过一些视频教程之后,我已经成功地使用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)
任何帮助将不胜感激。