|
#!/bin/bash -e |
|
|
|
|
|
[[ -d "dev/packaging" ]] || { |
|
echo "Please run this script at detectron2 root!" |
|
exit 1 |
|
} |
|
|
|
build_one() { |
|
cu=$1 |
|
pytorch_ver=$2 |
|
|
|
case "$cu" in |
|
cu*) |
|
container_name=manylinux-cuda${cu/cu/} |
|
;; |
|
cpu) |
|
container_name=manylinux-cuda101 |
|
;; |
|
*) |
|
echo "Unrecognized cu=$cu" |
|
exit 1 |
|
;; |
|
esac |
|
|
|
echo "Launching container $container_name ..." |
|
container_id="$container_name"_"$cu"_"$pytorch_ver" |
|
|
|
py_versions=(3.6 3.7 3.8 3.9) |
|
|
|
for py in "${py_versions[@]}"; do |
|
docker run -itd \ |
|
--name "$container_id" \ |
|
--mount type=bind,source="$(pwd)",target=/detectron2 \ |
|
pytorch/$container_name |
|
|
|
cat <<EOF | docker exec -i $container_id sh |
|
export CU_VERSION=$cu D2_VERSION_SUFFIX=+$cu PYTHON_VERSION=$py |
|
export PYTORCH_VERSION=$pytorch_ver |
|
cd /detectron2 && ./dev/packaging/build_wheel.sh |
|
EOF |
|
|
|
docker container stop $container_id |
|
docker container rm $container_id |
|
done |
|
} |
|
|
|
|
|
if [[ -n "$1" ]] && [[ -n "$2" ]]; then |
|
build_one "$1" "$2" |
|
else |
|
build_one cu113 1.10 |
|
build_one cu111 1.10 |
|
build_one cu102 1.10 |
|
build_one cpu 1.10 |
|
|
|
build_one cu111 1.9 |
|
build_one cu102 1.9 |
|
build_one cpu 1.9 |
|
|
|
build_one cu111 1.8 |
|
build_one cu102 1.8 |
|
build_one cu101 1.8 |
|
build_one cpu 1.8 |
|
fi |
|
|