diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index e8019f4d..78148249 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -113,7 +113,7 @@ jobs: run: | python -m pip install --upgrade pip wheel pip install -e ".[export]" "coverage[toml]" --extra-index-url https://download.pytorch.org/whl/cpu - yolo export format=tflite imgsz=32 || true + # yolo export format=tflite imgsz=32 || true - name: Check environment run: | yolo checks diff --git a/docker/Dockerfile b/docker/Dockerfile index 1dd8e4bb..b96173ee 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -33,7 +33,8 @@ RUN python3 -m pip install --upgrade pip wheel RUN pip install --no-cache -e ".[export]" albumentations comet pycocotools # Run exports to AutoInstall packages -RUN yolo export model=tmp/yolov8n.pt format=edgetpu imgsz=32 +# Edge TPU export fails the first time so is run twice here +RUN yolo export model=tmp/yolov8n.pt format=edgetpu imgsz=32 || yolo export model=tmp/yolov8n.pt format=edgetpu imgsz=32 RUN yolo export model=tmp/yolov8n.pt format=ncnn imgsz=32 # Requires <= Python 3.10, bug with paddlepaddle==2.5.0 https://github.com/PaddlePaddle/X2Paddle/issues/991 RUN pip install --no-cache paddlepaddle>=2.6.0 x2paddle diff --git a/ultralytics/engine/exporter.py b/ultralytics/engine/exporter.py index ff3ef05f..240245cf 100644 --- a/ultralytics/engine/exporter.py +++ b/ultralytics/engine/exporter.py @@ -716,7 +716,7 @@ class Exporter: import tensorflow as tf # noqa check_requirements( ( - "onnx", + "onnx>=1.12.0", "onnx2tf>=1.15.4,<=1.17.5", "sng4onnx>=1.0.1", "onnxsim>=0.4.33", diff --git a/ultralytics/engine/model.py b/ultralytics/engine/model.py index 166c80fa..061dfe5f 100644 --- a/ultralytics/engine/model.py +++ b/ultralytics/engine/model.py @@ -5,7 +5,6 @@ import sys from pathlib import Path from typing import Union -import PIL import numpy as np import torch @@ -146,7 +145,7 @@ class Model(nn.Module): def __call__( self, - source: Union[str, Path, int, list, tuple, PIL.Image.Image, np.ndarray, torch.Tensor] = None, + source: Union[str, Path, int, list, tuple, np.ndarray, torch.Tensor] = None, stream: bool = False, **kwargs, ) -> list: @@ -345,7 +344,7 @@ class Model(nn.Module): def embed( self, - source: Union[str, Path, int, list, tuple, PIL.Image.Image, np.ndarray, torch.Tensor] = None, + source: Union[str, Path, int, list, tuple, np.ndarray, torch.Tensor] = None, stream: bool = False, **kwargs, ) -> list: @@ -373,7 +372,7 @@ class Model(nn.Module): def predict( self, - source: Union[str, Path, int, list, tuple, PIL.Image.Image, np.ndarray, torch.Tensor] = None, + source: Union[str, Path, int, list, tuple, np.ndarray, torch.Tensor] = None, stream: bool = False, predictor=None, **kwargs, @@ -431,7 +430,7 @@ class Model(nn.Module): def track( self, - source: Union[str, Path, int, list, tuple, PIL.Image.Image, np.ndarray, torch.Tensor] = None, + source: Union[str, Path, int, list, tuple, np.ndarray, torch.Tensor] = None, stream: bool = False, persist: bool = False, **kwargs,