From 2d332a1cb134d5b95f6be2a4f5bd791aecc931e1 Mon Sep 17 00:00:00 2001 From: Glenn Jocher Date: Wed, 10 Jul 2024 21:12:33 +0200 Subject: [PATCH] Ultralytics Asset URL Update (#14345) Signed-off-by: Glenn Jocher Co-authored-by: UltralyticsAssistant --- docker/Dockerfile-arm64 | 2 +- docker/Dockerfile-jetson-jetpack4 | 6 +++--- docs/en/datasets/classify/imagenet10.md | 6 +++--- docs/en/integrations/tensorrt.md | 2 +- docs/en/yolov5/tutorials/multi_gpu_training.md | 2 +- .../tips_for_best_training_results.md | 2 +- docs/en/yolov5/tutorials/train_custom_data.md | 6 +++--- tests/test_python.py | 6 +++--- ultralytics/cfg/datasets/DOTAv1.5.yaml | 2 +- ultralytics/cfg/datasets/DOTAv1.yaml | 2 +- ultralytics/cfg/datasets/GlobalWheat2020.yaml | 2 +- ultralytics/cfg/datasets/VOC.yaml | 2 +- ultralytics/cfg/datasets/VisDrone.yaml | 8 ++++---- ultralytics/cfg/datasets/african-wildlife.yaml | 2 +- ultralytics/cfg/datasets/brain-tumor.yaml | 2 +- ultralytics/cfg/datasets/carparts-seg.yaml | 2 +- ultralytics/cfg/datasets/coco-pose.yaml | 2 +- ultralytics/cfg/datasets/coco.yaml | 2 +- ultralytics/cfg/datasets/coco128-seg.yaml | 2 +- ultralytics/cfg/datasets/coco128.yaml | 2 +- ultralytics/cfg/datasets/coco8-pose.yaml | 2 +- ultralytics/cfg/datasets/coco8-seg.yaml | 2 +- ultralytics/cfg/datasets/coco8.yaml | 2 +- ultralytics/cfg/datasets/crack-seg.yaml | 2 +- ultralytics/cfg/datasets/dota8.yaml | 2 +- ultralytics/cfg/datasets/lvis.yaml | 2 +- ultralytics/cfg/datasets/package-seg.yaml | 2 +- ultralytics/cfg/datasets/signature.yaml | 2 +- ultralytics/cfg/datasets/tiger-pose.yaml | 2 +- ultralytics/data/scripts/get_coco.sh | 2 +- ultralytics/data/scripts/get_coco128.sh | 2 +- ultralytics/data/utils.py | 2 +- ultralytics/utils/benchmarks.py | 2 +- ultralytics/utils/checks.py | 2 +- ultralytics/utils/downloads.py | 18 ++++++++++-------- 35 files changed, 55 insertions(+), 53 deletions(-) diff --git a/docker/Dockerfile-arm64 b/docker/Dockerfile-arm64 index 19fa238a50..d9ec75296e 100644 --- a/docker/Dockerfile-arm64 +++ b/docker/Dockerfile-arm64 @@ -34,7 +34,7 @@ RUN rm -rf /usr/lib/python3.11/EXTERNALLY-MANAGED # Install pip packages # Install tensorstore from .whl because PyPI does not include aarch64 binaries RUN python3 -m pip install --upgrade pip wheel -RUN pip install --no-cache-dir https://github.com/ultralytics/yolov5/releases/download/v1.0/tensorstore-0.1.59-cp311-cp311-linux_aarch64.whl -e ".[export]" +RUN pip install --no-cache-dir https://github.com/ultralytics/assets/releases/download/v0.0.0/tensorstore-0.1.59-cp311-cp311-linux_aarch64.whl -e ".[export]" # Creates a symbolic link to make 'python' point to 'python3' RUN ln -sf /usr/bin/python3 /usr/bin/python diff --git a/docker/Dockerfile-jetson-jetpack4 b/docker/Dockerfile-jetson-jetpack4 index 8c64682324..12931ad30f 100644 --- a/docker/Dockerfile-jetson-jetpack4 +++ b/docker/Dockerfile-jetson-jetpack4 @@ -38,9 +38,9 @@ ADD https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8n.pt $A # Other versions can be seen in https://elinux.org/Jetson_Zoo and https://forums.developer.nvidia.com/t/pytorch-for-jetson/72048 ADD https://nvidia.box.com/shared/static/gjqofg7rkg97z3gc8jeyup6t8n9j8xjw.whl onnxruntime_gpu-1.8.0-cp38-cp38-linux_aarch64.whl ADD https://forums.developer.nvidia.com/uploads/short-url/hASzFOm9YsJx6VVFrDW1g44CMmv.whl tensorrt-8.2.0.6-cp38-none-linux_aarch64.whl -ADD https://github.com/ultralytics/yolov5/releases/download/v1.0/torch-1.11.0a0+gitbc2c6ed-cp38-cp38-linux_aarch64.whl \ +ADD https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-1.11.0a0+gitbc2c6ed-cp38-cp38-linux_aarch64.whl \ torch-1.11.0a0+gitbc2c6ed-cp38-cp38-linux_aarch64.whl -ADD https://github.com/ultralytics/yolov5/releases/download/v1.0/torchvision-0.12.0a0+9b5a3fe-cp38-cp38-linux_aarch64.whl \ +ADD https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.12.0a0+9b5a3fe-cp38-cp38-linux_aarch64.whl \ torchvision-0.12.0a0+9b5a3fe-cp38-cp38-linux_aarch64.whl # Install pip packages @@ -61,4 +61,4 @@ RUN pip install --no-cache-dir -e ".[export]" # t=ultralytics/ultralytics:latest-jetson-jetpack4 && sudo docker pull $t && sudo docker run -it --ipc=host $t # Pull and Run with NVIDIA runtime -# t=ultralytics/ultralytics:latest-jetson-jetpack4 && sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $t \ No newline at end of file +# t=ultralytics/ultralytics:latest-jetson-jetpack4 && sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $t diff --git a/docs/en/datasets/classify/imagenet10.md b/docs/en/datasets/classify/imagenet10.md index 35b85b2e78..d7bf55e483 100644 --- a/docs/en/datasets/classify/imagenet10.md +++ b/docs/en/datasets/classify/imagenet10.md @@ -6,7 +6,7 @@ keywords: ImageNet10, ImageNet, Ultralytics, CI tests, sanity checks, training p # ImageNet10 Dataset -The [ImageNet10](https://github.com/ultralytics/yolov5/releases/download/v1.0/imagenet10.zip) dataset is a small-scale subset of the [ImageNet](https://www.image-net.org/) database, developed by [Ultralytics](https://ultralytics.com) and designed for CI tests, sanity checks, and fast testing of training pipelines. This dataset is composed of the first image in the training set and the first image from the validation set of the first 10 classes in ImageNet. Although significantly smaller, it retains the structure and diversity of the original ImageNet dataset. +The [ImageNet10](https://github.com/ultralytics/assets/releases/download/v0.0.0/imagenet10.zip) dataset is a small-scale subset of the [ImageNet](https://www.image-net.org/) database, developed by [Ultralytics](https://ultralytics.com) and designed for CI tests, sanity checks, and fast testing of training pipelines. This dataset is composed of the first image in the training set and the first image from the validation set of the first 10 classes in ImageNet. Although significantly smaller, it retains the structure and diversity of the original ImageNet dataset. ## Key Features @@ -80,7 +80,7 @@ We would like to acknowledge the ImageNet team, led by Olga Russakovsky, Jia Den ### What is the ImageNet10 dataset and how is it different from the full ImageNet dataset? -The [ImageNet10](https://github.com/ultralytics/yolov5/releases/download/v1.0/imagenet10.zip) dataset is a compact subset of the original [ImageNet](https://www.image-net.org/) database, created by Ultralytics for rapid CI tests, sanity checks, and training pipeline evaluations. ImageNet10 comprises only 20 images, representing the first image in the training and validation sets of the first 10 classes in ImageNet. Despite its small size, it maintains the structure and diversity of the full dataset, making it ideal for quick testing but not for benchmarking models. +The [ImageNet10](https://github.com/ultralytics/assets/releases/download/v0.0.0/imagenet10.zip) dataset is a compact subset of the original [ImageNet](https://www.image-net.org/) database, created by Ultralytics for rapid CI tests, sanity checks, and training pipeline evaluations. ImageNet10 comprises only 20 images, representing the first image in the training and validation sets of the first 10 classes in ImageNet. Despite its small size, it maintains the structure and diversity of the full dataset, making it ideal for quick testing but not for benchmarking models. ### How can I use the ImageNet10 dataset to test my deep learning model? @@ -124,4 +124,4 @@ The ImageNet10 dataset has several key features: ### Where can I download the ImageNet10 dataset? -You can download the ImageNet10 dataset from the [Ultralytics GitHub releases page](https://github.com/ultralytics/yolov5/releases/download/v1.0/imagenet10.zip). For more detailed information about its structure and applications, refer to the [ImageNet10 Dataset](imagenet10.md) page. +You can download the ImageNet10 dataset from the [Ultralytics GitHub releases page](https://github.com/ultralytics/assets/releases/download/v0.0.0/imagenet10.zip). For more detailed information about its structure and applications, refer to the [ImageNet10 Dataset](imagenet10.md) page. diff --git a/docs/en/integrations/tensorrt.md b/docs/en/integrations/tensorrt.md index f04fa5a689..e3316748b0 100644 --- a/docs/en/integrations/tensorrt.md +++ b/docs/en/integrations/tensorrt.md @@ -13,7 +13,7 @@ By using the TensorRT export format, you can enhance your [Ultralytics YOLOv8](h ## TensorRT

- TensorRT Overview + TensorRT Overview

[TensorRT](https://developer.nvidia.com/tensorrt), developed by NVIDIA, is an advanced software development kit (SDK) designed for high-speed deep learning inference. It's well-suited for real-time applications like object detection. diff --git a/docs/en/yolov5/tutorials/multi_gpu_training.md b/docs/en/yolov5/tutorials/multi_gpu_training.md index f61ffc9381..4a51007e86 100644 --- a/docs/en/yolov5/tutorials/multi_gpu_training.md +++ b/docs/en/yolov5/tutorials/multi_gpu_training.md @@ -24,7 +24,7 @@ pip install -r requirements.txt # install Select a pretrained model to start training from. Here we select [YOLOv5s](https://github.com/ultralytics/yolov5/blob/master/models/yolov5s.yaml), the smallest and fastest model available. See our README [table](https://github.com/ultralytics/yolov5#pretrained-checkpoints) for a full comparison of all models. We will train this model with Multi-GPU on the [COCO](https://github.com/ultralytics/yolov5/blob/master/data/scripts/get_coco.sh) dataset. -

YOLOv5 Models

+

YOLOv5 Models

### Single GPU diff --git a/docs/en/yolov5/tutorials/tips_for_best_training_results.md b/docs/en/yolov5/tutorials/tips_for_best_training_results.md index f9254e7252..8f1b27a219 100644 --- a/docs/en/yolov5/tutorials/tips_for_best_training_results.md +++ b/docs/en/yolov5/tutorials/tips_for_best_training_results.md @@ -28,7 +28,7 @@ We've put together a full guide for users looking to get the best results on the Larger models like YOLOv5x and [YOLOv5x6](https://github.com/ultralytics/yolov5/releases/tag/v5.0) will produce better results in nearly all cases, but have more parameters, require more CUDA memory to train, and are slower to run. For **mobile** deployments we recommend YOLOv5s/m, for **cloud** deployments we recommend YOLOv5l/x. See our README [table](https://github.com/ultralytics/yolov5#pretrained-checkpoints) for a full comparison of all models. -

YOLOv5 Models

+

YOLOv5 Models

- **Start from Pretrained weights.** Recommended for small to medium-sized datasets (i.e. [VOC](https://github.com/ultralytics/yolov5/blob/master/data/VOC.yaml), [VisDrone](https://github.com/ultralytics/yolov5/blob/master/data/VisDrone.yaml), [GlobalWheat](https://github.com/ultralytics/yolov5/blob/master/data/GlobalWheat2020.yaml)). Pass the name of the model to the `--weights` argument. Models download automatically from the [latest YOLOv5 release](https://github.com/ultralytics/yolov5/releases). diff --git a/docs/en/yolov5/tutorials/train_custom_data.md b/docs/en/yolov5/tutorials/train_custom_data.md index 1b9e47bc3f..6042a1e1b3 100644 --- a/docs/en/yolov5/tutorials/train_custom_data.md +++ b/docs/en/yolov5/tutorials/train_custom_data.md @@ -127,7 +127,7 @@ Organize your train and val images and labels according to the example below. YO Select a pretrained model to start training from. Here we select [YOLOv5s](https://github.com/ultralytics/yolov5/blob/master/models/yolov5s.yaml), the second-smallest and fastest model available. See our README [table](https://github.com/ultralytics/yolov5#pretrained-checkpoints) for a full comparison of all models. -

YOLOv5 models

+

YOLOv5 models

## 4. Train @@ -185,7 +185,7 @@ Training results are automatically logged with [Tensorboard](https://www.tensorf This directory contains train and val statistics, mosaics, labels, predictions and augmented mosaics, as well as metrics and charts including precision-recall (PR) curves and confusion matrices. -Local logging results +Local logging results Results file `results.csv` is updated after each epoch, and then plotted as `results.png` (below) after training completes. You can also plot any `results.csv` file manually: @@ -195,7 +195,7 @@ from utils.plots import plot_results plot_results("path/to/results.csv") # plot 'results.csv' as 'results.png' ``` -

results.png

+

results.png

## Next Steps diff --git a/tests/test_python.py b/tests/test_python.py index 6f2aba97c7..97441a78f6 100644 --- a/tests/test_python.py +++ b/tests/test_python.py @@ -90,7 +90,7 @@ def test_predict_img(model_name): batch = [ str(SOURCE), # filename Path(SOURCE), # Path - "https://github.com/ultralytics/yolov5/releases/download/v1.0/zidane.jpg" if ONLINE else SOURCE, # URI + "https://github.com/ultralytics/assets/releases/download/v0.0.0/zidane.jpg" if ONLINE else SOURCE, # URI cv2.imread(str(SOURCE)), # OpenCV Image.open(SOURCE), # PIL np.zeros((320, 640, 3), dtype=np.uint8), # numpy @@ -149,7 +149,7 @@ def test_track_stream(): Note imgsz=160 required for tracking for higher confidence and better matches. """ - video_url = "https://github.com/ultralytics/yolov5/releases/download/v1.0/decelera_portrait_min.mov" + video_url = "https://github.com/ultralytics/assets/releases/download/v0.0.0/decelera_portrait_min.mov" model = YOLO(MODEL) model.track(video_url, imgsz=160, tracker="bytetrack.yaml") model.track(video_url, imgsz=160, tracker="botsort.yaml", save_frames=True) # test frame saving also @@ -290,7 +290,7 @@ def test_data_converter(): from ultralytics.data.converter import coco80_to_coco91_class, convert_coco file = "instances_val2017.json" - download(f"https://github.com/ultralytics/yolov5/releases/download/v1.0/{file}", dir=TMP) + download(f"https://github.com/ultralytics/assets/releases/download/v0.0.0/{file}", dir=TMP) convert_coco(labels_dir=TMP, save_dir=TMP / "yolo_labels", use_segments=True, use_keypoints=False, cls91to80=True) coco80_to_coco91_class() diff --git a/ultralytics/cfg/datasets/DOTAv1.5.yaml b/ultralytics/cfg/datasets/DOTAv1.5.yaml index 701535fcf2..b59ff8816c 100644 --- a/ultralytics/cfg/datasets/DOTAv1.5.yaml +++ b/ultralytics/cfg/datasets/DOTAv1.5.yaml @@ -33,4 +33,4 @@ names: 15: container crane # Download script/URL (optional) -download: https://github.com/ultralytics/yolov5/releases/download/v1.0/DOTAv1.5.zip +download: https://github.com/ultralytics/assets/releases/download/v0.0.0/DOTAv1.5.zip diff --git a/ultralytics/cfg/datasets/DOTAv1.yaml b/ultralytics/cfg/datasets/DOTAv1.yaml index f6364d345f..d1c950b995 100644 --- a/ultralytics/cfg/datasets/DOTAv1.yaml +++ b/ultralytics/cfg/datasets/DOTAv1.yaml @@ -32,4 +32,4 @@ names: 14: swimming pool # Download script/URL (optional) -download: https://github.com/ultralytics/yolov5/releases/download/v1.0/DOTAv1.zip +download: https://github.com/ultralytics/assets/releases/download/v0.0.0/DOTAv1.zip diff --git a/ultralytics/cfg/datasets/GlobalWheat2020.yaml b/ultralytics/cfg/datasets/GlobalWheat2020.yaml index ae6bfa0dac..95749a11b4 100644 --- a/ultralytics/cfg/datasets/GlobalWheat2020.yaml +++ b/ultralytics/cfg/datasets/GlobalWheat2020.yaml @@ -37,7 +37,7 @@ download: | # Download dir = Path(yaml['path']) # dataset root dir urls = ['https://zenodo.org/record/4298502/files/global-wheat-codalab-official.zip', - 'https://github.com/ultralytics/yolov5/releases/download/v1.0/GlobalWheat2020_labels.zip'] + 'https://github.com/ultralytics/assets/releases/download/v0.0.0/GlobalWheat2020_labels.zip'] download(urls, dir=dir) # Make Directories diff --git a/ultralytics/cfg/datasets/VOC.yaml b/ultralytics/cfg/datasets/VOC.yaml index cd6d5ade2e..7311d8917e 100644 --- a/ultralytics/cfg/datasets/VOC.yaml +++ b/ultralytics/cfg/datasets/VOC.yaml @@ -76,7 +76,7 @@ download: | # Download dir = Path(yaml['path']) # dataset root dir - url = 'https://github.com/ultralytics/yolov5/releases/download/v1.0/' + url = 'https://github.com/ultralytics/assets/releases/download/v0.0.0/' urls = [f'{url}VOCtrainval_06-Nov-2007.zip', # 446MB, 5012 images f'{url}VOCtest_06-Nov-2007.zip', # 438MB, 4953 images f'{url}VOCtrainval_11-May-2012.zip'] # 1.95GB, 17126 images diff --git a/ultralytics/cfg/datasets/VisDrone.yaml b/ultralytics/cfg/datasets/VisDrone.yaml index 773f0b08b8..9c28d91876 100644 --- a/ultralytics/cfg/datasets/VisDrone.yaml +++ b/ultralytics/cfg/datasets/VisDrone.yaml @@ -61,10 +61,10 @@ download: | # Download dir = Path(yaml['path']) # dataset root dir - urls = ['https://github.com/ultralytics/yolov5/releases/download/v1.0/VisDrone2019-DET-train.zip', - 'https://github.com/ultralytics/yolov5/releases/download/v1.0/VisDrone2019-DET-val.zip', - 'https://github.com/ultralytics/yolov5/releases/download/v1.0/VisDrone2019-DET-test-dev.zip', - 'https://github.com/ultralytics/yolov5/releases/download/v1.0/VisDrone2019-DET-test-challenge.zip'] + urls = ['https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-train.zip', + 'https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-val.zip', + 'https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-test-dev.zip', + 'https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-test-challenge.zip'] download(urls, dir=dir, curl=True, threads=4) # Convert diff --git a/ultralytics/cfg/datasets/african-wildlife.yaml b/ultralytics/cfg/datasets/african-wildlife.yaml index 95feeb8185..eaccb1a85a 100644 --- a/ultralytics/cfg/datasets/african-wildlife.yaml +++ b/ultralytics/cfg/datasets/african-wildlife.yaml @@ -21,4 +21,4 @@ names: 3: zebra # Download script/URL (optional) -download: https://github.com/ultralytics/yolov5/releases/download/v1.0/african-wildlife.zip +download: https://github.com/ultralytics/assets/releases/download/v0.0.0/african-wildlife.zip diff --git a/ultralytics/cfg/datasets/brain-tumor.yaml b/ultralytics/cfg/datasets/brain-tumor.yaml index 4e582dfea9..115532a32e 100644 --- a/ultralytics/cfg/datasets/brain-tumor.yaml +++ b/ultralytics/cfg/datasets/brain-tumor.yaml @@ -19,4 +19,4 @@ names: 1: positive # Download script/URL (optional) -download: https://github.com/ultralytics/yolov5/releases/download/v1.0/brain-tumor.zip +download: https://github.com/ultralytics/assets/releases/download/v0.0.0/brain-tumor.zip diff --git a/ultralytics/cfg/datasets/carparts-seg.yaml b/ultralytics/cfg/datasets/carparts-seg.yaml index 433f968dae..d15da6e5b2 100644 --- a/ultralytics/cfg/datasets/carparts-seg.yaml +++ b/ultralytics/cfg/datasets/carparts-seg.yaml @@ -40,4 +40,4 @@ names: 22: wheel # Download script/URL (optional) -download: https://github.com/ultralytics/yolov5/releases/download/v1.0/carparts-seg.zip +download: https://github.com/ultralytics/assets/releases/download/v0.0.0/carparts-seg.zip diff --git a/ultralytics/cfg/datasets/coco-pose.yaml b/ultralytics/cfg/datasets/coco-pose.yaml index b50b7a5b55..7d71c83de4 100644 --- a/ultralytics/cfg/datasets/coco-pose.yaml +++ b/ultralytics/cfg/datasets/coco-pose.yaml @@ -28,7 +28,7 @@ download: | # Download labels dir = Path(yaml['path']) # dataset root dir - url = 'https://github.com/ultralytics/yolov5/releases/download/v1.0/' + url = 'https://github.com/ultralytics/assets/releases/download/v0.0.0/' urls = [url + 'coco2017labels-pose.zip'] # labels download(urls, dir=dir.parent) # Download data diff --git a/ultralytics/cfg/datasets/coco.yaml b/ultralytics/cfg/datasets/coco.yaml index d0297f760e..3bb9aacc3f 100644 --- a/ultralytics/cfg/datasets/coco.yaml +++ b/ultralytics/cfg/datasets/coco.yaml @@ -104,7 +104,7 @@ download: | # Download labels segments = True # segment or box labels dir = Path(yaml['path']) # dataset root dir - url = 'https://github.com/ultralytics/yolov5/releases/download/v1.0/' + url = 'https://github.com/ultralytics/assets/releases/download/v0.0.0/' urls = [url + ('coco2017labels-segments.zip' if segments else 'coco2017labels.zip')] # labels download(urls, dir=dir.parent) # Download data diff --git a/ultralytics/cfg/datasets/coco128-seg.yaml b/ultralytics/cfg/datasets/coco128-seg.yaml index 4218b3d247..dcd961c6e5 100644 --- a/ultralytics/cfg/datasets/coco128-seg.yaml +++ b/ultralytics/cfg/datasets/coco128-seg.yaml @@ -97,4 +97,4 @@ names: 79: toothbrush # Download script/URL (optional) -download: https://github.com/ultralytics/yolov5/releases/download/v1.0/coco128-seg.zip +download: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco128-seg.zip diff --git a/ultralytics/cfg/datasets/coco128.yaml b/ultralytics/cfg/datasets/coco128.yaml index fde1585262..1b515592f2 100644 --- a/ultralytics/cfg/datasets/coco128.yaml +++ b/ultralytics/cfg/datasets/coco128.yaml @@ -97,4 +97,4 @@ names: 79: toothbrush # Download script/URL (optional) -download: https://github.com/ultralytics/yolov5/releases/download/v1.0/coco128.zip +download: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco128.zip diff --git a/ultralytics/cfg/datasets/coco8-pose.yaml b/ultralytics/cfg/datasets/coco8-pose.yaml index 2e08daa16b..68678fa76d 100644 --- a/ultralytics/cfg/datasets/coco8-pose.yaml +++ b/ultralytics/cfg/datasets/coco8-pose.yaml @@ -22,4 +22,4 @@ names: 0: person # Download script/URL (optional) -download: https://github.com/ultralytics/yolov5/releases/download/v1.0/coco8-pose.zip +download: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8-pose.zip diff --git a/ultralytics/cfg/datasets/coco8-seg.yaml b/ultralytics/cfg/datasets/coco8-seg.yaml index a3fe2e43f3..42fc02b08d 100644 --- a/ultralytics/cfg/datasets/coco8-seg.yaml +++ b/ultralytics/cfg/datasets/coco8-seg.yaml @@ -97,4 +97,4 @@ names: 79: toothbrush # Download script/URL (optional) -download: https://github.com/ultralytics/yolov5/releases/download/v1.0/coco8-seg.zip +download: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8-seg.zip diff --git a/ultralytics/cfg/datasets/coco8.yaml b/ultralytics/cfg/datasets/coco8.yaml index 58afea947e..50a1133cdc 100644 --- a/ultralytics/cfg/datasets/coco8.yaml +++ b/ultralytics/cfg/datasets/coco8.yaml @@ -97,4 +97,4 @@ names: 79: toothbrush # Download script/URL (optional) -download: https://github.com/ultralytics/yolov5/releases/download/v1.0/coco8.zip +download: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8.zip diff --git a/ultralytics/cfg/datasets/crack-seg.yaml b/ultralytics/cfg/datasets/crack-seg.yaml index 354389d91e..f6fe9aa229 100644 --- a/ultralytics/cfg/datasets/crack-seg.yaml +++ b/ultralytics/cfg/datasets/crack-seg.yaml @@ -18,4 +18,4 @@ names: 0: crack # Download script/URL (optional) -download: https://github.com/ultralytics/yolov5/releases/download/v1.0/crack-seg.zip +download: https://github.com/ultralytics/assets/releases/download/v0.0.0/crack-seg.zip diff --git a/ultralytics/cfg/datasets/dota8.yaml b/ultralytics/cfg/datasets/dota8.yaml index f58b501f2b..a4dbe61ca4 100644 --- a/ultralytics/cfg/datasets/dota8.yaml +++ b/ultralytics/cfg/datasets/dota8.yaml @@ -31,4 +31,4 @@ names: 14: swimming pool # Download script/URL (optional) -download: https://github.com/ultralytics/yolov5/releases/download/v1.0/dota8.zip +download: https://github.com/ultralytics/assets/releases/download/v0.0.0/dota8.zip diff --git a/ultralytics/cfg/datasets/lvis.yaml b/ultralytics/cfg/datasets/lvis.yaml index a391068178..9a79bde621 100644 --- a/ultralytics/cfg/datasets/lvis.yaml +++ b/ultralytics/cfg/datasets/lvis.yaml @@ -1225,7 +1225,7 @@ download: | # Download labels dir = Path(yaml['path']) # dataset root dir - url = 'https://github.com/ultralytics/yolov5/releases/download/v1.0/' + url = 'https://github.com/ultralytics/assets/releases/download/v0.0.0/' urls = [url + 'lvis-labels-segments.zip'] # labels download(urls, dir=dir.parent) # Download data diff --git a/ultralytics/cfg/datasets/package-seg.yaml b/ultralytics/cfg/datasets/package-seg.yaml index a81a5a0ce4..6c2a6b60ba 100644 --- a/ultralytics/cfg/datasets/package-seg.yaml +++ b/ultralytics/cfg/datasets/package-seg.yaml @@ -18,4 +18,4 @@ names: 0: package # Download script/URL (optional) -download: https://github.com/ultralytics/yolov5/releases/download/v1.0/package-seg.zip +download: https://github.com/ultralytics/assets/releases/download/v0.0.0/package-seg.zip diff --git a/ultralytics/cfg/datasets/signature.yaml b/ultralytics/cfg/datasets/signature.yaml index f217edeca3..d838fd7872 100644 --- a/ultralytics/cfg/datasets/signature.yaml +++ b/ultralytics/cfg/datasets/signature.yaml @@ -17,4 +17,4 @@ names: 0: signature # Download script/URL (optional) -download: https://github.com/ultralytics/yolov5/releases/download/v1.0/signature.zip +download: https://github.com/ultralytics/assets/releases/download/v0.0.0/signature.zip diff --git a/ultralytics/cfg/datasets/tiger-pose.yaml b/ultralytics/cfg/datasets/tiger-pose.yaml index 2e05b6fa59..dbcda75778 100644 --- a/ultralytics/cfg/datasets/tiger-pose.yaml +++ b/ultralytics/cfg/datasets/tiger-pose.yaml @@ -21,4 +21,4 @@ names: 0: tiger # Download script/URL (optional) -download: https://github.com/ultralytics/yolov5/releases/download/v1.0/tiger-pose.zip +download: https://github.com/ultralytics/assets/releases/download/v0.0.0/tiger-pose.zip diff --git a/ultralytics/data/scripts/get_coco.sh b/ultralytics/data/scripts/get_coco.sh index 764e280a4e..780e3e0022 100755 --- a/ultralytics/data/scripts/get_coco.sh +++ b/ultralytics/data/scripts/get_coco.sh @@ -28,7 +28,7 @@ fi # Download/unzip labels d='../datasets' # unzip directory -url=https://github.com/ultralytics/yolov5/releases/download/v1.0/ +url=https://github.com/ultralytics/assets/releases/download/v0.0.0/ if [ "$segments" == "true" ]; then f='coco2017labels-segments.zip' # 169 MB elif [ "$sama" == "true" ]; then diff --git a/ultralytics/data/scripts/get_coco128.sh b/ultralytics/data/scripts/get_coco128.sh index 73897916a2..8260f01864 100755 --- a/ultralytics/data/scripts/get_coco128.sh +++ b/ultralytics/data/scripts/get_coco128.sh @@ -9,7 +9,7 @@ # Download/unzip images and labels d='../datasets' # unzip directory -url=https://github.com/ultralytics/yolov5/releases/download/v1.0/ +url=https://github.com/ultralytics/assets/releases/download/v0.0.0/ f='coco128.zip' # or 'coco128-segments.zip', 68 MB echo 'Downloading' $url$f ' ...' curl -L $url$f -o $f -# && unzip -q $f -d $d && rm $f & diff --git a/ultralytics/data/utils.py b/ultralytics/data/utils.py index fa9bfbb194..2393f1dfd3 100644 --- a/ultralytics/data/utils.py +++ b/ultralytics/data/utils.py @@ -379,7 +379,7 @@ def check_cls_dataset(dataset, split=""): if str(dataset) == "imagenet": subprocess.run(f"bash {ROOT / 'data/scripts/get_imagenet.sh'}", shell=True, check=True) else: - url = f"https://github.com/ultralytics/yolov5/releases/download/v1.0/{dataset}.zip" + url = f"https://github.com/ultralytics/assets/releases/download/v0.0.0/{dataset}.zip" download(url, dir=data_dir.parent) s = f"Dataset download success ✅ ({time.time() - t:.1f}s), saved to {colorstr('bold', data_dir)}\n" LOGGER.info(s) diff --git a/ultralytics/utils/benchmarks.py b/ultralytics/utils/benchmarks.py index 9a065833e2..db4a28dfed 100644 --- a/ultralytics/utils/benchmarks.py +++ b/ultralytics/utils/benchmarks.py @@ -195,7 +195,7 @@ class RF100Benchmark: (shutil.rmtree("rf-100"), os.mkdir("rf-100")) if os.path.exists("rf-100") else os.mkdir("rf-100") os.chdir("rf-100") os.mkdir("ultralytics-benchmarks") - safe_download("https://github.com/ultralytics/yolov5/releases/download/v1.0/datasets_links.txt") + safe_download("https://github.com/ultralytics/assets/releases/download/v0.0.0/datasets_links.txt") with open(ds_link_txt, "r") as file: for line in file: diff --git a/ultralytics/utils/checks.py b/ultralytics/utils/checks.py index 740c5455b3..dfd7922839 100644 --- a/ultralytics/utils/checks.py +++ b/ultralytics/utils/checks.py @@ -315,7 +315,7 @@ def check_font(font="Arial.ttf"): return matches[0] # Download to USER_CONFIG_DIR if missing - url = f"https://github.com/ultralytics/yolov5/releases/download/v1.0/{name}" + url = f"https://github.com/ultralytics/assets/releases/download/v0.0.0/{name}" if downloads.is_url(url, check=True): downloads.safe_download(url=url, file=file) return file diff --git a/ultralytics/utils/downloads.py b/ultralytics/utils/downloads.py index 7441b90c21..a13a6f0a7c 100644 --- a/ultralytics/utils/downloads.py +++ b/ultralytics/utils/downloads.py @@ -194,14 +194,12 @@ def unzip_file(file, path=None, exclude=(".DS_Store", "__MACOSX"), exist_ok=Fals return path # return unzip dir -def check_disk_space( - url="https://github.com/ultralytics/yolov5/releases/download/v1.0/coco8.zip", path=Path.cwd(), sf=1.5, hard=True -): +def check_disk_space(url="https://ultralytics.com/assets/coco8.zip", path=Path.cwd(), sf=1.5, hard=True): """ Check if there is sufficient disk space to download and store a file. Args: - url (str, optional): The URL to the file. Defaults to 'https://ultralytics.com/assets/coco8.zip'. + url (str, optional): The URL to the file. Defaults to 'https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8.zip'. path (str | Path, optional): The path or drive to check the available free space on. sf (float, optional): Safety factor, the multiplier for the required free space. Defaults to 2.0. hard (bool, optional): Whether to throw an error or not on insufficient disk space. Defaults to True. @@ -322,7 +320,11 @@ def safe_download( if "://" not in str(url) and Path(url).is_file(): # URL exists ('://' check required in Windows Python<3.10) f = Path(url) # filename elif not f.is_file(): # URL and file do not exist - desc = f"Downloading {url if gdrive else clean_url(url)} to '{f}'" + uri = (url if gdrive else clean_url(url)).replace( # cleaned and aliased url + "https://github.com/ultralytics/assets/releases/download/v0.0.0/", + "https://ultralytics.com/assets/", # assets alias + ) + desc = f"Downloading {uri} to '{f}'" LOGGER.info(f"{desc}...") f.parent.mkdir(parents=True, exist_ok=True) # make directory if missing check_disk_space(url, path=f.parent) @@ -356,10 +358,10 @@ def safe_download( f.unlink() # remove partial downloads except Exception as e: if i == 0 and not is_online(): - raise ConnectionError(emojis(f"❌ Download failure for {url}. Environment is not online.")) from e + raise ConnectionError(emojis(f"❌ Download failure for {uri}. Environment is not online.")) from e elif i >= retry: - raise ConnectionError(emojis(f"❌ Download failure for {url}. Retry limit reached.")) from e - LOGGER.warning(f"⚠️ Download failure, retrying {i + 1}/{retry} {url}...") + raise ConnectionError(emojis(f"❌ Download failure for {uri}. Retry limit reached.")) from e + LOGGER.warning(f"⚠️ Download failure, retrying {i + 1}/{retry} {uri}...") if unzip and f.exists() and f.suffix in {"", ".zip", ".tar", ".gz"}: from zipfile import is_zipfile