mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-06-09 00:30:53 +00:00
* link to folder instead of READMEs inside folder (#3938) otherwise hard to find the source code * [Node.js binding] fix linux build (#3927) * [Node.js binding] add build flag for node.js binding (#3948) * [Nodejs binding] create a new pipeline to generate signed binaries (#4104) * add yml files * update pipeline * fix yaml syntax * yaml pop BuildCSharp * udpate yaml * do not stage codesign summary * fix build: pipeline Node.js version to 12.16.3 (#4145) * [Node.js binding] upgrade node-addon-api to 3.0 (#4148) * [Node.js binding] add linux and mac package (#4157) * try mac pipeline * fix path separator * copy prebuilds folder * split esrp yaml for win/mac * disable mac signing temporarily * add linux * fix indent * add nodetool in linux * add nodetool in win-ci-2019 * replace linux build by custom docker scripts * use manylinux as node 12.16 not working on centos6 * try ubuntu * loosen timeout for test case - multiple runs calls * add script to support update nodejs binding version (#4164) * [java] Adds a CUDA test (#3956) * [java] - adding a cuda enabled test. * Adding --build_java to the windows gpu ci pipeline. * Removing a stray line from the unit tests that always enabled CUDA for Java. * Update OnnxRuntime.java for OS X environment. (#3985) onnxruntime init failure due to wrong path of reading native libraries. In OS X 64 system, the arch name is detected as x86 which generates invalid path to read native libraries. Exception java.lang.UnsatisfiedLinkError: no onnxruntime in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867) at java.lang.Runtime.loadLibrary0(Runtime.java:870) at java.lang.System.loadLibrary(System.java:1122) at ai.onnxruntime.OnnxRuntime.load(OnnxRuntime.java:174) at ai.onnxruntime.OnnxRuntime.init(OnnxRuntime.java:81) at ai.onnxruntime.OrtEnvironment.<clinit>(OrtEnvironment.java:24) * Create Java publishing pipeline (#3944) Create CPU and GPu Java publishing pipelines. Final jars are tested on all platforms. However, signing and publishing to maven are manual steps. * Change group id to com.microsoft.onnxruntime per requirements. * Java GPu artifact naming (#4179) Modify gradle build so artifactID has _gpu for GPU builds. Pass USE_CUDA flag on CUDA build Adjust publishing pipelines to extract POM from a correct path. Co-Authored-By: @Craigacp * bump up ORT version to 1.3.1 (#4181) * move back to toolset 14.16 to possibly work around nvcc bug (#4180) * Symbolic shape inference exit on models without onnx opset used (#4090) * Symbolic shape inference exit on models without onnx opset used * Temporary fix for ConvTranspose with symbolic input dims Co-authored-by: Changming Sun <me@sunchangming.com> * Fix Nuphar test failure * Enlarge the read buffer size in C#/Java test code (#4150) 1. Enlarge the read buffer size further, so that our code can run even faster. TODO: need apply the similar changes to python some other language bindings. 2. Add coreml_VGG16_ImageNet to the test exclusion set of x86_32. It is not a new model but previously we didn't run the test against x86_32. * Temporarily disable windows static analysis CI job * skip model coreml_Imputer-LogisticRegression_sklearn_load_breast_cancer * Delete unused variable Co-authored-by: Prasanth Pulavarthi <prasantp@microsoft.com> Co-authored-by: Yulong Wang <yulongw@microsoft.com> Co-authored-by: Adam Pocock <adam.pocock@oracle.com> Co-authored-by: jji2019 <49252772+jji2019@users.noreply.github.com> Co-authored-by: Dmitri Smirnov <yuslepukhin@users.noreply.github.com> Co-authored-by: Dmitri Smirnov <dmitrism@microsoft.com> Co-authored-by: George Wu <jywu@microsoft.com> Co-authored-by: KeDengMS <kedeng@microsoft.com> Co-authored-by: Changming Sun <me@sunchangming.com> Co-authored-by: Changming Sun <chasun@microsoft.com>
143 lines
4.4 KiB
Bash
Executable file
143 lines
4.4 KiB
Bash
Executable file
#!/bin/bash
|
|
set -e
|
|
|
|
|
|
while getopts p:d: parameter_Option
|
|
do case "${parameter_Option}"
|
|
in
|
|
p) PYTHON_VER=${OPTARG};;
|
|
d) DEVICE_TYPE=${OPTARG};;
|
|
x) BUILD_EXTR_PAR=${OPTARG};;
|
|
esac
|
|
done
|
|
|
|
echo "Python version=$PYTHON_VER"
|
|
|
|
DEVICE_TYPE=${DEVICE_TYPE:=Normal}
|
|
|
|
#Download a file from internet
|
|
function GetFile {
|
|
local uri=$1
|
|
local path=$2
|
|
local force=${3:-false}
|
|
local download_retries=${4:-5}
|
|
local retry_wait_time_seconds=${5:-30}
|
|
|
|
if [[ -f $path ]]; then
|
|
if [[ $force = false ]]; then
|
|
echo "File '$path' already exists. Skipping download"
|
|
return 0
|
|
else
|
|
rm -rf $path
|
|
fi
|
|
fi
|
|
|
|
if [[ -f $uri ]]; then
|
|
echo "'$uri' is a file path, copying file to '$path'"
|
|
cp $uri $path
|
|
return $?
|
|
fi
|
|
|
|
echo "Downloading $uri"
|
|
# Use aria2c if available, otherwise use curl
|
|
if command -v aria2c > /dev/null; then
|
|
aria2c -q -d $(dirname $path) -o $(basename $path) "$uri"
|
|
else
|
|
curl "$uri" -sSL --retry $download_retries --retry-delay $retry_wait_time_seconds --create-dirs -o "$path" --fail
|
|
fi
|
|
|
|
return $?
|
|
}
|
|
|
|
if [[ "$PYTHON_VER" = "3.5" && -d "/opt/python/cp35-cp35m" ]]; then
|
|
PYTHON_EXE="/opt/python/cp35-cp35m/bin/python3.5"
|
|
elif [[ "$PYTHON_VER" = "3.6" && -d "/opt/python/cp36-cp36m" ]]; then
|
|
PYTHON_EXE="/opt/python/cp36-cp36m/bin/python3.6"
|
|
elif [[ "$PYTHON_VER" = "3.7" && -d "/opt/python/cp37-cp37m" ]]; then
|
|
PYTHON_EXE="/opt/python/cp37-cp37m/bin/python3.7"
|
|
elif [[ "$PYTHON_VER" = "3.8" && -d "/opt/python/cp38-cp38" ]]; then
|
|
PYTHON_EXE="/opt/python/cp38-cp38/bin/python3.8"
|
|
else
|
|
PYTHON_EXE="/usr/bin/python${PYTHON_VER}"
|
|
fi
|
|
|
|
SYS_LONG_BIT=$(getconf LONG_BIT)
|
|
mkdir -p /tmp/src
|
|
GLIBC_VERSION=$(getconf GNU_LIBC_VERSION | cut -f 2 -d \.)
|
|
|
|
DISTRIBUTOR=$(lsb_release -i -s)
|
|
|
|
if [[ "$DISTRIBUTOR" = "CentOS" && $SYS_LONG_BIT = "64" ]]; then
|
|
LIBDIR="lib64"
|
|
else
|
|
LIBDIR="lib"
|
|
fi
|
|
if [[ $SYS_LONG_BIT = "64" && "$GLIBC_VERSION" -gt "9" ]]; then
|
|
echo "Installing azcopy"
|
|
mkdir -p /tmp/azcopy
|
|
GetFile https://aka.ms/downloadazcopy-v10-linux /tmp/azcopy/azcopy.tar.gz
|
|
tar --strip 1 -xf /tmp/azcopy/azcopy.tar.gz -C /tmp/azcopy
|
|
cp /tmp/azcopy/azcopy /usr/bin
|
|
echo "Installing cmake"
|
|
GetFile https://github.com/Kitware/CMake/releases/download/v3.13.5/cmake-3.13.5-Linux-x86_64.tar.gz /tmp/src/cmake-3.13.5-Linux-x86_64.tar.gz
|
|
tar -zxf /tmp/src/cmake-3.13.5-Linux-x86_64.tar.gz --strip=1 -C /usr
|
|
echo "Installing Node.js"
|
|
GetFile https://nodejs.org/dist/v12.16.3/node-v12.16.3-linux-x64.tar.xz /tmp/src/node-v12.16.3-linux-x64.tar.xz
|
|
tar -xf /tmp/src/node-v12.16.3-linux-x64.tar.xz --strip=1 -C /usr
|
|
else
|
|
echo "Installing cmake"
|
|
GetFile https://github.com/Kitware/CMake/releases/download/v3.13.5/cmake-3.13.5.tar.gz /tmp/src/cmake-3.13.5.tar.gz
|
|
tar -xf /tmp/src/cmake-3.13.5.tar.gz -C /tmp/src
|
|
pushd .
|
|
cd /tmp/src/cmake-3.13.5
|
|
./bootstrap --prefix=/usr --parallel=$(getconf _NPROCESSORS_ONLN) --system-bzip2 --system-curl --system-zlib --system-expat
|
|
make -j$(getconf _NPROCESSORS_ONLN)
|
|
make install
|
|
popd
|
|
fi
|
|
|
|
GetFile https://downloads.gradle-dn.com/distributions/gradle-6.3-bin.zip /tmp/src/gradle-6.3-bin.zip
|
|
cd /tmp/src
|
|
unzip gradle-6.3-bin.zip
|
|
mv /tmp/src/gradle-6.3 /usr/local/gradle
|
|
|
|
if ! [ -x "$(command -v protoc)" ]; then
|
|
source ${0/%install_deps\.sh/install_protobuf\.sh}
|
|
fi
|
|
|
|
|
|
#Don't update 'wheel' to the latest version. see: https://github.com/pypa/auditwheel/issues/102
|
|
${PYTHON_EXE} -m pip install -r ${0/%install_deps\.sh/requirements\.txt}
|
|
if [ $DEVICE_TYPE = "Normal" ]; then
|
|
${PYTHON_EXE} -m pip install sympy==1.1.1
|
|
elif [ $DEVICE_TYPE = "gpu" ]; then
|
|
${PYTHON_EXE} -m pip install sympy==1.1.1
|
|
if [[ $BUILD_EXTR_PAR = *--enable_training* ]]; then
|
|
${PYTHON_EXE} -m pip install --upgrade --pre torch torchvision -f https://download.pytorch.org/whl/nightly/cu101/torch_nightly.html
|
|
fi
|
|
if [[ $BUILD_EXTR_PAR = *--enable_training_python_frontend_e2e_tests* ]]; then
|
|
${PYTHON_EXE} -m pip install transformers
|
|
fi
|
|
fi
|
|
|
|
|
|
#install onnx
|
|
export ONNX_ML=1
|
|
if [ "$PYTHON_VER" = "3.4" ];then
|
|
echo "Python 3.5 and above is needed for running onnx tests!" 1>&2
|
|
else
|
|
source ${0/%install_deps\.sh/install_onnx\.sh} $PYTHON_VER
|
|
fi
|
|
|
|
#The last onnx version will be kept
|
|
cd /
|
|
rm -rf /tmp/src
|
|
|
|
if [ "$DISTRIBUTOR" = "Ubuntu" ]; then
|
|
apt-get -y remove libprotobuf-dev protobuf-compiler
|
|
elif [ "$DISTRIBUTOR" = "CentOS" ]; then
|
|
rm -rf /usr/include/google
|
|
rm -rf /usr/$LIBDIR/libproto*
|
|
else
|
|
dnf remove -y protobuf-devel protobuf-compiler
|
|
fi
|