3 [[ "${BASH_SOURCE[0]}" != "${0}" ]] && echo "Please don't source ${BASH_SOURCE[0]}, execute it" && return
5 CURRENT_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
6 ROOT_PATH="$CURRENT_PATH/../../"
9 # mount volume (or directory) for externals
10 if [ -n "$EXTERNAL_VOLUME" ]; then
11 DOCKER_OPTS+=" -v $EXTERNAL_VOLUME:/externals"
12 CONFIG_OPTIONS+=" -DNNAS_EXTERNALS_DIR=/externals"
14 echo "It will use default external path"
17 # mount volume (or directory) for overlay
18 if [ -n "$OVERLAY_VOLUME" ]; then
19 DOCKER_OPTS+=" -v $OVERLAY_VOLUME:/overlay"
20 CONFIG_OPTIONS+=" -DNNCC_OVERLAY_DIR=/overlay"
22 echo "It will use default overlay path"
26 if [ -d $TENSORFLOW_PREFIX ]; then
27 DOCKER_OPTS+=" -v $TENSORFLOW_PREFIX:/opt/tensorflow"
28 CONFIG_OPTIONS+=" -DTENSORFLOW_PREFIX=/opt/tensorflow"
32 if [ -d $ONNXRUNTIME_PREFIX ]; then
33 DOCKER_OPTS+=" -v $ONNXRUNTIME_PREFIX:/opt/onnxruntime"
34 CONFIG_OPTIONS+=" -DONNXRUNTIME_PREFIX=/opt/onnxruntime"
38 if [[ -z $DOCKER_IMAGE_NAME ]]; then
39 echo "It will use default docker image name"
42 NNAS_WORKSPACE=${NNAS_WORKSPACE:-build}
43 NNCC_INSTALL_PREFIX=${NNAS_WORKSPACE}/out
44 DOCKER_OPTS+=" -e NNAS_BUILD_PREFIX=${NNAS_WORKSPACE}"
46 if [[ -z "${ARCHIVE_PATH}" ]]; then
47 ARCHIVE_PATH=${NNAS_WORKSPACE}/archive
52 pushd $ROOT_PATH > /dev/null
54 mkdir -p ${NNCC_INSTALL_PREFIX}
55 ./nncc docker-run ./nnas create-package --prefix "${PWD}/${NNCC_INSTALL_PREFIX}" -- "${CONFIG_OPTIONS}"
57 # create python virtual environment
58 ./nncc docker-run python3 -m venv "${NNCC_INSTALL_PREFIX}/bin/venv"
60 ./nncc docker-run "${NNCC_INSTALL_PREFIX}/bin/venv/bin/python" \
61 -m pip --default-timeout=1000 --trusted-host pypi.org --trusted-host files.pythonhost.org \
62 install -U pip setuptools
63 ./nncc docker-run "${NNCC_INSTALL_PREFIX}/bin/venv/bin/python" \
64 -m pip --default-timeout=1000 --trusted-host pypi.org --trusted-host files.pythonhost.org \
65 install tensorflow-cpu==2.3.0
67 mkdir -p ${ARCHIVE_PATH}
68 tar -zcf ${ARCHIVE_PATH}/nncc-package.tar.gz -C ${NNCC_INSTALL_PREFIX} --exclude "bin/venv" ./
69 tar -zcf ${ARCHIVE_PATH}/nncc-venv-package.tar.gz -C ${NNCC_INSTALL_PREFIX} bin/venv