如果无法使用 TensorFlow 下载预训练模型,如何手动加载它

How to manually load pretrained model if I can't download it using TensorFlow

我正在尝试通过 TensorFlow 下载 VGG19 模型

base_model = VGG19(input_shape = [256,256,3],
                    include_top = False,
                    weights = 'imagenet')

但是下载总是在下载完成之前就卡住了。我也尝试过不同的模型,比如 InceptionV3,同样的情况也发生在那里。

幸运的是,提示使link可用,可以手动下载模型

Downloading data from https://storage.googleapis.com/tensorflow/keras-applications/vgg19/vgg19_weights_tf_dim_ordering_tf_kernels_notop.h5
19546112/80134624 [======>.......................] - ETA: 11s

从给定的 link 下载模型后,我尝试使用

导入模型
base_model = load_model('vgg19_weights_tf_dim_ordering_tf_kernels_notop.h5')

但是我得到这个错误

ValueError: No model found in config file.

如何手动加载下载的 .h5 模型?

您使用的是 load_model 权重,而不是模型。您需要先定义模型,然后加载权重。

weights = "path/to/weights"
model = VGG19  # the defined model
model.load_weights(weights)  # the weights