解决基于keras的inception_v3预训练模型无法下载问题并进行简单调用
解决基于keras的inception_v3预训练模型无法下载问题并进行简单调用
#导入所需要的库
import tensorflow as tf
from tensorflow.keras.preprocessing import image
from tensorflow.keras.applications.inception_v3 import preprocess_input, decode_predictions
import numpy as np
#下载、读取预训练模型,创建模型实例
model = tf.keras.applications.inception_v3.InceptionV3()
运行后报错:无法下载预训练模型
报错
Exception: URL fetch failure on https://github.com/fchollet/deep-learning-models/releases/download/v0.5/inception_v3_weights_tf_dim_ordering_tf_kernels.h5: None – [Errno 111] Connection refused
1
以上语句可以自行下载预训练模型,但是由于墙的原因,在国内运行会导致报错。
解决方法:
由于程序的运行顺序是先检查keras的缓存文件夹里有没有对应文件,如果没有才会去下载,所以可以预先下载预训练模型并放入缓存文件夹,跳过下载的过程。
下载链接:
https://github.com/fchollet/deep-learning-models/releases/download/v0.5/inception_v3_weights_tf_dim_ordering_tf_kernels.h5
https://github.com/fchollet/deep-learning-models/releases/download/v0.5/inception_v3_weights_tf_dim_ordering_tf_kernels_notop.h5
注意两个都需要下,不然还是会报错。
这里开始是重点了!!!!!
许多网友的方法是:将下载下来的模型文件:inception_v3_weights_tf_dim_ordering_tf_kernels.h5,放到缓存文件夹即可。但我尝试过根本不行!!!!
在网友的解决思路上,我跳到了那个源代码文件tf.keras.applications.InceptionV3里去看终于找到原因了。
这是因为源文件InceptionV3里的链接还是网页链接,你需要把它替换成缓存文件的本地地址。然后问题就结局了。
mac 上的示例如下:
更多推荐
所有评论(0)