mirror of
https://github.com/deepinsight/insightface.git
synced 2026-07-27 10:07:48 +00:00
Update inspireface to 1.2.0
This commit is contained in:
118
cpp-package/inspireface/command/build_linux_tensorrt.sh
Normal file
118
cpp-package/inspireface/command/build_linux_tensorrt.sh
Normal file
@@ -0,0 +1,118 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Reusable function to handle 'install' directory operations
|
||||
move_install_files() {
|
||||
local root_dir="$1"
|
||||
local install_dir="$root_dir/install"
|
||||
|
||||
# Step 1: Check if the 'install' directory exists
|
||||
if [ ! -d "$install_dir" ]; then
|
||||
echo "Error: 'install' directory does not exist in $root_dir"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Step 2: Delete all other files/folders except 'install'
|
||||
find "$root_dir" -mindepth 1 -maxdepth 1 -not -name "install" -exec rm -rf {} +
|
||||
|
||||
# Step 3: Move all files from 'install' to the root directory
|
||||
mv "$install_dir"/* "$root_dir" 2>/dev/null
|
||||
|
||||
# Step 4: Remove the empty 'install' directory
|
||||
rmdir "$install_dir"
|
||||
|
||||
echo "Files from 'install' moved to $root_dir, and 'install' directory deleted."
|
||||
}
|
||||
|
||||
get_cuda_ubuntu_tag() {
|
||||
# If CUDA_TAG is set, use it
|
||||
if [ -n "${CUDA_TAG}" ]; then
|
||||
echo "${CUDA_TAG}"
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Get CUDA version
|
||||
CUDA_VERSION="_none"
|
||||
if command -v nvcc &> /dev/null; then
|
||||
# Try to get version from nvcc
|
||||
CUDA_VERSION=$(nvcc --version 2>/dev/null | grep "release" | awk '{print $6}' | cut -d',' -f1 | tr -d '.')
|
||||
if [ -z "${CUDA_VERSION}" ]; then
|
||||
CUDA_VERSION="_none"
|
||||
else
|
||||
CUDA_VERSION="${CUDA_VERSION}"
|
||||
fi
|
||||
elif [ -f "/usr/local/cuda/version.txt" ]; then
|
||||
# Get version from CUDA installation directory
|
||||
CUDA_VERSION=$(cat /usr/local/cuda/version.txt 2>/dev/null | grep "CUDA Version" | awk '{print $3}' | tr -d '.')
|
||||
if [ -z "${CUDA_VERSION}" ]; then
|
||||
CUDA_VERSION="_none"
|
||||
fi
|
||||
elif [ -d "/usr/local/cuda" ] && ls -l /usr/local/cuda 2>/dev/null | grep -q "cuda-"; then
|
||||
# Get version from symbolic link
|
||||
CUDA_LINK=$(ls -l /usr/local/cuda 2>/dev/null | grep -o "cuda-[0-9.]*" | head -n 1)
|
||||
CUDA_VERSION=$(echo "${CUDA_LINK}" | cut -d'-' -f2 | tr -d '.')
|
||||
if [ -z "${CUDA_VERSION}" ]; then
|
||||
CUDA_VERSION="_none"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Get Ubuntu version
|
||||
UBUNTU_VERSION="_none"
|
||||
if [ -f "/etc/os-release" ]; then
|
||||
# Check if it is Ubuntu
|
||||
if grep -q "Ubuntu" /etc/os-release 2>/dev/null; then
|
||||
UBUNTU_VERSION=$(grep "VERSION_ID" /etc/os-release 2>/dev/null | cut -d'"' -f2)
|
||||
if [ -z "${UBUNTU_VERSION}" ]; then
|
||||
UBUNTU_VERSION="_none"
|
||||
fi
|
||||
fi
|
||||
elif [ -f "/etc/lsb-release" ]; then
|
||||
# Get version from lsb-release
|
||||
if grep -q "Ubuntu" /etc/lsb-release 2>/dev/null; then
|
||||
UBUNTU_VERSION=$(grep "DISTRIB_RELEASE" /etc/lsb-release 2>/dev/null | cut -d'=' -f2)
|
||||
if [ -z "${UBUNTU_VERSION}" ]; then
|
||||
UBUNTU_VERSION="_none"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Generate and return tag
|
||||
echo "cuda${CUDA_VERSION}_ubuntu${UBUNTU_VERSION}"
|
||||
}
|
||||
|
||||
CUDA_TAG=$(get_cuda_ubuntu_tag)
|
||||
echo "Cuda Tag: ${CUDA_TAG}"
|
||||
|
||||
if [ -n "$VERSION" ]; then
|
||||
TAG="-$VERSION"
|
||||
else
|
||||
TAG=""
|
||||
fi
|
||||
|
||||
SCRIPT_DIR=$(pwd)
|
||||
BUILD_FOLDER_NAME="inspireface-linux-tensorrt-${CUDA_TAG}${TAG}"
|
||||
|
||||
mkdir -p build/${BUILD_FOLDER_NAME}
|
||||
cd build/${BUILD_FOLDER_NAME}
|
||||
|
||||
echo "TENSORRT_ROOT: ${TENSORRT_ROOT}"
|
||||
|
||||
cmake \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DISF_BUILD_WITH_SAMPLE=ON \
|
||||
-DISF_BUILD_WITH_TEST=ON \
|
||||
-DISF_ENABLE_BENCHMARK=ON \
|
||||
-DISF_ENABLE_USE_LFW_DATA=OFF \
|
||||
-DISF_ENABLE_TEST_EVALUATION=OFF \
|
||||
-DTENSORRT_ROOT=${TENSORRT_ROOT} \
|
||||
-DISF_ENABLE_TENSORRT=ON ../..
|
||||
|
||||
make -j4
|
||||
|
||||
make install
|
||||
|
||||
if [ $? -eq 0 ] && [ -d "$(pwd)/install" ]; then
|
||||
move_install_files "$(pwd)"
|
||||
else
|
||||
echo "Build failed or the installation directory does not exist"
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user