keras无法下载MobileNetV2等的解决办法

近期在学习对抗攻击,在运行官网的FGSM示例时,

pretrained_model = tf.keras.applications.MobileNetV2(include_top=True,weights='imagenet')

该行因为如下原因报错:

Exception: URL fetch failure on https://storage.googleapis.com/tensorflow/keras-applications/mobilenet/mobilenet_1_0_224_tf.h5: None -- [WinError 10061] 由于目标计算机积极拒绝,无法连接。

可能是因为前段时间弄了代理,或者自己网速不行吧。

解决办法如下:
1.打开这个网址,下载这个文件
2.看出错信息,有这样一行

File "D:\Anc\envs\attack\lib\site-packages\tensorflow\python\keras\applications\mobilenet_v2.py", line 398, in MobileNetV2
    model_name, weight_path, cache_subdir='models')

跳转到该位置,查阅相关的信息,知道get_file是keras下载文件的函数。而参数cache_subdir是其用于缓存数据的文件夹。
所以我就把下载的h5文件放在某个文件夹中,将cache_subdir的值改为该文件夹的绝对路径就行了。

注:windows环境,解释器为anaconda的自己建的虚拟环境attack。

又注:如果沿用源码中的models的话,就把相关文件放到

C:\Users\Administrator\.keras\models

你可能感兴趣的:(bug,tensorflow)