mirror of https://github.com/AlexeyAB/darknet.git
115 lines
4.5 KiB
Bash
Executable File
115 lines
4.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
install_tools=false
|
|
install_cuda=false
|
|
bypass_driver_installation=false
|
|
|
|
POSITIONAL=()
|
|
while [[ $# -gt 0 ]]
|
|
do
|
|
key="$1"
|
|
|
|
case $key in
|
|
-InstallCUDA|--InstallCUDA)
|
|
install_cuda=true
|
|
shift
|
|
;;
|
|
-InstallTOOLS|--InstallTOOLS)
|
|
install_tools=true
|
|
shift
|
|
;;
|
|
-BypassDRIVER|--BypassDRIVER)
|
|
bypass_driver_installation=true
|
|
shift
|
|
;;
|
|
*) # unknown option
|
|
POSITIONAL+=("$1") # save it in an array for later
|
|
shift # past argument
|
|
;;
|
|
esac
|
|
done
|
|
set -- "${POSITIONAL[@]}" # restore positional parameters
|
|
|
|
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
|
echo "This script is located in $script_dir"
|
|
cd $script_dir/..
|
|
temp_folder="./temp"
|
|
mkdir -p $temp_folder
|
|
cd $temp_folder
|
|
|
|
if [ -f $script_dir/requested_cuda_version.sh ]; then
|
|
echo "Loading $script_dir/requested_cuda_version.sh"
|
|
source $script_dir/requested_cuda_version.sh
|
|
else
|
|
echo "Unable to find requested_cuda_version.sh script"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
if [ "$install_cuda" = true ] ; then
|
|
echo "Unable to install CUDA on macOS, please wait for a future script update or do not put -InstallCUDA command line flag to continue"
|
|
exit 2
|
|
fi
|
|
if [ "$install_tools" = true ] ; then
|
|
echo "Unable to provide tools on macOS, please wait for a future script update or do not put -InstallTOOLS command line flag to continue"
|
|
exit 3
|
|
fi
|
|
elif [[ $(cut -f2 <<< $(lsb_release -i)) == "Ubuntu" ]]; then
|
|
echo "Running in $(cut -f2 <<< $(lsb_release -i))"
|
|
echo "InstallCUDA: $install_cuda"
|
|
echo "InstallTOOLS: $install_tools"
|
|
if [ "$install_cuda" = true ] ; then
|
|
echo "Running $script_dir/deploy-cuda.sh"
|
|
$script_dir/deploy-cuda.sh
|
|
if [ "$bypass_driver_installation" = true ] ; then
|
|
sudo ln -s /usr/local/cuda-${CUDA_VERSION}/lib64/stubs/libcuda.so /usr/local/cuda-${CUDA_VERSION}/lib64/stubs/libcuda.so.1
|
|
sudo ln -s /usr/local/cuda-${CUDA_VERSION}/lib64/stubs/libcuda.so /usr/local/cuda-${CUDA_VERSION}/lib64/libcuda.so.1
|
|
sudo ln -s /usr/local/cuda-${CUDA_VERSION}/lib64/stubs/libcuda.so /usr/local/cuda-${CUDA_VERSION}/lib64/libcuda.so
|
|
fi
|
|
export PATH=/usr/local/cuda/bin:$PATH
|
|
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
|
|
export CUDACXX=/usr/local/cuda/bin/nvcc
|
|
export CUDA_PATH=/usr/local/cuda
|
|
export CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda
|
|
fi
|
|
if [ "$install_tools" = true ] ; then
|
|
echo "Installing tools"
|
|
sudo apt-get update
|
|
sudo apt-get install -y --no-install-recommends git ninja-build build-essential g++ nasm yasm gperf
|
|
sudo apt-get install -y --no-install-recommends apt-transport-https ca-certificates gnupg software-properties-common wget
|
|
sudo apt-get install -y --no-install-recommends libgles2-mesa-dev libx11-dev libxft-dev libxext-dev libxrandr-dev libxi-dev libxcursor-dev libxdamage-dev libxinerama-dev libdbus-1-dev libxtst-dev
|
|
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null
|
|
sudo apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(cut -f2 <<< $(lsb_release -c)) main"
|
|
wget -q https://packages.microsoft.com/config/ubuntu/$(cut -f2 <<< $(lsb_release -r))/packages-microsoft-prod.deb
|
|
sudo dpkg -i packages-microsoft-prod.deb
|
|
sudo add-apt-repository universe
|
|
sudo apt-get update
|
|
sudo apt-get dist-upgrade -y
|
|
sudo apt-get install -y --no-install-recommends cmake
|
|
sudo apt-get install -y --no-install-recommends powershell
|
|
sudo apt-get install -y --no-install-recommends curl zip unzip tar
|
|
sudo apt-get install -y --no-install-recommends bison
|
|
sudo apt-get install -y --no-install-recommends automake autoconf libtool pkg-config autoconf-archive
|
|
sudo apt-get clean
|
|
fi
|
|
else
|
|
if [ "$install_cuda" = true ] ; then
|
|
echo "Unable to install CUDA on this OS, please wait for a future script update or do not put -InstallCUDA command line flag to continue"
|
|
exit 4
|
|
fi
|
|
if [ "$install_tools" = true ] ; then
|
|
echo "Unable to install tools on this OS, please wait for a future script update or do not put -InstallTOOLS command line flag to continue"
|
|
exit 5
|
|
fi
|
|
fi
|
|
|
|
cd ..
|
|
rm -rf "$temp_folder"
|
|
echo "Building darknet"
|
|
if [[ -v CUDA_PATH ]]; then
|
|
./build.ps1 -UseVCPKG -EnableOPENCV -EnableCUDA -EnableCUDNN -DisableInteractive -DoNotUpdateTOOL
|
|
#./build.ps1 -UseVCPKG -EnableOPENCV -EnableCUDA -EnableCUDNN -EnableOPENCV_CUDA -DisableInteractive -DoNotUpdateTOOL
|
|
else
|
|
./build.ps1 -UseVCPKG -EnableOPENCV -DisableInteractive -DoNotUpdateTOOL
|
|
fi
|