我从顺序创建了一个模型。当我保存它时,我收到了这条警告消息
home/anaconda3/lib/python3.8/site-packages/tensorflow/python/keras/utils/generic_utils.py:494: CustomMaskWarning: Custom mask layers require a config and must override get_config. When loading, the custom mask layer must be passed to the custom_objects argument.
warnings.warn('Custom mask layers require a config and must override
我测试了一张图像,预测结果很好,当我再次加载模型时,它开始给我错误的值,并且预测全部错误。模型和加载的正确方法是什么
import numpy as np
import matplotlib.pyplot as plt
import glob
import cv2
import os
from tensorflow import keras
from tensorflow.keras.layers import Conv2D, MaxPooling2D
from tensorflow.keras.layers import Input, Dropout, Flatten, Dense
from tensorflow.keras.layers import UpSampling2D
from tensorflow.keras.models import Model
from tensorflow.keras.layers import BatchNormalization
from tensorflow.keras.models import Sequential
input_shape = (3,1134,1134,3)
base_model = tf.keras.applications.ResNet50(
include_top=False,
weights="imagenet",
input_shape=(1134,1134,3),
pooling=max,
)
for layer in base_model.layers[:-4]:
layer.trainable = False
model = Sequential()
model.add(Conv2D(3,(3,3),activation='relu',padding='same'))
model.add(base_model)
model.add(Conv2D(3,(3,3),activation='relu',padding='same'))
# model.add(Convolution2D(3,(4,4),activation='relu',padding='same'))
model.add(UpSampling2D(size =(16,16)))
model.add(UpSampling2D())
model.add(BatchNormalization())
model.add(Conv2D(3,(3,3),activation='relu',padding='same'))
model.build(input_shape)
model.summary()
这就是我保存它的方式
model.save("/media/TOSHIBA EXT/trained_model/UAV_01.h5")
enter code here
model=keras.models.load_model(
"/media/TOSHIBA EXT/trained_model/UAV_01.h5")