保存 Keras 模型:UTF - 8 错误
Saving Keras Model: UTF - 8 Error
我在 keras 中构建了一个卷积神经网络,如下所示:
model = Sequential()
model.add(Convolution2D(nb_filters, nb_conv, nb_conv,
border_mode='valid',
input_shape=(img_cols, img_rows, 3)))
convout1 = Activation('relu')
model.add(convout1)
model.add(Convolution2D(nb_filters, nb_conv, nb_conv))
convout2 = Activation('relu')
model.add(MaxPooling2D(pool_size=(nb_pool, nb_pool)))
model.add(convout2)
model.add(MaxPooling2D(pool_size=(nb_pool, nb_pool)))
model.add(Dropout(0.5))
model.add(Flatten())
model.add(Dense(128))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(nb_classes))
model.add(Activation('softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adadelta', metrics=['accuracy'])
我试图在训练后保存我的模型的权重:
fname = "weights-Test-CNN.hdf5"
model.load_weights(fname)
程序运行,并创建了一个文件,但是一旦我打开文件,就会显示以下内容:
错误! C://Users/NAME/weights-Test-CNN.hdf5 不是 UTF-8 编码的。
保存禁用。
有关详细信息,请参阅控制台。
如何修复此错误以便正确保存权重?
权重实际上被保存了。这里的问题是您不能将它们作为 UTF-8 编码文件来读取。但是,如果您尝试加载权重,它应该会起作用。
我在 keras 中构建了一个卷积神经网络,如下所示:
model = Sequential()
model.add(Convolution2D(nb_filters, nb_conv, nb_conv,
border_mode='valid',
input_shape=(img_cols, img_rows, 3)))
convout1 = Activation('relu')
model.add(convout1)
model.add(Convolution2D(nb_filters, nb_conv, nb_conv))
convout2 = Activation('relu')
model.add(MaxPooling2D(pool_size=(nb_pool, nb_pool)))
model.add(convout2)
model.add(MaxPooling2D(pool_size=(nb_pool, nb_pool)))
model.add(Dropout(0.5))
model.add(Flatten())
model.add(Dense(128))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(nb_classes))
model.add(Activation('softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adadelta', metrics=['accuracy'])
我试图在训练后保存我的模型的权重:
fname = "weights-Test-CNN.hdf5"
model.load_weights(fname)
程序运行,并创建了一个文件,但是一旦我打开文件,就会显示以下内容:
错误! C://Users/NAME/weights-Test-CNN.hdf5 不是 UTF-8 编码的。 保存禁用。 有关详细信息,请参阅控制台。
如何修复此错误以便正确保存权重?
权重实际上被保存了。这里的问题是您不能将它们作为 UTF-8 编码文件来读取。但是,如果您尝试加载权重,它应该会起作用。