get_imagenet.sh 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #!/bin/bash
  2. # Ultralytics YOLO 🚀, AGPL-3.0 license
  3. # Download ILSVRC2012 ImageNet dataset https://image-net.org
  4. # Example usage: bash data/scripts/get_imagenet.sh
  5. # parent
  6. # ├── ultralytics
  7. # └── datasets
  8. # └── imagenet ← downloads here
  9. # Arguments (optional) Usage: bash data/scripts/get_imagenet.sh --train --val
  10. if [ "$#" -gt 0 ]; then
  11. for opt in "$@"; do
  12. case "${opt}" in
  13. --train) train=true ;;
  14. --val) val=true ;;
  15. esac
  16. done
  17. else
  18. train=true
  19. val=true
  20. fi
  21. # Make dir
  22. d='../datasets/imagenet' # unzip directory
  23. mkdir -p $d && cd $d
  24. # Download/unzip train
  25. if [ "$train" == "true" ]; then
  26. wget https://image-net.org/data/ILSVRC/2012/ILSVRC2012_img_train.tar # download 138G, 1281167 images
  27. mkdir train && mv ILSVRC2012_img_train.tar train/ && cd train
  28. tar -xf ILSVRC2012_img_train.tar && rm -f ILSVRC2012_img_train.tar
  29. find . -name "*.tar" | while read NAME; do
  30. mkdir -p "${NAME%.tar}"
  31. tar -xf "${NAME}" -C "${NAME%.tar}"
  32. rm -f "${NAME}"
  33. done
  34. cd ..
  35. fi
  36. # Download/unzip val
  37. if [ "$val" == "true" ]; then
  38. wget https://image-net.org/data/ILSVRC/2012/ILSVRC2012_img_val.tar # download 6.3G, 50000 images
  39. mkdir val && mv ILSVRC2012_img_val.tar val/ && cd val && tar -xf ILSVRC2012_img_val.tar
  40. wget -qO- https://raw.githubusercontent.com/soumith/imagenetloader.torch/master/valprep.sh | bash # move into subdirs
  41. fi
  42. # Delete corrupted image (optional: PNG under JPEG name that may cause dataloaders to fail)
  43. # rm train/n04266014/n04266014_10835.JPEG
  44. # TFRecords (optional)
  45. # wget https://raw.githubusercontent.com/tensorflow/models/master/research/slim/datasets/imagenet_lsvrc_2015_synsets.txt