onnxruntime server
v1.20.0
download-onnxruntime-linux.sh/usr/local/onnxruntime ./usr/local/onnxruntime/lib ke /etc/ld.so.conf.d/onnxruntime.conf dan run ldconfig .brew install onnxruntimesudo apt install cmake pkg-config libboost-all-dev libssl-devsudo apt install cuda-toolkit-12 libcudnn9-dev-cuda-12
# optional, for Nvidia GPU support with Docker
sudo apt install nvidia-container-toolkit brew install cmake boost opensslcmake -B build -S . -DCMAKE_BUILD_TYPE=Release
cmake --build build --parallel
sudo cmake --install build --prefix /usr/local/onnxruntime-server| Os | Metode | Memerintah |
|---|---|---|
| Arch Linux | Aur | yay -S onnxruntime-server |
--model-dir ) di mana model berada.${model_dir}/${model_name}/${model_version}/model.onnx atau ${model_dir}/${model_name}/${model_version}.onnx File dalam --model-dir | Buat Badan Permintaan Sesi | Dapat/Jalankan Jalur URL API Sesi (setelah dibuat) |
|---|---|---|
model_name/model_version/model.onnx atau model_name/model_version.onnx | {"model":"model_name", "version":"model_version"} | /api/sessions/model_name/model_version |
sample/v1/model.onnx atau sample/v1.onnx | {"model":"sample", "version":"v1"} | /api/sessions/sample/v1 |
sample/v2/model.onnx atau sample/v2.onnx | {"model":"sample", "version":"v2"} | /api/sessions/sample/v2 |
other/20200101/model.onnx atau other/20200101.onnx | {"model":"other", "version":"20200101"} | /api/sessions/other/20200101 |
--tcp-port .--http-port .--https-port , --https-cert dan --https-key .--swagger-url-path .-h , --help untuk melihat daftar lengkap opsi.ONNX_SERVER_CONFIG_PRIORITY=env ada, variabel lingkungan memiliki prioritas yang lebih tinggi. Dalam gambar Docker, variabel lingkungan memiliki prioritas yang lebih tinggi. | Pilihan | Lingkungan | Keterangan |
|---|---|---|
--workers | ONNX_SERVER_WORKERS | Ukuran Pool Thread Pekerja. Default: 4 |
--request-payload-limit | ONNX_SERVER_REQUEST_PAYLOAD_LIMIT | Batas ukuran payload http/https. Default: 1024 * 1024 * 10 (10MB) ` |
--model-dir | ONNX_SERVER_MODEL_DIR | Jalur direktori model File model ONNX harus ditempatkan di jalur berikut: ${model_dir}/${model_name}/${model_version}/model.onnx atau${model_dir}/${model_name}/${model_version}.onnxDefault: models |
--prepare-model | ONNX_SERVER_PREPARE_MODEL | Pra-buat beberapa sesi model di startup server. Format sebagai daftar model_name:model_version atau model_name:model_version(session_options, ...) .Sesi yang tersedia adalah - cuda = device_id [ or true or false]mis. model1:v1 model2:v9model1:v1(cuda=true) model2:v9(cuda=1) |
| Pilihan | Lingkungan | Keterangan |
|---|---|---|
--tcp-port | ONNX_SERVER_TCP_PORT | Aktifkan backend TCP dan nomor port mana yang akan digunakan. |
--http-port | ONNX_SERVER_HTTP_PORT | Aktifkan HTTP Backend dan nomor port mana yang akan digunakan. |
--https-port | ONNX_SERVER_HTTPS_PORT | Aktifkan HTTPS backend dan nomor port mana yang akan digunakan. |
--https-cert | ONNX_SERVER_HTTPS_CERT | Jalur file sertifikasi SSL untuk https |
--https-key | ONNX_SERVER_HTTPS_KEY | SSL Private Key File Path untuk HTTPS |
--swagger-url-path | ONNX_SERVER_SWAGGER_URL_PATH | Aktifkan dokumen API Swagger untuk backend http/https. Nilai ini tidak dapat dimulai dengan "/API/" dan "/kesehatan" Jika tidak ditentukan, dokumen Swagger tidak disediakan. misalnya) /Swagger atau /API-DOCS |
| Pilihan | Lingkungan | Keterangan |
|---|---|---|
--log-level | ONNX_SERVER_LOG_LEVEL | Level log (debug, info, peringatan, kesalahan, fatal) |
--log-file | ONNX_SERVER_LOG_FILE | Jalur file log. Jika tidak ditentukan, log akan dicetak ke stdout. |
--access-log-file | ONNX_SERVER_ACCESS_LOG_FILE | Akses Path File Log. Jika tidak ditentukan, log akan dicetak ke stdout. |
1.20.1-linux-cuda12 AMD64 (CUDA 12.x, Cudnn 9.x)1.20.1-linux-cpu AMD64, ARM64 DOCKER_IMAGE=kibae/onnxruntime-server:1.20.1-linux-cuda12 # or kibae/onnxruntime-server:1.20.1-linux-cpu
docker pull ${DOCKER_IMAGE}
# simple http backend
docker run --name onnxruntime_server_container -d --rm --gpus all
-p 80:80
-v " /your_model_dir:/app/models "
-v " /your_log_dir:/app/logs "
-e " ONNX_SERVER_SWAGGER_URL_PATH=/api-docs "
${DOCKER_IMAGE}--swagger-url-path=/swagger/ opsi saat peluncuran. Ini harus digunakan dengan opsi --http-port atau --https-port . ./onnxruntime_server --model-dir=YOUR_MODEL_DIR --http-port=8080 --swagger-url-path=/api-docs/http://localhost:8080/api-docs/ . %% {init: {
'Sequence': {'notealign': 'left', 'mirroractors': true}
}} %%
Sequencediagram
Aktor A sebagai Administrator
Kotak RGB (0, 0, 0, 0.1) "Server Onnx Runtime"
Peserta SD sebagai Disk
Peserta SP sebagai proses
akhir
Aktor C sebagai Klien
Catatan Hak A: Anda memiliki 3 model untuk disajikan.
A ->> SD: Salin file model ke disk. <BR />"/var/models/model_a/v1/model.onnx"<br />"/var/models/model_a/v2/model.onnx"<br />"/var/model_b/b/b/model.on101/"/var/model_b/b/s2011/301/:
A ->> SP: Mulai server dengan -opsi model prepare
Aktifkan sp
Catatan Kanan: OnnxRunTime_Server <br />-http-port = 8080 <br />-model-path = /var /model <br />-persiapan-model = "model_a: v1 (cuda = 0) model_a: v2 (cuda = 0)"
SP ->> SD: Muat Model
Catatan melalui SD, SP: Muat model dari <br />"/var/models/model_a/v1/model.onnx "
SD ->> SP: Model Binary
Aktifkan sp
SP ->> SP: Buat <br /> onnxruntime <br /> sesi
Nonaktifkan sp
Nonaktifkan sp
RECT RGB (100, 100, 100, 0,3)
CATATAN OVER SD, C: Jalankan sesi
C ->> SP: Jalankan Permintaan Sesi
Aktifkan sp
CATATAN OVER SP, C: POST /API /SESI /MODEL_A /V1 <BR /> {<br /> "x": [[1], [2], [3]], <br /> "y": [[2], [3], [4]], <br /> "z": [3], [4], [5]] <bR /> "z": [3], [4], [5] <Br />
Aktifkan sp
SP ->> SP: Jalankan <br /> onnxruntime <br /> sesi
Nonaktifkan sp
SP ->> C: Jalankan respons sesi
Nonaktifkan sp
CATATAN Over SP, C: {<br /> "output": [<br />anjang0.6492120623588562ace, <br /> media0.7610487341880798 M ,<br /> media0.872885465621219482 pengganti />] <Br />] <BR />] <BR />] <BR />] <BR />] <BR />] <BR />] <BR />] <BR />] <BR />] <BR />] <Br />] <BR />] <Br />] <Br />] <Dr />] <Dr />] <Br />] <Br /> <br />] <dr />] <dr /> <
akhir
%% {init: {
'Sequence': {'notealign': 'left', 'mirroractors': true}
}} %%
Sequencediagram
Aktor A sebagai Administrator
Kotak RGB (0, 0, 0, 0.1) "Server Onnx Runtime"
Peserta SD sebagai Disk
Peserta SP sebagai proses
akhir
Aktor C sebagai Klien
Catatan Hak A: Anda memiliki 3 model untuk disajikan.
A ->> SD: Salin file model ke disk. <BR />"/var/models/model_a/v1/model.onnx"<br />"/var/models/model_a/v2/model.onnx"<br />"/var/model_b/b/b/model.on101/"/var/model_b/b/s2011/301/:
A ->> SP: Mulai Server
Catatan kanan: onnxruntime_server <br />-http-port = 8080 <br />-model-path = /var /model
RECT RGB (100, 100, 100, 0,3)
Catatan melalui SD, C: Buat sesi
C ->> SP: Buat Permintaan Sesi
Aktifkan sp
CATATAN OVER SP, C: POST /API /SESSIons <BR /> {"Model": "Model_a", "Versi": "v1"}
SP ->> SD: Muat Model
Catatan melalui SD, SP: Muat model dari <br />"/var/models/model_a/v1/model.onnx "
SD ->> SP: Model Binary
Aktifkan sp
SP ->> SP: Buat <br /> onnxruntime <br /> sesi
Nonaktifkan sp
SP ->> C: Buat respons sesi
Nonaktifkan sp
Catatan over sp, c: {<br /"" model ":" model_a ", <br />" versi ":" v1 ", <br />" created_at ": 169428106, <bR />" eksekusi_count ": 0, <bR />" bR /"float3": "-" (-r /":"-":"-":"-":"-":"-":"-":"-":"-""-":", "-pr /": ","-"-" /> "y": "float32 [-1,1]", <br /> "z": "float32 [-1,1]" <br />}, <br /> "outputs": {<br /> output ":" float32 [-1,1] "<bR />} <bR />}
Catatan Hak C :? Anda dapat mengetahui jenis dan bentuk <br /> dari input dan output.
akhir
RECT RGB (100, 100, 100, 0,3)
CATATAN OVER SD, C: Jalankan sesi
C ->> SP: Jalankan Permintaan Sesi
Aktifkan sp
CATATAN OVER SP, C: POST /API /SESI /MODEL_A /V1 <BR /> {<br /> "x": [[1], [2], [3]], <br /> "y": [[2], [3], [4]], <br /> "z": [3], [4], [5]] <bR /> "z": [3], [4], [5] <Br />
Aktifkan sp
SP ->> SP: Jalankan <br /> onnxruntime <br /> sesi
Nonaktifkan sp
SP ->> C: Jalankan respons sesi
Nonaktifkan sp
CATATAN Over SP, C: {<br /> "output": [<br />anjang0.6492120623588562ace, <br /> media0.7610487341880798 M ,<br /> media0.872885465621219482 pengganti />] <Br />] <BR />] <BR />] <BR />] <BR />] <BR />] <BR />] <BR />] <BR />] <BR />] <BR />] <Br />] <BR />] <Br />] <Br />] <Dr />] <Dr />] <Br />] <Br /> <br />] <dr />] <dr /> <
akhir