onnxruntime server
v1.20.0
download-onnxruntime-linux.sh/usr/local/onnxruntime/usr/local/onnxruntime/lib ถึง /etc/ld.so.conf.d/onnxruntime.conf และเรียกใช้ ldconfigbrew 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| ระบบปฏิบัติการ | วิธี | สั่งการ |
|---|---|---|
| ซุ้มประตู | AUR | yay -S onnxruntime-server |
--model-dir ) ซึ่งเป็นแบบจำลอง${model_dir}/${model_name}/${model_version}/model.onnx หรือ ${model_dir}/${model_name}/${model_version}.onnx ไฟล์ใน --model-dir | สร้างเนื้อหาการร้องขอเซสชัน | รับ/ดำเนินการ Session API URL Path (หลังจากสร้างขึ้น) |
|---|---|---|
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 สภาพแวดล้อมมีอยู่ตัวแปรสภาพแวดล้อมมีลำดับความสำคัญสูงกว่า ภายในภาพนักเทียบท่าตัวแปรสภาพแวดล้อมมีความสำคัญสูงกว่า | ตัวเลือก | สิ่งแวดล้อม | คำอธิบาย |
|---|---|---|
--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/" และ "/สุขภาพ" หากไม่ได้ระบุเอกสาร Swagger ที่ไม่ได้ให้ไว้ เช่น) /Swagger or /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: {
'sequence': {'notealign': 'ซ้าย', 'mirroractors': true}
-
ลำดับ
นักแสดง 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 ตัณหา
A ->> SP: เริ่มเซิร์ฟเวอร์ด้วย -PREPARE -MODEL OPTION
เปิดใช้งาน sp
หมายเหตุด้านขวาของ A: onnxRuntime_Server <br />-http-port = 8080 <br />-model-path = /var /models <br />-prepay-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], [4]
เปิดใช้งาน sp
sp ->> sp: ดำเนินการ <br /> onnxruntime <br /> เซสชัน
ปิดใช้งาน SP
sp ->> c: ดำเนินการตอบกลับเซสชัน
ปิดใช้งาน SP
หมายเหตุเหนือ sp, c: {<br /> "เอาท์พุท": [<br /> [0.6492120623588562 เหมือนกัน, <br /> [0.7610487341880798 เหมือนกัน, <br />
จบ
%% {init: {
'sequence': {'notealign': 'ซ้าย', 'mirroractors': true}
-
ลำดับ
นักแสดง 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 ตัณหา
A ->> sp: เริ่มเซิร์ฟเวอร์
หมายเหตุด้านขวาของ A: onnxRuntime_Server <br />-http-port = 8080 <br />-model-path = /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 /> "version": "v1", <br /> "createD_at": 1694228106, <br /> "execution_count": 0, <br /> last_executed_at ": 0, <br /> /> "y": "float32 [-1,1]", <br /> "z": "float32 [-1,1]" <br />}, <br /> "เอาต์พุต": {<br /> "เอาท์พุท": "float32 [-1,1]" <br />} <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], [4]
เปิดใช้งาน sp
sp ->> sp: ดำเนินการ <br /> onnxruntime <br /> เซสชัน
ปิดใช้งาน SP
sp ->> c: ดำเนินการตอบกลับเซสชัน
ปิดใช้งาน SP
หมายเหตุเหนือ sp, c: {<br /> "เอาท์พุท": [<br /> [0.6492120623588562 เหมือนกัน, <br /> [0.7610487341880798 เหมือนกัน, <br />
จบ