From 4b6147dd6f69ce3c58770cf2b37f9e87d7694de6 Mon Sep 17 00:00:00 2001 From: Glenn Jocher Date: Thu, 31 Aug 2023 22:17:41 +0200 Subject: [PATCH] Docker COPY with checkout `fetch-depth: 0` (#4674) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .github/workflows/docker.yaml | 2 ++ docker/Dockerfile | 8 ++++---- docker/Dockerfile-arm64 | 4 ++-- docker/Dockerfile-cpu | 6 +++--- docker/Dockerfile-jetson | 4 ++-- docker/Dockerfile-python | 6 +++--- ultralytics/utils/callbacks/tensorboard.py | 6 ++++-- 7 files changed, 20 insertions(+), 16 deletions(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 7d0c8e4d..39fbc42e 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -57,6 +57,8 @@ jobs: steps: - name: Checkout repo uses: actions/checkout@v3 + with: + fetch-depth: 0 # copy full .git directory to access full git history in Docker images - name: Set up QEMU uses: docker/setup-qemu-action@v2 diff --git a/docker/Dockerfile b/docker/Dockerfile index d7ed382a..4feeb1f1 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -23,8 +23,8 @@ RUN apt upgrade --no-install-recommends -y openssl tar WORKDIR /usr/src/ultralytics # Copy contents -# COPY . /usr/src/app (issues as not a .git directory) -RUN git clone https://github.com/ultralytics/ultralytics /usr/src/ultralytics +# COPY . /usr/src/ultralytics # git permission issues inside container +RUN git clone https://github.com/ultralytics/ultralytics -b main /usr/src/ultralytics ADD https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt /usr/src/ultralytics/ # Install pip packages @@ -34,9 +34,9 @@ RUN pip install --no-cache -e ".[export]" thop albumentations comet pycocotools # Run exports to AutoInstall packages RUN 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 +# Requires <= Python 3.10, bug with paddlepaddle==2.5.0 https://github.com/PaddlePaddle/X2Paddle/issues/991 RUN pip install --no-cache paddlepaddle==2.4.2 x2paddle -# Fix error: `np.bool` was a deprecated alias for the builtin `bool` +# Fix error: `np.bool` was a deprecated alias for the builtin `bool` segmentation error in Tests RUN pip install --no-cache numpy==1.23.5 # Remove exported models RUN rm -rf tmp diff --git a/docker/Dockerfile-arm64 b/docker/Dockerfile-arm64 index e4c7be4a..93b2b758 100644 --- a/docker/Dockerfile-arm64 +++ b/docker/Dockerfile-arm64 @@ -18,8 +18,8 @@ RUN apt update \ WORKDIR /usr/src/ultralytics # Copy contents -# COPY . /usr/src/app (issues as not a .git directory) -RUN git clone https://github.com/ultralytics/ultralytics /usr/src/ultralytics +# COPY . /usr/src/ultralytics # git permission issues inside container +RUN git clone https://github.com/ultralytics/ultralytics -b main /usr/src/ultralytics ADD https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt /usr/src/ultralytics/ # Install pip packages diff --git a/docker/Dockerfile-cpu b/docker/Dockerfile-cpu index 7879affd..e636b48b 100644 --- a/docker/Dockerfile-cpu +++ b/docker/Dockerfile-cpu @@ -18,8 +18,8 @@ RUN apt update \ WORKDIR /usr/src/ultralytics # Copy contents -COPY . /usr/src/ultralytics -# RUN git clone https://github.com/ultralytics/ultralytics /usr/src/ultralytics +# COPY . /usr/src/ultralytics # git permission issues inside container +RUN git clone https://github.com/ultralytics/ultralytics -b main /usr/src/ultralytics ADD https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt /usr/src/ultralytics/ # Remove python3.11/EXTERNALLY-MANAGED or use 'pip install --break-system-packages' avoid 'externally-managed-environment' Ubuntu nightly error @@ -32,7 +32,7 @@ RUN pip install --no-cache -e ".[export]" thop --extra-index-url https://downloa # Run exports to AutoInstall packages RUN 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 +# Requires <= Python 3.10, bug with paddlepaddle==2.5.0 https://github.com/PaddlePaddle/X2Paddle/issues/991 # RUN pip install --no-cache paddlepaddle==2.4.2 x2paddle # Remove exported models RUN rm -rf tmp diff --git a/docker/Dockerfile-jetson b/docker/Dockerfile-jetson index 11f92f2e..f18a83f3 100644 --- a/docker/Dockerfile-jetson +++ b/docker/Dockerfile-jetson @@ -18,8 +18,8 @@ RUN apt update \ WORKDIR /usr/src/ultralytics # Copy contents -# COPY . /usr/src/app (issues as not a .git directory) -RUN git clone https://github.com/ultralytics/ultralytics /usr/src/ultralytics +# COPY . /usr/src/ultralytics # git permission issues inside container +RUN git clone https://github.com/ultralytics/ultralytics -b main /usr/src/ultralytics ADD https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt /usr/src/ultralytics/ # Remove opencv-python from requirements.txt as it conflicts with opencv-python installed in base image diff --git a/docker/Dockerfile-python b/docker/Dockerfile-python index ecb2f651..d646ae09 100644 --- a/docker/Dockerfile-python +++ b/docker/Dockerfile-python @@ -18,8 +18,8 @@ RUN apt update \ WORKDIR /usr/src/ultralytics # Copy contents -# COPY . /usr/src/app (issues as not a .git directory) -RUN git clone https://github.com/ultralytics/ultralytics /usr/src/ultralytics +# COPY . /usr/src/ultralytics # git permission issues inside container +RUN git clone https://github.com/ultralytics/ultralytics -b main /usr/src/ultralytics ADD https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt /usr/src/ultralytics/ # Remove python3.11/EXTERNALLY-MANAGED or use 'pip install --break-system-packages' avoid 'externally-managed-environment' Ubuntu nightly error @@ -32,7 +32,7 @@ RUN pip install --no-cache -e ".[export]" thop --extra-index-url https://downloa # Run exports to AutoInstall packages RUN 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 +# Requires <= Python 3.10, bug with paddlepaddle==2.5.0 https://github.com/PaddlePaddle/X2Paddle/issues/991 RUN pip install --no-cache paddlepaddle==2.4.2 x2paddle # Remove exported models RUN rm -rf tmp diff --git a/ultralytics/utils/callbacks/tensorboard.py b/ultralytics/utils/callbacks/tensorboard.py index fd13b0ef..c82f63e0 100644 --- a/ultralytics/utils/callbacks/tensorboard.py +++ b/ultralytics/utils/callbacks/tensorboard.py @@ -3,11 +3,13 @@ from ultralytics.utils import LOGGER, SETTINGS, TESTS_RUNNING, colorstr try: + # WARNING: do not move import due to protobuf issue in https://github.com/ultralytics/ultralytics/pull/4674 + from torch.utils.tensorboard import SummaryWriter + assert not TESTS_RUNNING # do not log pytest assert SETTINGS['tensorboard'] is True # verify integration is enabled - from torch.utils.tensorboard import SummaryWriter -# TypeError for handling 'Descriptors cannot not be created directly.' protobuf errors in Windows except (ImportError, AssertionError, TypeError): + # TypeError for handling 'Descriptors cannot not be created directly.' protobuf errors in Windows SummaryWriter = None WRITER = None # TensorBoard SummaryWriter instance