|
|
@@ -6,22 +6,33 @@ FROM ubuntu:20.04 AS base
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
|
|
|
|
|
+# hadolint ignore=DL3008
|
|
|
RUN apt-get update && apt-get install -y \
|
|
|
- cmake build-essential git curl libssl-dev python3
|
|
|
-
|
|
|
+ cmake build-essential git curl libssl-dev python3 --no-install-recommends \
|
|
|
+ && apt-get clean -y \
|
|
|
+ && rm -rf /var/lib/apt/lists/*
|
|
|
+
|
|
|
+# hadolint ignore=DL3008
|
|
|
+RUN apt-get update && apt-get install -y wget ca-certificates --no-install-recommends \
|
|
|
+ && apt-get clean -y \
|
|
|
+ && rm -rf /var/lib/apt/lists/* \
|
|
|
+ && mkdir /usr/local/share/ca-certificates/cacert.org \
|
|
|
+ && wget -qP /usr/local/share/ca-certificates/cacert.org http://www.cacert.org/certs/root.crt http://www.cacert.org/certs/class3.crt \
|
|
|
+ && update-ca-certificates \
|
|
|
+ && git config --global http.sslCAinfo /etc/ssl/certs/ca-certificates.crt
|
|
|
|
|
|
# Build TensorFlow Lite VX delegate default built for x86-64 simulator
|
|
|
WORKDIR /tmp
|
|
|
-RUN git clone https://github.com/VeriSilicon/TIM-VX.git tim-vx
|
|
|
-RUN git clone https://github.com/VeriSilicon/tflite-vx-delegate.git
|
|
|
-RUN git clone https://github.com/tensorflow/tensorflow.git
|
|
|
+RUN git clone https://github.com/VeriSilicon/TIM-VX.git tim-vx \
|
|
|
+ && git clone https://github.com/VeriSilicon/tflite-vx-delegate.git \
|
|
|
+ && git clone https://github.com/tensorflow/tensorflow.git
|
|
|
|
|
|
|
|
|
# Build TIM-VX
|
|
|
WORKDIR /tmp/tim-vx/host_build
|
|
|
-RUN cmake -DCMAKE_INSTALL_PREFIX=/usr/local ../
|
|
|
-RUN make -j$(grep -c ^processor /proc/cpuinfo)
|
|
|
-RUN make install
|
|
|
+RUN cmake -DCMAKE_INSTALL_PREFIX=/usr/local ../ \
|
|
|
+ && make -j "$(grep -c ^processor /proc/cpuinfo)" \
|
|
|
+ && make install
|
|
|
|
|
|
WORKDIR /tmp/tim-vx
|
|
|
#RUN mkdir -p prebuilt-sdk/x86_64_linux/lib/include
|
|
|
@@ -31,22 +42,23 @@ WORKDIR /tmp/tim-vx
|
|
|
# Build TensorFlow Lite
|
|
|
WORKDIR /tmp/tensorflow/build
|
|
|
RUN cmake \
|
|
|
- -DBUILD_SHARED_LIBS=ON=on \
|
|
|
- -DTFLITE_ENABLE_RUY=on \
|
|
|
- -DTFLITE_ENABLE_NNAPI=off \
|
|
|
- -DTFLITE_ENABLE_XNNPACK=on \
|
|
|
- -DTFLITE_ENABLE_EXTERNAL_DELEGATE=on \
|
|
|
- ../tensorflow/lite/
|
|
|
-RUN make -j$(grep -c ^processor /proc/cpuinfo)
|
|
|
-RUN make install
|
|
|
-RUN cp --no-preserve=ownership -d lib*.so* /usr/local/lib
|
|
|
-RUN cp -r --no-preserve=ownership -d flatbuffers/include/flatbuffers /usr/local/include
|
|
|
+ -DBUILD_SHARED_LIBS=ON=on \
|
|
|
+ -DTFLITE_ENABLE_RUY=on \
|
|
|
+ -DTFLITE_ENABLE_NNAPI=off \
|
|
|
+ -DTFLITE_ENABLE_XNNPACK=on \
|
|
|
+ -DTFLITE_ENABLE_EXTERNAL_DELEGATE=on \
|
|
|
+ ../tensorflow/lite/
|
|
|
+RUN make -j "$(grep -c ^processor /proc/cpuinfo)" \
|
|
|
+ && make install \
|
|
|
+ && cp --no-preserve=ownership -d lib*.so* /usr/local/lib \
|
|
|
+ && cp -r --no-preserve=ownership -d flatbuffers/include/flatbuffers /usr/local/include
|
|
|
# install header files
|
|
|
-RUN install -d /usr/local/include/tensorflow/lite && \
|
|
|
- cd /tmp/tensorflow/tensorflow/lite && \
|
|
|
- cp --parents \
|
|
|
- $(find . -name "*.h*") \
|
|
|
- /usr/local/include/tensorflow/lite
|
|
|
+RUN install -d /usr/local/include/tensorflow/lite
|
|
|
+WORKDIR /tmp/tensorflow/tensorflow/lite
|
|
|
+# hadolint ignore=SC2046
|
|
|
+RUN cp --parents \
|
|
|
+ $(find . -name "*.h*") \
|
|
|
+ /usr/local/include/tensorflow/lite
|
|
|
# install version.h from core
|
|
|
RUN install -d /usr/local/include/tensorflow/core/public && \
|
|
|
cp /tmp/tensorflow/tensorflow/core/public/version.h /usr/local/include/tensorflow/core/public
|
|
|
@@ -55,21 +67,22 @@ RUN install -d /usr/local/include/tensorflow/core/public && \
|
|
|
# Build Vx Delegate default built for x86-64 simulator
|
|
|
WORKDIR /tmp/tflite-vx-delegate/build
|
|
|
RUN cmake \
|
|
|
- -DBUILD_SHARED_LIBS=ON \
|
|
|
- -DFETCHCONTENT_SOURCE_DIR_TENSORFLOW=/tmp/tensorflow \
|
|
|
- -DTFLITE_LIB_LOC=/usr/local/lib/libtensorflow-lite.so \
|
|
|
- -DTIM_VX_INSTALL=/usr/local \
|
|
|
- -DCMAKE_INSTALL_PREFIX=/usr/ \
|
|
|
- ../
|
|
|
-RUN make vx_delegate -j$(grep -c ^processor /proc/cpuinfo)
|
|
|
-RUN make install
|
|
|
-RUN cp --no-preserve=ownership -d lib*.so* /usr/lib
|
|
|
+ -DBUILD_SHARED_LIBS=ON \
|
|
|
+ -DFETCHCONTENT_SOURCE_DIR_TENSORFLOW=/tmp/tensorflow \
|
|
|
+ -DTFLITE_LIB_LOC=/usr/local/lib/libtensorflow-lite.so \
|
|
|
+ -DTIM_VX_INSTALL=/usr/local \
|
|
|
+ -DCMAKE_INSTALL_PREFIX=/usr/ \
|
|
|
+ ../
|
|
|
+RUN make vx_delegate -j "$(grep -c ^processor /proc/cpuinfo)" \
|
|
|
+ && make install \
|
|
|
+ && cp --no-preserve=ownership -d lib*.so* /usr/lib
|
|
|
# install header files
|
|
|
-RUN install -d /usr/local/include/tensorflow-lite-vx-delegate && \
|
|
|
- cd /tmp/tflite-vx-delegate/ && \
|
|
|
- cp --parents \
|
|
|
- $(find . -name "*.h*") \
|
|
|
- /usr/local/include/tensorflow-lite-vx-delegate
|
|
|
+RUN install -d /usr/local/include/tensorflow-lite-vx-delegate
|
|
|
+WORKDIR /tmp/tflite-vx-delegate/
|
|
|
+# hadolint ignore=SC2046
|
|
|
+RUN cp --parents \
|
|
|
+ $(find . -name "*.h*") \
|
|
|
+ /usr/local/include/tensorflow-lite-vx-delegate
|
|
|
|
|
|
ENV VIVANTE_SDK_DIR=/tmp/tim-vx/prebuilt-sdk/x86_64_linux/
|
|
|
ENV VSIMULATOR_CONFIG=czl
|
|
|
@@ -84,6 +97,7 @@ COPY . .
|
|
|
|
|
|
WORKDIR /home/wamr/core/iwasm/libraries/wasi-nn/test/build
|
|
|
|
|
|
+# hadolint ignore=SC2086
|
|
|
RUN cmake \
|
|
|
-DCMAKE_LIBRARY_PATH=${CMAKE_LIBRARY_PATH}:/usr/local/lib/ \
|
|
|
-DCMAKE_INCLUDE_PATH=${CMAKE_INCLUDE_PATH}:/usr/local/include/ \
|
|
|
@@ -92,7 +106,7 @@ RUN cmake \
|
|
|
-DWASI_NN_EXT_DELEGATE_PATH="/usr/lib/libvx_delegate.so" \
|
|
|
..
|
|
|
|
|
|
-RUN make -j $(grep -c ^processor /proc/cpuinfo)
|
|
|
+RUN make -j "$(grep -c ^processor /proc/cpuinfo)"
|
|
|
|
|
|
RUN cp /home/wamr/core/iwasm/libraries/wasi-nn/test/build/iwasm /run/iwasm
|
|
|
|