ultralytics 8.0.176 update Dockerfile-arm64 to 22.04 (#4857)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Kalen Michael <kalenmike@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
Glenn Jocher 2023-09-12 17:56:37 +02:00 committed by GitHub
parent fdf08d823e
commit e73447effb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 29 additions and 29 deletions

View File

@ -1,6 +1,5 @@
# To get started with Dependabot version updates, you'll need to specify which # Ultralytics YOLO 🚀, AGPL-3.0 license
# package ecosystems to update and where the package manifests are located. # Dependabot for package version updates
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2 version: 2

View File

@ -39,7 +39,7 @@ jobs:
os: [ubuntu-latest] os: [ubuntu-latest]
python-version: ['3.11'] python-version: ['3.11']
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- uses: actions/setup-python@v4 - uses: actions/setup-python@v4
with: with:
python-version: ${{ matrix.python-version }} python-version: ${{ matrix.python-version }}
@ -102,7 +102,7 @@ jobs:
python-version: ['3.10'] python-version: ['3.10']
model: [yolov8n] model: [yolov8n]
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- uses: actions/setup-python@v4 - uses: actions/setup-python@v4
with: with:
python-version: ${{ matrix.python-version }} python-version: ${{ matrix.python-version }}
@ -170,7 +170,7 @@ jobs:
python-version: '3.8' # torch 1.8.0 requires python >=3.6, <=3.8 python-version: '3.8' # torch 1.8.0 requires python >=3.6, <=3.8
torch: '1.8.0' # min torch version CI https://pypi.org/project/torchvision/ torch: '1.8.0' # min torch version CI https://pypi.org/project/torchvision/
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- uses: actions/setup-python@v4 - uses: actions/setup-python@v4
with: with:
python-version: ${{ matrix.python-version }} python-version: ${{ matrix.python-version }}
@ -212,7 +212,7 @@ jobs:
timeout-minutes: 60 timeout-minutes: 60
runs-on: gpu-latest runs-on: gpu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Install requirements - name: Install requirements
run: pip install -e . run: pip install -e .
- name: Check environment - name: Check environment

View File

@ -24,7 +24,7 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v3 uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL

View File

@ -62,7 +62,7 @@ jobs:
# platforms: "linux/amd64" # platforms: "linux/amd64"
steps: steps:
- name: Checkout repo - name: Checkout repo
uses: actions/checkout@v3 uses: actions/checkout@v4
with: with:
fetch-depth: 0 # copy full .git directory to access full git history in Docker images fetch-depth: 0 # copy full .git directory to access full git history in Docker images

View File

@ -13,7 +13,7 @@ jobs:
Links: Links:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- name: Download and install lychee - name: Download and install lychee
run: | run: |

View File

@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v3 uses: actions/checkout@v4
with: with:
fetch-depth: "0" # pulls all commits (needed correct last updated dates in Docs) fetch-depth: "0" # pulls all commits (needed correct last updated dates in Docs)
- name: Set up Python environment - name: Set up Python environment

View File

@ -3,7 +3,7 @@
# Image is aarch64-compatible for Apple M1 and other ARM architectures i.e. Jetson Nano and Raspberry Pi # Image is aarch64-compatible for Apple M1 and other ARM architectures i.e. Jetson Nano and Raspberry Pi
# Start FROM Ubuntu image https://hub.docker.com/_/ubuntu # Start FROM Ubuntu image https://hub.docker.com/_/ubuntu
FROM arm64v8/ubuntu:22.10 FROM arm64v8/ubuntu:22.04
# Downloads to user config dir # Downloads to user config dir
ADD https://ultralytics.com/assets/Arial.ttf https://ultralytics.com/assets/Arial.Unicode.ttf /root/.config/Ultralytics/ ADD https://ultralytics.com/assets/Arial.ttf https://ultralytics.com/assets/Arial.Unicode.ttf /root/.config/Ultralytics/

View File

@ -26,14 +26,14 @@
"<img width=\"1024\", src=\"https://github.com/ultralytics/assets/raw/main/im/ultralytics-hub.png\"></a>\n", "<img width=\"1024\", src=\"https://github.com/ultralytics/assets/raw/main/im/ultralytics-hub.png\"></a>\n",
"\n", "\n",
"<div align=\"center\">\n", "<div align=\"center\">\n",
" <a href=\"https://github.com/ultralytics/ultralytics/actions/workflows/ci.yaml\">\n", " <a href=\"https://github.com/ultralytics/hub/actions/workflows/ci.yaml\">\n",
" <img src=\"https://github.com/ultralytics/ultralytics/actions/workflows/ci.yaml/badge.svg\" alt=\"CI CPU\"></a>\n", " <img src=\"https://github.com/ultralytics/hub/actions/workflows/ci.yaml/badge.svg\" alt=\"CI CPU\"></a>\n",
" <a href=\"https://colab.research.google.com/github/ultralytics/ultralytics/blob/main/examples/hub.ipynb\">\n", " <a href=\"https://colab.research.google.com/github/ultralytics/hub/blob/master/hub.ipynb\">\n",
" <img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"></a>\n", " <img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"></a>\n",
"\n", "\n",
"Welcome to the [Ultralytics](https://ultralytics.com/) HUB notebook! \n", "Welcome to the [Ultralytics](https://ultralytics.com/) HUB notebook!\n",
"\n", "\n",
"This notebook allows you to train [YOLOv5](https://github.com/ultralytics/yolov5) and [YOLOv8](https://github.com/ultralytics/ultralytics) 🚀 models using [HUB](https://hub.ultralytics.com/). Please browse the YOLOv8 <a href=\"https://docs.ultralytics.com\">Docs</a> for details, raise an issue on <a href=\"https://github.com/ultralytics/ultralytics/issues/new/choose\">GitHub</a> for support, and join our <a href=\"https://ultralytics.com/discord\">Discord</a> community for questions and discussions!\n", "This notebook allows you to train [YOLOv5](https://github.com/ultralytics/yolov5) and [YOLOv8](https://github.com/ultralytics/ultralytics) 🚀 models using [HUB](https://hub.ultralytics.com/). Please browse the HUB <a href=\"https://docs.ultralytics.com/hub/\">Docs</a> for details, raise an issue on <a href=\"https://github.com/ultralytics/hub/issues/new/choose\">GitHub</a> for support, and join our <a href=\"https://ultralytics.com/discord\">Discord</a> community for questions and discussions!\n",
"</div>" "</div>"
] ]
}, },
@ -55,21 +55,21 @@
"colab": { "colab": {
"base_uri": "https://localhost:8080/" "base_uri": "https://localhost:8080/"
}, },
"outputId": "22dcbc27-9c6f-44fb-9745-620431f93793" "outputId": "f8dcca2f-d6d9-4e8d-90a7-85aa357d39fb"
}, },
"source": [ "source": [
"%pip install ultralytics # install\n", "%pip install ultralytics # install\n",
"from ultralytics import YOLO, checks, hub\n", "from ultralytics import YOLO, checks, hub\n",
"checks() # checks" "checks() # checks"
], ],
"execution_count": null, "execution_count": 1,
"outputs": [ "outputs": [
{ {
"output_type": "stream", "output_type": "stream",
"name": "stderr", "name": "stderr",
"text": [ "text": [
"Ultralytics YOLOv8.0.64 🚀 Python-3.9.16 torch-2.0.0+cu118 CUDA:0 (Tesla T4, 15102MiB)\n", "Ultralytics YOLOv8.0.175 🚀 Python-3.10.12 torch-2.0.1+cu118 CUDA:0 (Tesla T4, 15102MiB)\n",
"Setup complete ✅ (2 CPUs, 12.7 GB RAM, 28.3/166.8 GB disk)\n" "Setup complete ✅ (2 CPUs, 12.7 GB RAM, 26.2/78.2 GB disk)\n"
] ]
} }
] ]
@ -94,7 +94,7 @@
"hub.login('API_KEY') # use your API key\n", "hub.login('API_KEY') # use your API key\n",
"\n", "\n",
"model = YOLO('https://hub.ultralytics.com/MODEL_ID') # use your model URL\n", "model = YOLO('https://hub.ultralytics.com/MODEL_ID') # use your model URL\n",
"model.train() # train model" "results = model.train() # train model"
], ],
"execution_count": null, "execution_count": null,
"outputs": [] "outputs": []

View File

@ -1,6 +1,6 @@
# Ultralytics YOLO 🚀, AGPL-3.0 license # Ultralytics YOLO 🚀, AGPL-3.0 license
__version__ = '8.0.175' __version__ = '8.0.176'
from ultralytics.models import RTDETR, SAM, YOLO from ultralytics.models import RTDETR, SAM, YOLO
from ultralytics.models.fastsam import FastSAM from ultralytics.models.fastsam import FastSAM

View File

@ -117,8 +117,7 @@ class HUBTrainingSession:
if data['status'] == 'new': # new model to start training if data['status'] == 'new': # new model to start training
self.train_args = { self.train_args = {
# TODO deprecate 'batch_size' argument in favor of 'batch' 'batch': data['batch_size'], # note HUB argument is slightly different
'batch': data['batch' if 'batch' in data else 'batch_size'],
'epochs': data['epochs'], 'epochs': data['epochs'],
'imgsz': data['imgsz'], 'imgsz': data['imgsz'],
'patience': data['patience'], 'patience': data['patience'],
@ -159,6 +158,7 @@ class HUBTrainingSession:
data = {'epoch': epoch} data = {'epoch': epoch}
if final: if final:
data.update({'type': 'final', 'map': map}) data.update({'type': 'final', 'map': map})
filesize = Path(weights).stat().st_size
smart_request('post', smart_request('post',
url, url,
data=data, data=data,
@ -167,7 +167,7 @@ class HUBTrainingSession:
retry=10, retry=10,
timeout=3600, timeout=3600,
thread=False, thread=False,
progress=True, progress=filesize,
code=4) code=4)
else: else:
data.update({'type': 'epoch', 'isBest': bool(is_best)}) data.update({'type': 'epoch', 'isBest': bool(is_best)})

View File

@ -70,14 +70,15 @@ def requests_with_progress(method, url, **kwargs):
(requests.Response): The response object from the HTTP request. (requests.Response): The response object from the HTTP request.
Note: Note:
If 'progress' is set to True, the progress bar will display the download progress - If 'progress' is set to True, the progress bar will display the download progress for responses with a known
for responses with a known content length. content length.
- If 'progress' is a number then progress bar will display assuming content length = progress.
""" """
progress = kwargs.pop('progress', False) progress = kwargs.pop('progress', False)
if not progress: if not progress:
return requests.request(method, url, **kwargs) return requests.request(method, url, **kwargs)
response = requests.request(method, url, stream=True, **kwargs) response = requests.request(method, url, stream=True, **kwargs)
total = int(response.headers.get('content-length', 0)) # total size total = int(response.headers.get('content-length', 0) if isinstance(progress, bool) else progress) # total size
try: try:
pbar = TQDM(total=total, unit='B', unit_scale=True, unit_divisor=1024) pbar = TQDM(total=total, unit='B', unit_scale=True, unit_divisor=1024)
for data in response.iter_content(chunk_size=1024): for data in response.iter_content(chunk_size=1024):