报错:Exception: URL fetch failure on https://storage.googleapis.com/download.tensorflow.org/data/imagenet_class_index.json: None -- [WinError 10054] 远程主机强迫关闭了一个现有的连接。
原因:无法根据已有的链接下载imagenet_class_index.json文件,因为该链接需要访问谷歌,属于外网,国内无法正常访问
一、解决方法
Step1: 找到 imagenet_utils.py文件
每个人的路径可能有点区别,而且该路径也藏得比较深,所以建议进入site-packages后直接搜索"imagenet_utils.py"
Step2: 用记事本打开该文件,然后进行修改
将CLASS_INDEX_PATH修改为"https://s3.amazonaws.com/deep-learning-models/image-models/imagenet_class_index.json",如下图:
原理就是将链接替换成可正常访问的。
修改后记得保存哦!
二、试错经历
在这种方法之前,我还进行很多其他尝试。其中一种就是将所需的数据集下载到本地,然后将其放入C盘的.keras/datasets文件夹中,请参考这篇文章:【深度学习】解决读入MINST数据集出现错误问题_url fetch failure on-优快云博客
我实践时,该方法对MINST数据集奏效,套用在imagenet_class_index.json数据集却不行。
三、方法总结
遇到类似“Exception: URL fetch failure on ....”,解决方法×2(我目前试过有效的):
方法1:将报错的网址在相应文件中改成可正常访问的
方法2:将报错中提到的数据集下载到本地,放入.keras/datasets文件夹
至于网址、数据集还可以到Gitee、GitHub....上找。