onnxruntime server
v1.20.0
download-onnxruntime-linux.sh البرنامج النصي/usr/local/onnxruntime ./usr/local/onnxruntime/lib to /etc/ld.so.conf.d/onnxruntime.conf وقم بتشغيل 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| نظام التشغيل | طريقة | يأمر |
|---|---|---|
| قوس لينكس | أور | yay -S onnxruntime-server |
--model-dir ) حيث توجد النماذج.${model_dir}/${model_name}/${model_version}/model.onnx أو ${model_dir}/${model_name}/${model_version}.onnx الملفات في --model-dir | إنشاء هيئة طلب الجلسة | الحصول على/تنفيذ مسار URL للجلسة API (بعد إنشاء) |
|---|---|---|
model_name/model_version/model.onnx أو model_name/model_version.onnx | {"model":"model_name", "version":"model_version"} | /api/sessions/model_name/model_version |
sample/v1/model.onnx أو sample/v1.onnx | {"model":"sample", "version":"v1"} | /api/sessions/sample/v1 |
sample/v2/model.onnx أو sample/v2.onnx | {"model":"sample", "version":"v2"} | /api/sessions/sample/v2 |
other/20200101/model.onnx أو other/20200101.onnx | {"model":"other", "version":"20200101"} | /api/sessions/other/20200101 |
--tcp-port .--http-port .--https-port و- --https-cert و- --https-key .--swagger-url-path .-h ، --help لرؤية قائمة كاملة من الخيارات.ONNX_SERVER_CONFIG_PRIORITY=env ، فإن متغيرات البيئة لها أولوية أعلى. ضمن صورة Docker ، فإن متغيرات البيئة لها أولوية أعلى. | خيار | بيئة | وصف |
|---|---|---|
--workers | ONNX_SERVER_WORKERS | حجم تجمع الخيط العامل. الافتراضي: 4 |
--request-payload-limit | ONNX_SERVER_REQUEST_PAYLOAD_LIMIT | HTTP/HTTPS طلب الحمولة الحمولة. الافتراضي: 1024 * 1024 * 10 (10MB) ` |
--model-dir | ONNX_SERVER_MODEL_DIR | مسار الدليل النموذج يجب أن تكون ملفات نموذج ONNX موجودة في المسار التالي: ${model_dir}/${model_name}/${model_version}/model.onnx${model_dir}/${model_name}/${model_version}.onnxالافتراضي: models |
--prepare-model | ONNX_SERVER_PREPARE_MODEL | قبل إنشاء بعض جلسات النماذج عند بدء تشغيل الخادم. التنسيق كقائمة منفصلة عن الفضاء من model_name:model_version أو model_name:model_version(session_options, ...) .Session_options المتاحة - CUDA = device_id [ or true or false]على سبيل المثال) model1:v1 model2:v9model1:v1(cuda=true) model2:v9(cuda=1) |
| خيار | بيئة | وصف |
|---|---|---|
--tcp-port | ONNX_SERVER_TCP_PORT | تمكين الواجهة الخلفية TCP ورقم المنفذ للاستخدام. |
--http-port | ONNX_SERVER_HTTP_PORT | تمكين الواجهة الخلفية HTTP ورقم المنفذ للاستخدام. |
--https-port | ONNX_SERVER_HTTPS_PORT | تمكين الواجهة الخلفية HTTPS وأي منفذ للاستخدام. |
--https-cert | ONNX_SERVER_HTTPS_CERT | مسار ملف شهادة SSL لـ HTTPS |
--https-key | ONNX_SERVER_HTTPS_KEY | مسار ملف مفتاح SSL الخاص لـ HTTPS |
--swagger-url-path | ONNX_SERVER_SWAGGER_URL_PATH | تمكين مستند Swagger API لـ HTTP/HTTPS الخلفية. لا يمكن أن تبدأ هذه القيمة بـ "/API/" و "/Health" إذا لم يتم تحديدها ، لم يتم توفير مستند Swagger. على سبيل المثال) /swagger أو /api-docs |
| خيار | بيئة | وصف |
|---|---|---|
--log-level | ONNX_SERVER_LOG_LEVEL | مستوى السجل (تصحيح ، معلومات ، تحذير ، خطأ ، قاتلة) |
--log-file | ONNX_SERVER_LOG_FILE | مسار ملف السجل. إذا لم يتم تحديدها ، فسيتم طباعة السجلات إلى stdout. |
--access-log-file | ONNX_SERVER_ACCESS_LOG_FILE | وصول مسار ملف السجل. إذا لم يتم تحديدها ، فسيتم طباعة السجلات إلى 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/ الخيار عند الإطلاق. يجب استخدام هذا مع خيار- --http-port أو- --https-port . ./onnxruntime_server --model-dir=YOUR_MODEL_DIR --http-port=8080 --swagger-url-path=/api-docs/http://localhost:8080/api-docs/ . ٪٪ {init: {
"التسلسل": {'notealign': 'Left' ، 'Mirroractors': True}
}} ٪٪
Sequencediagram
الممثل A كمسؤول
Box RGB (0 ، 0 ، 0 ، 0.1) "Onnx Runtime Server"
المشارك SD كقرص
المشارك SP كعملية
نهاية
الممثل C كعميل
لاحظ يمين A: لديك 3 نماذج للخدمة.
A ->> SD: نسخ ملفات النموذج إلى القرص. <br />"/var/models/model_a/v1/model.onnx"<br />"/var/models/model_a/v2/model.onnx" <br />"/var/models/models/model_b/20201101101111/model.onnx "
A ->> SP
تنشيط sp
ملاحظة يمين A: onnxruntime_server <br />-http-port = 8080 <br />-نموذج النموذج = /var /models <br />-إعداد model = "model_a: v1 (cuDa = 0) model_a: v2 (cuda = 0)"
SP ->> SD: نموذج التحميل
ملاحظة عبر SD ، SP: نموذج تحميل من <br />"/var/models/model_a/v1/model.onnx "
SD ->> SP: نموذج ثنائي
تنشيط sp
SP ->> SP: إنشاء <br /> onnxruntime <br /> جلسة
إلغاء تنشيط sp
إلغاء تنشيط sp
Rect RGB (100 ، 100 ، 100 ، 0.3)
ملاحظة على SD ، C: تنفيذ الجلسة
C ->> SP: تنفيذ طلب الجلسة
تنشيط sp
ملاحظة أكثر من sp ، c: post /api /sessions /model_a /v1 <br /> {<br /> "x": [[1] ، [2] ، [3]] ، <br /> "y": [[2] ، [3] ، [4]] ، <br /> "z": [[3] ، [4] ، [5]]
تنشيط sp
SP ->> SP: تنفيذ <br /> onnxruntime <br /> session
إلغاء تنشيط sp
SP ->> C: تنفيذ استجابة الجلسة
إلغاء تنشيط sp
ملاحظة على sp ، c: {<br /> "الإخراج": [<br /> budap0.649212062358562/1201 ،
نهاية
٪٪ {init: {
"التسلسل": {'notealign': 'Left' ، 'Mirroractors': True}
}} ٪٪
Sequencediagram
الممثل A كمسؤول
Box RGB (0 ، 0 ، 0 ، 0.1) "Onnx Runtime Server"
المشارك SD كقرص
المشارك SP كعملية
نهاية
الممثل C كعميل
لاحظ يمين A: لديك 3 نماذج للخدمة.
A ->> SD: نسخ ملفات النموذج إلى القرص. <br />"/var/models/model_a/v1/model.onnx"<br />"/var/models/model_a/v2/model.onnx" <br />"/var/models/models/model_b/20201101101111/model.onnx "
A ->> SP: ابدأ الخادم
ملاحظة يمين A: onnxruntime_server <br />-http-port = 8080 <br />-نموذج النموذج = /var /models
Rect RGB (100 ، 100 ، 100 ، 0.3)
ملاحظة عبر SD ، C: إنشاء جلسة
C ->> SP: إنشاء طلب جلسة
تنشيط sp
ملاحظة عبر SP ، C: Post /API /Sessions <Br /> {"Model": "Model_A" ، "الإصدار": "V1"}
SP ->> SD: نموذج التحميل
ملاحظة عبر SD ، SP: نموذج تحميل من <br />"/var/models/model_a/v1/model.onnx "
SD ->> SP: نموذج ثنائي
تنشيط sp
SP ->> SP: إنشاء <br /> onnxruntime <br /> جلسة
إلغاء تنشيط sp
SP ->> C: إنشاء استجابة الجلسة
إلغاء تنشيط sp
ملاحظة عبر sp ، c: {<br /> "model": "model_a" ، <br /> "الإصدار": "v1" ، <br /> "create_at": 1694228106 ، <br /> ]
لاحظ حق C :؟ يمكنك معرفة نوع وشكل <br /> من الإدخال والمخرجات.
نهاية
Rect RGB (100 ، 100 ، 100 ، 0.3)
ملاحظة على SD ، C: تنفيذ الجلسة
C ->> SP: تنفيذ طلب الجلسة
تنشيط sp
ملاحظة أكثر من sp ، c: post /api /sessions /model_a /v1 <br /> {<br /> "x": [[1] ، [2] ، [3]] ، <br /> "y": [[2] ، [3] ، [4]] ، <br /> "z": [[3] ، [4] ، [5]]
تنشيط sp
SP ->> SP: تنفيذ <br /> onnxruntime <br /> session
إلغاء تنشيط sp
SP ->> C: تنفيذ استجابة الجلسة
إلغاء تنشيط sp
ملاحظة على sp ، c: {<br /> "الإخراج": [<br /> budap0.649212062358562/1201 ،
نهاية