windows系统下处理imagenet验证集
imagenet数据集庞大,我们下载之后,验证集只包括没有被分类好的图片。一般imagnet被放置在linux服务器上,但在windows系统上使用、验证imagenet的场景仍然存在,例如我们只是想在本地验证模型的精度。现在有很多在linux系统下处理imagenet验证集的教程,包括pytorch的官方处理脚本。本文改写了pytorch官方的处理脚本,使其可以运行在Windows上。处理好的验证集可在我的百度云分享中下载:imagenet验证集,提取码odgh。如果仅对数据集有需求,下载即可,不必继续浏览,但强烈建议点赞收藏。
一、数据集下载
imagenet的下载方法已有很多教程,主要的方式有两种。
- imagenet官网下载
https://image-net.org/download.php
这种方法需要注册账户,稍微麻烦一些。
- 使用种子下载
训练集:http://academictorrents.com/download/a306397ccf9c2ead27155983c254227c0fd938e2.torrent
验证集:http://academictorrents.com/download/5d6d0df7ed81efd49ca99ea4737e0ae5e3a5f2e5.torrent
建议使用迅雷新建下载链接,并将这两个链接复制过去。如果没有迅雷会员的话,下载时间会比较长。
https://blog.csdn.net/qq_41214610/article/details/109372321
有关下载数据集的详细方法,可参考上述链接。
二、分析数据集
在Windows系统下,解压后的训练集图片已经被放到特定类别的文件夹,可以被DataLoader直接加载:
但解压后的验证集没有被分类,需要进一步处理:
linux系统下,可以直接运行pytorch提供的sh脚本 处理验证集,具体操作是将将脚本放在数据集压缩包同目录下,在bash ./extract_ILSVRC.sh运行,然而,windows系统显然不支持这样的操作。
三、编写bat文件
对于验证集,extract_ILSVRC.sh实际上是执行了
wget -qO- https://raw.githubusercontent.com/soumith/imagenetloader.torch/master/valprep.sh | bash
在浏览器打开该文件,是一系列linux命令:
那么我们只需将该文件改为windows可运行的bat文件,并将linux命令换成bat命令即可:
mkdir -> md
mv -> move
修改好的bat脚本可在我的百度网盘分享中下载,提取码 juxc。
上图是运行截图,运行时,请将
process_imagenet_val.bat 文件放到解压后的验证集ILSVRC2012_img_val的同级目录,脚本会在同级目录下创建val文件夹,该文件夹即为处理好的验证集。
四、结束
windows系统下处理imagenet验证集的主要流程是:
- 下载imagenet验证集
- 下载pytorch官方提供的imagenet验证集处理sh脚本
- 将sh脚本修改为bat脚本
- 运行bat脚本
本人目前希望提升自己的博客撰写水平,如读者在实现过程中遇到困难,或在阅读本文时感到困惑,欢迎留言或添加我的QQ:1106295085。我将在周日下午回复,并积极修改本文。