from tensorflow.keras.applications import VGG16
# 指定已下载的权重文件的本地路径
model_path = '/kaggle/input/vgg16-weights-tf-dim-ordering-tf-kernels-h5/vgg16_weights_tf_dim_ordering_tf_kernels.h5'
# 加载模型
model = VGG16(weights=model_path)
# 先把下面的注释去掉会报错,下载权重文件失败,然后在点击该网站来下载.h5文件
#model = VGG16()
fe = Model(inputs=model.input, outputs=model.layers[-2].output)
img_size = 224
features = {}
for image in tqdm(data['image'].unique().tolist()):
img = load_img(os.path.join(image_path,image),target_size=(img_size,img_size))
img = img_to_array(img)
img = img/255.
img = np.expand_dims(img,axis=0)
feature = fe.predict(img, verbose=0)
features[image] = feature
import pickle
# 将 features 变量保存到本地文件
with open('features_VGG16.pkl', 'wb') as file:
pickle.dump(features, file)
kaggle权重导入和模型导入
最新推荐文章于 2024-07-14 16:55:33 发布