onnxruntime

Форк
0
80 строк · 3.0 Кб
1
# --------------------------------------------------------------
2
# Copyright (c) Microsoft Corporation. All rights reserved.
3
# Licensed under the MIT License.
4
# --------------------------------------------------------------
5
# Dockerfile for ONNX Runtime Android package build environment
6

7
FROM ubuntu:20.04
8

9
ENV DEBIAN_FRONTEND=noninteractive
10

11
# install utilities and ORT dependencies
12
RUN apt-get update && apt-get install --yes --no-install-recommends \
13
  aria2 curl \
14
  build-essential \
15
  ca-certificates \
16
  git \
17
  ninja-build \
18
  openjdk-11-jdk-headless \
19
  python3-dev \
20
  python3-numpy \
21
  python3-pip \
22
  python3-setuptools \
23
  python3-wheel \
24
  unzip lsb-release
25

26
# cmake
27
RUN CMAKE_VERSION=3.30.1 && \
28
  aria2c -q -d /tmp -o cmake-${CMAKE_VERSION}-linux-x86_64.tar.gz \
29
  --checksum=sha-256=ac31f077ef3378641fa25a3cb980d21b2f083982d3149a8f2eb9154f2b53696b \
30
  https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-x86_64.tar.gz && \
31
  tar -zxf /tmp/cmake-${CMAKE_VERSION}-linux-x86_64.tar.gz --strip=1 -C /usr
32

33
# gradle
34
# Note: A system-installed gradle is not required in more recent versions of ORT which use an included gradle wrapper,
35
#       but keep it around to support building older versions.
36
RUN GRADLE_VERSION=6.8.3 && \
37
  aria2c -q -d /tmp -o gradle-${GRADLE_VERSION}-bin.zip \
38
  --checksum=sha-256=7faa7198769f872826c8ef4f1450f839ec27f0b4d5d1e51bade63667cbccd205 \
39
  https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip && \
40
  mkdir /opt/gradle && \
41
  unzip -d /opt/gradle /tmp/gradle-${GRADLE_VERSION}-bin.zip && \
42
  ln -s /opt/gradle/gradle-${GRADLE_VERSION}/bin/gradle /usr/bin
43

44
# flatbuffers
45
RUN python3 -m pip install flatbuffers==2.0
46

47
# configure user and set up workspace directory
48
ARG BUILD_UID=1001
49
ARG BUILD_USER=onnxruntimedev
50
RUN adduser --gecos "onnxruntime Build User" --disabled-password --uid ${BUILD_UID} ${BUILD_USER} && \
51
  mkdir /workspace && \
52
  chown ${BUILD_USER} /workspace
53
USER ${BUILD_USER}
54
WORKDIR /workspace
55

56
# install Android SDK and tools
57
ENV ANDROID_HOME=~/android-sdk
58
ENV NDK_VERSION=26.1.10909125
59
ENV ANDROID_NDK_HOME=${ANDROID_HOME}/ndk/${NDK_VERSION}
60

61
RUN aria2c -q -d /tmp -o cmdline-tools.zip \
62
  --checksum=sha-256=0bebf59339eaa534f4217f8aa0972d14dc49e7207be225511073c661ae01da0a \
63
  https://dl.google.com/android/repository/commandlinetools-linux-9123335_latest.zip && \
64
  unzip /tmp/cmdline-tools.zip -d /tmp/cmdline-tools && \
65
  mkdir -p ${ANDROID_HOME}/cmdline-tools && \
66
  mv /tmp/cmdline-tools/cmdline-tools ${ANDROID_HOME}/cmdline-tools/latest
67

68
RUN yes | ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager --licenses
69
RUN ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager --install \
70
  "platforms;android-32" \
71
  "ndk;${NDK_VERSION}"
72

73
# get ORT repo
74
ARG ONNXRUNTIME_REPO=https://github.com/microsoft/onnxruntime.git
75
ARG ONNXRUNTIME_BRANCH_OR_TAG=main
76
RUN git clone --single-branch --branch=${ONNXRUNTIME_BRANCH_OR_TAG} --recurse-submodules ${ONNXRUNTIME_REPO} \
77
  /workspace/onnxruntime
78

79
# add scripts
80
COPY --chown=${BUILD_UID} scripts /workspace/scripts
81

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.