Skip to content

Commit 85bd6bc

Browse files
huydhnpytorchmergebot
authored andcommitted
Cache pretrained mobilenet_v2 and mobilenet_v3_large models in Docker (pytorch#100302)
Follow the example I did for ONNX in pytorch#96793, this caches the pretrained `mobilenet_v2 model` and `mobilenet_v3_large` used by CI jobs. I think there might be an issue either with AWS or with the domain download.pytorch.org as the connection to the latter has been failing a lots in the past few days. Related flaky jobs: * https://github.com/pytorch/pytorch/actions/runs/4835873487/jobs/8618836446 * https://github.com/pytorch/pytorch/actions/runs/4835783539/jobs/8618404639 * https://github.com/pytorch/pytorch/actions/runs/4835783539/jobs/8618404639 ``` Downloading: "https://download.pytorch.org/models/mobilenet_v2-b0353104.pth" to /var/lib/jenkins/.cache/torch/hub/checkpoints/mobilenet_v2-b0353104.pth Traceback (most recent call last): File "/opt/conda/envs/py_3.8/lib/python3.8/urllib/request.py", line 1354, in do_open h.request(req.get_method(), req.selector, req.data, headers, File "/opt/conda/envs/py_3.8/lib/python3.8/http/client.py", line 1256, in request self._send_request(method, url, body, headers, encode_chunked) File "/opt/conda/envs/py_3.8/lib/python3.8/http/client.py", line 1302, in _send_request self.endheaders(body, encode_chunked=encode_chunked) File "/opt/conda/envs/py_3.8/lib/python3.8/http/client.py", line 1251, in endheaders self._send_output(message_body, encode_chunked=encode_chunked) File "/opt/conda/envs/py_3.8/lib/python3.8/http/client.py", line 1011, in _send_output self.send(msg) File "/opt/conda/envs/py_3.8/lib/python3.8/http/client.py", line 951, in send self.connect() File "/opt/conda/envs/py_3.8/lib/python3.8/http/client.py", line 1418, in connect super().connect() File "/opt/conda/envs/py_3.8/lib/python3.8/http/client.py", line 922, in connect self.sock = self._create_connection( File "/opt/conda/envs/py_3.8/lib/python3.8/socket.py", line 808, in create_connection raise err File "/opt/conda/envs/py_3.8/lib/python3.8/socket.py", line 796, in create_connection sock.connect(sa) OSError: [Errno 99] Cannot assign requested address ``` Pull Request resolved: pytorch#100302 Approved by: https://github.com/ZainRizvi
1 parent fd82f11 commit 85bd6bc

File tree

7 files changed

+34
-10
lines changed

7 files changed

+34
-10
lines changed

.ci/docker/centos-rocm/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,9 @@ ENV INSTALLED_DB ${DB}
6464

6565
# (optional) Install vision packages like OpenCV and ffmpeg
6666
ARG VISION
67-
COPY ./common/install_vision.sh install_vision.sh
67+
COPY ./common/install_vision.sh ./common/cache_vision_models.sh ./common/common_utils.sh ./
6868
RUN if [ -n "${VISION}" ]; then bash ./install_vision.sh; fi
69-
RUN rm install_vision.sh
69+
RUN rm install_vision.sh cache_vision_models.sh common_utils.sh
7070
ENV INSTALLED_VISION ${VISION}
7171

7272
# Install rocm
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/bin/bash
2+
3+
set -ex
4+
5+
source "$(dirname "${BASH_SOURCE[0]}")/common_utils.sh"
6+
7+
# Cache the test models at ~/.cache/torch/hub/
8+
IMPORT_SCRIPT_FILENAME="/tmp/torchvision_import_script.py"
9+
as_jenkins echo 'import torchvision; torchvision.models.mobilenet_v2(pretrained=True); torchvision.models.mobilenet_v3_large(pretrained=True);' > "${IMPORT_SCRIPT_FILENAME}"
10+
11+
pip_install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu
12+
# Very weird quoting behavior here https://github.com/conda/conda/issues/10972,
13+
# so echo the command to a file and run the file instead
14+
conda_run python "${IMPORT_SCRIPT_FILENAME}"
15+
16+
# Cleaning up
17+
conda_run pip uninstall -y torch torchvision
18+
rm "${IMPORT_SCRIPT_FILENAME}" || true

.ci/docker/common/install_android.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,3 +107,6 @@ chgrp -R jenkins /var/lib/jenkins/.gradle
107107
popd
108108

109109
rm -rf /var/lib/jenkins/.gradle/daemon
110+
111+
# Cache vision models used by the test
112+
source "$(dirname "${BASH_SOURCE[0]}")/cache_vision_models.sh"

.ci/docker/common/install_vision.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,6 @@ case "$ID" in
4343
exit 1
4444
;;
4545
esac
46+
47+
# Cache vision models used by the test
48+
source "$(dirname "${BASH_SOURCE[0]}")/cache_vision_models.sh"

.ci/docker/ubuntu-cuda/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ ENV INSTALLED_DB ${DB}
5858

5959
# (optional) Install vision packages like OpenCV and ffmpeg
6060
ARG VISION
61-
COPY ./common/install_vision.sh install_vision.sh
61+
COPY ./common/install_vision.sh ./common/cache_vision_models.sh ./common/common_utils.sh ./
6262
RUN if [ -n "${VISION}" ]; then bash ./install_vision.sh; fi
63-
RUN rm install_vision.sh
63+
RUN rm install_vision.sh cache_vision_models.sh common_utils.sh
6464
ENV INSTALLED_VISION ${VISION}
6565

6666
# (optional) Install UCC

.ci/docker/ubuntu-rocm/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,9 @@ ENV INSTALLED_DB ${DB}
5555

5656
# (optional) Install vision packages like OpenCV and ffmpeg
5757
ARG VISION
58-
COPY ./common/install_vision.sh install_vision.sh
58+
COPY ./common/install_vision.sh ./common/cache_vision_models.sh ./common/common_utils.sh ./
5959
RUN if [ -n "${VISION}" ]; then bash ./install_vision.sh; fi
60-
RUN rm install_vision.sh
60+
RUN rm install_vision.sh cache_vision_models.sh common_utils.sh
6161
ENV INSTALLED_VISION ${VISION}
6262

6363
# Install rocm

.ci/docker/ubuntu/Dockerfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,20 +86,20 @@ ENV INSTALLED_DB ${DB}
8686

8787
# (optional) Install vision packages like OpenCV and ffmpeg
8888
ARG VISION
89-
COPY ./common/install_vision.sh install_vision.sh
89+
COPY ./common/install_vision.sh ./common/cache_vision_models.sh ./common/common_utils.sh ./
9090
RUN if [ -n "${VISION}" ]; then bash ./install_vision.sh; fi
91-
RUN rm install_vision.sh
91+
RUN rm install_vision.sh cache_vision_models.sh common_utils.sh
9292
ENV INSTALLED_VISION ${VISION}
9393

9494
# (optional) Install Android NDK
9595
ARG ANDROID
9696
ARG ANDROID_NDK
9797
ARG GRADLE_VERSION
98-
COPY ./common/install_android.sh install_android.sh
98+
COPY ./common/install_android.sh ./common/cache_vision_models.sh ./common/common_utils.sh ./
9999
COPY ./android/AndroidManifest.xml AndroidManifest.xml
100100
COPY ./android/build.gradle build.gradle
101101
RUN if [ -n "${ANDROID}" ]; then bash ./install_android.sh; fi
102-
RUN rm install_android.sh
102+
RUN rm install_android.sh cache_vision_models.sh common_utils.sh
103103
RUN rm AndroidManifest.xml
104104
RUN rm build.gradle
105105
ENV INSTALLED_ANDROID ${ANDROID}

0 commit comments

Comments
 (0)