70 lines
2.5 KiB
Bash
70 lines
2.5 KiB
Bash
#!/bin/bash
|
|
|
|
echo "Building vision dependencies and wheel started."
|
|
|
|
# Set environment variables
|
|
export SRC_PATH="$GITHUB_WORKSPACE/$SRC_DIR"
|
|
export CMAKE_BUILD_TYPE="$BUILD_TYPE"
|
|
export VCVARSALL_PATH="$DEPENDENCIES_DIR/VSBuildTools/VC/Auxiliary/Build/vcvarsall.bat"
|
|
export CONDA_PREFIX="$DEPENDENCIES_DIR"
|
|
export PATH="$PATH:$CONDA_PREFIX/Library/bin"
|
|
export DISTUTILS_USE_SDK=1
|
|
export TRIPLET_FILE="triplets/arm64-windows.cmake"
|
|
export PYTORCH_VERSION="$PYTORCH_VERSION"
|
|
export CHANNEL="$CHANNEL"
|
|
|
|
# Dependencies
|
|
mkdir -p "$DOWNLOADS_DIR"
|
|
mkdir -p "$DEPENDENCIES_DIR"
|
|
echo "*" > "$DOWNLOADS_DIR/.gitignore"
|
|
echo "*" > "$DEPENDENCIES_DIR/.gitignore"
|
|
|
|
# Install vcpkg
|
|
cd "$DOWNLOADS_DIR" || exit
|
|
git clone https://github.com/microsoft/vcpkg.git
|
|
cd vcpkg || exit
|
|
./bootstrap-vcpkg.sh
|
|
|
|
# Set vcpkg to only build release packages
|
|
echo "set(VCPKG_BUILD_TYPE release)" >> "$TRIPLET_FILE"
|
|
|
|
# Install dependencies using vcpkg
|
|
./vcpkg install libjpeg-turbo:arm64-windows --x-install-root="$DEPENDENCIES_DIR"
|
|
./vcpkg install libwebp:arm64-windows --x-install-root="$DEPENDENCIES_DIR"
|
|
./vcpkg install libpng[tools]:arm64-windows --x-install-root="$DEPENDENCIES_DIR"
|
|
|
|
# Copy files using cp
|
|
cp "$DEPENDENCIES_DIR/arm64-windows/lib/libpng16.lib" "$DEPENDENCIES_DIR/arm64-windows/lib/libpng.lib"
|
|
cp "$DEPENDENCIES_DIR/arm64-windows/bin/libpng16.dll" "$DEPENDENCIES_DIR/arm64-windows/bin/libpng.dll"
|
|
cp "$DEPENDENCIES_DIR/arm64-windows/bin/libpng16.pdb" "$DEPENDENCIES_DIR/arm64-windows/bin/libpng.pdb"
|
|
mkdir -p "$DEPENDENCIES_DIR/Library/"
|
|
cp -r "$DEPENDENCIES_DIR/arm64-windows/"* "$DEPENDENCIES_DIR/Library/"
|
|
cp -r "$DEPENDENCIES_DIR/Library/tools/libpng/"* "$DEPENDENCIES_DIR/Library/bin/"
|
|
cp -r "$DEPENDENCIES_DIR/Library/bin/"* "$SRC_PATH/torchvision"
|
|
|
|
# Source directory
|
|
cd "$SRC_PATH" || exit
|
|
|
|
# Create virtual environment
|
|
python -m pip install --upgrade pip
|
|
python -m venv .venv
|
|
echo "*" > .venv/.gitignore
|
|
source .venv/Scripts/activate
|
|
|
|
# Install dependencies
|
|
pip install numpy==2.2.3
|
|
|
|
if [ "$CHANNEL" = "release" ]; then
|
|
echo "Installing latest stable version of PyTorch."
|
|
# TODO: update when arm64 torch available on pypi
|
|
pip3 install --pre torch --index-url https://download.pytorch.org/whl/torch/
|
|
elif [ "$CHANNEL" = "test" ]; then
|
|
echo "Installing PyTorch version $PYTORCH_VERSION."
|
|
pip3 install --pre torch=="$PYTORCH_VERSION" --index-url https://download.pytorch.org/whl/test
|
|
else
|
|
echo "CHANNEL is not set, installing PyTorch from nightly."
|
|
pip3 install --pre torch --index-url https://download.pytorch.org/whl/nightly/cpu
|
|
fi
|
|
|
|
echo "Dependencies install finished successfully."
|