Skip to content

Commit 2fe88e3

Browse files
authored
Merge branch 'main' into remove-conda
2 parents 7feb790 + 9813fd6 commit 2fe88e3

File tree

2 files changed

+72
-3
lines changed

2 files changed

+72
-3
lines changed
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
#!/bin/bash
2+
3+
echo "Building vision dependencies and wheel started."
4+
5+
# Set environment variables
6+
export SRC_PATH="$GITHUB_WORKSPACE/$SRC_DIR"
7+
export CMAKE_BUILD_TYPE="$BUILD_TYPE"
8+
export VCVARSALL_PATH="$DEPENDENCIES_DIR/VSBuildTools/VC/Auxiliary/Build/vcvarsall.bat"
9+
export CONDA_PREFIX="$DEPENDENCIES_DIR"
10+
export PATH="$PATH:$CONDA_PREFIX/Library/bin"
11+
export DISTUTILS_USE_SDK=1
12+
export TRIPLET_FILE="triplets/arm64-windows.cmake"
13+
export PYTORCH_VERSION="$PYTORCH_VERSION"
14+
export CHANNEL="$CHANNEL"
15+
16+
# Dependencies
17+
mkdir -p "$DOWNLOADS_DIR"
18+
mkdir -p "$DEPENDENCIES_DIR"
19+
echo "*" > "$DOWNLOADS_DIR/.gitignore"
20+
echo "*" > "$DEPENDENCIES_DIR/.gitignore"
21+
22+
# Install vcpkg
23+
cd "$DOWNLOADS_DIR" || exit
24+
git clone https://github.com/microsoft/vcpkg.git
25+
cd vcpkg || exit
26+
./bootstrap-vcpkg.sh
27+
28+
# Set vcpkg to only build release packages
29+
echo "set(VCPKG_BUILD_TYPE release)" >> "$TRIPLET_FILE"
30+
31+
# Install dependencies using vcpkg
32+
./vcpkg install libjpeg-turbo:arm64-windows --x-install-root="$DEPENDENCIES_DIR"
33+
./vcpkg install libwebp:arm64-windows --x-install-root="$DEPENDENCIES_DIR"
34+
./vcpkg install libpng[tools]:arm64-windows --x-install-root="$DEPENDENCIES_DIR"
35+
36+
# Copy files using cp
37+
cp "$DEPENDENCIES_DIR/arm64-windows/lib/libpng16.lib" "$DEPENDENCIES_DIR/arm64-windows/lib/libpng.lib"
38+
cp "$DEPENDENCIES_DIR/arm64-windows/bin/libpng16.dll" "$DEPENDENCIES_DIR/arm64-windows/bin/libpng.dll"
39+
cp "$DEPENDENCIES_DIR/arm64-windows/bin/libpng16.pdb" "$DEPENDENCIES_DIR/arm64-windows/bin/libpng.pdb"
40+
mkdir -p "$DEPENDENCIES_DIR/Library/"
41+
cp -r "$DEPENDENCIES_DIR/arm64-windows/"* "$DEPENDENCIES_DIR/Library/"
42+
cp -r "$DEPENDENCIES_DIR/Library/tools/libpng/"* "$DEPENDENCIES_DIR/Library/bin/"
43+
cp -r "$DEPENDENCIES_DIR/Library/bin/"* "$SRC_PATH/torchvision"
44+
45+
# Source directory
46+
cd "$SRC_PATH" || exit
47+
48+
# Create virtual environment
49+
python -m pip install --upgrade pip
50+
python -m venv .venv
51+
echo "*" > .venv/.gitignore
52+
source .venv/Scripts/activate
53+
54+
# Install dependencies
55+
pip install numpy==2.2.3
56+
57+
if [ "$CHANNEL" = "release" ]; then
58+
echo "Installing latest stable version of PyTorch."
59+
# TODO: update when arm64 torch available on pypi
60+
pip3 install --pre torch --index-url https://download.pytorch.org/whl/torch/
61+
elif [ "$CHANNEL" = "test" ]; then
62+
echo "Installing PyTorch version $PYTORCH_VERSION."
63+
pip3 install --pre torch=="$PYTORCH_VERSION" --index-url https://download.pytorch.org/whl/test
64+
else
65+
echo "CHANNEL is not set, installing PyTorch from nightly."
66+
pip3 install --pre torch --index-url https://download.pytorch.org/whl/nightly/cpu
67+
fi
68+
69+
echo "Dependencies install finished successfully."

setup.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
NVCC_FLAGS = os.getenv("NVCC_FLAGS", None)
2525
# Note: the GPU video decoding stuff used to be called "video codec", which
2626
# isn't an accurate or descriptive name considering there are at least 2 other
27-
# video deocding backends in torchvision. I'm renaming this to "gpu video
27+
# video decoding backends in torchvision. I'm renaming this to "gpu video
2828
# decoder" where possible, keeping user facing names (like the env var below) to
2929
# the old scheme for BC.
3030
USE_GPU_VIDEO_DECODER = os.getenv("TORCHVISION_USE_VIDEO_CODEC", "1") == "1"
@@ -211,7 +211,7 @@ def find_libpng():
211211
subprocess.run([libpng_config, "--version"], stdout=subprocess.PIPE).stdout.strip().decode("utf-8")
212212
)
213213
if png_version < min_version:
214-
warnings.warn("libpng version {png_version} is less than minimum required version {min_version}")
214+
warnings.warn(f"libpng version {png_version} is less than minimum required version {min_version}")
215215
return False, None, None, None
216216

217217
include_dir = (
@@ -448,7 +448,7 @@ def find_ffmpeg_libraries():
448448

449449
extensions.append(
450450
CppExtension(
451-
# This is an aweful name. It should be "cpu_video_decoder". Keeping for BC.
451+
# This is an awful name. It should be "cpu_video_decoder". Keeping for BC.
452452
"torchvision.video_reader",
453453
combined_src,
454454
include_dirs=[

0 commit comments

Comments
 (0)