最近在使用与训练网络模型ResNet50 Faster R-CNN的时候,发现系统自带的下载方式是非常慢的,而且等待好久一段时间后出现:
TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败的报错信息。
然后通常的解决方式就是给出下载路径进行迅雷下载,这也是常用的解决方式:
然后复制链接进行迅雷新建任务下载即可,确实比直接从默认下载方式快了很多,然后下载成功后,将其复制到默认的下载路径中即可。
但是却发现了一个问题,我们将下载的文件复制到该文件夹下却还是按照默认的方式进行下载。通过网上查询,找到了原因和解决方案,最简单的方式就是打开该模型的配置文件,修改其url。
按下Ctrl键并移动到该模型的函数上,鼠标编程手掌形态,并且出现了超链接,我们单机即可,就进入了定义该函数的位置。
在定义函数的上面会有一个model_urls,这里面定义了下载路径。我们再和下面提示我们下载的文件和上面的路径进行对比,并不是一模一样,但是主要下载的东西是一样的,仔细看还是可以找到的,在这里我们要下载的是resnet50,然后与之对应的就是第一个下载路径。
这里我们要注意,上面哪个是默认的路径,下面的是我自己修改的绝对路径(因为这里需要对应配置文件的位置来配置相对路径比较麻烦,所以为省事就用了绝对路径,如果用相对路径,记得当前目录和下载目录的对应关系。)这里为了以后的修改,还是采取注释的方式,并不是把原来的代码删除,这样以防我们本地的文件误删后,我们还可以找到原始下载路径进行下载。
然后我们进行说明,True和False的区别。
首先,系统默认的参数是False,就是直接根据配置文件进行下载。
然后设置为True的情况是首先根据本地的地址进行寻找,如果本地没有该模型,就从官方地址中进行下载并预训练。而且从官方的方式下载会自动输出模型。不需要print()函数。
如果已经下载到本地,我们想要看我们下载的模型,就需要print()函数进行输出。
然后我把从官方的方式下载输出也贴出来,可以对比看一下。
这个是不需要输出函数的。
这一点和数据集下载的参数"down=true"和"down=False"有些相似之处的,我们进行对比理解记忆即可。
通过上面的方式,我们就解决了官方方式下载比较慢的问题,当然了解决方式并不是只有这一种,个人感觉这样还是比较方便的,而且迅雷每天都有首次的免费加速,大大减少了我们的下载时间,既不用开会员,又节省了时间,这不香吗?哈哈。