【What is this?】
ImageNetから画像をダウンロードするプログラム
【Install】
$ cargo install --git https://github.com/miyagaw61/imagenet-downloader
【Usage】
まずはURLの一覧が記述されたファイルを用意する。
$ cat urls.txt
n00004475_6590 http://farm4.static.flickr.com/3175/2737866473_7958dc8760.jpg
n00004475_15899 http://farm4.static.flickr.com/3276/2875184020_9944005d0d.jpg
n00004476_32312 http://farm3.static.flickr.com/2531/4094333885_e8462a8338.jpg
1つ以上の空白で区切られており、左側はID、右側はURLになっている。
IDはまた一つのアンダースコアにより区切られており、imagenet-downloaderにこのようなURLリストファイルを渡すことによって、記述されているURLをすべて"{IDの左側}/{IDの右側}.jpg"にダウンロードする。
$ imagenet-downloader urls.txt
[+]Download: n00004475/6590.jpg
[+]Download: n00004475/15899.jpg
[+]Download: n00004476/32312.jpg
$ cat urls.txt
n00004475_6590 http://farm4.static.flickr.com/3175/2737866473_7958dc8760.jpg
AAAAAAAAAAAAAAAAAAA http://google.com
n00004475_15899 http://farm4.static.flickr.com/3276/2875184020_9944005d0d.jpg
n12345678_12345678 BBBBBBBBBBBBBBBBBBBBB
n00004475_32312 http://farm3.static.flickr.com/2531/4094333885_e8462a8338.jpg
$ imagenet-downloader urls.txt
[+]Download: n00004475/6590.jpg
[!]INCORRECT ID FORMAT: AAAAAAAAAAAAAAAAAAA http://google.com
[+]Download: n00004475/15899.jpg
[!]RETRY: n12345678/12345678.jpg
[!]RETRY: n12345678/12345678.jpg
[!]RETRY: n12345678/12345678.jpg
[!]Skipped: n12345678/12345678.jpg (download error)
[+]Download: n00004475/32312.jpg
上記のように、不正なIDが検出された場合はINCORRECT ID FORMATとしてSkip、URL先が存在していなかったり、ネットワークが落ちていてアクセスできなかったりといった場合には3回のリトライの後それでもアクセスできなかったらSkipするようになっている。また、既に同名のファイルが存在していた場合もSkipする。