Colab使用wget下载CUB_200_2011数据集链接报错问题咨询
问题根因
原下载链接没有错误,出现该问题的原因如下:
- Caltech官方的原始下载链接已设置301永久重定向,跳转目标为Google Drive的文件预览页面,而非压缩包的直接下载地址
- wget默认无法识别Google Drive预览页的真实下载地址,也不会处理Google Drive的文件下载验证逻辑,因此最终下载到本地的
CUB_200_2011.tgz本质是HTML网页文件,体积只有70KB左右,自然不符合gzip压缩格式,执行tar解压命令会报错
解决方案
Colab环境下可直接使用预装的gdown工具下载Google Drive公开文件,执行以下命令即可获取完整的CUB_200_2011压缩包:
!gdown 1hbzc_P1FuxMkcabkgn9ZKinBwW683j45
下载完成后执行解压命令即可正常提取文件:
!tar -xvzf CUB_200_2011.tgz
如果需要使用wget完成下载,可使用适配Google Drive下载逻辑的命令:
!wget --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=1hbzc_P1FuxMkcabkgn9ZKinBwW683j45' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=1hbzc_P1FuxMkcabkgn9ZKinBwW683j45" -O CUB_200_2011.tgz && rm -rf /tmp/cookies.txt
内容的提问来源于stack exchange,提问作者aqsa janjua
相关产品推荐
相关产品推荐

