Format Atlas

Data

Apa itu ONNX?

ONNX (Open Neural Network Exchange) adalah representasi model terbuka untuk menukar model machine learning antar-framework dan runtime inferensi. File `.onnx` umumnya menyimpan ModelProto Protocol Buffers yang menjelaskan graf komputasi, input dan output, tipe dan shape, impor opset, serta tensor initializer. Safetensors terutama menyimpan bobot tensor, sedangkan ONNX juga merepresentasikan graf model. Konversi tidak membuat semua runtime mendukung setiap operator atau fitur khusus model; periksa versi IR/opset dan dukungan implementasi.

.onnxPertukaran model graf komputasi

Kapan memilih format ini

  • Inferensi pada runtime yang mendukung operator dan opset model
  • Menukar graf model yang mencakup input output dan tipe

Kapan menghindari format ini

  • Menganggap semua runtime mendukung setiap operator dan mempertahankan presisi serta kinerja
  • Menyimpan bobot tensor saja tanpa graf inferensi atau konfigurasi

Kegunaan umum

  • Menukar graf komputasi dan bobot machine learning dengan runtime yang didukung
  • Memindahkan model antara framework pelatihan dan lingkungan inferensi

Karakteristik

  • ModelProto Protocol Buffers menyimpan graf dan informasi model
  • Node merujuk operator yang ditentukan domain dan versi opset
  • Tensor initializer dapat disematkan atau disimpan dalam file data eksternal

Kelebihan dan kekurangan

Kelebihan

  • Menyediakan graf model umum untuk runtime inferensi yang didukung
  • Memuat informasi tipe input dan output untuk validasi serta optimasi
  • Data tensor besar dapat dikelola dalam file eksternal

Kekurangan

  • Dukungan operator opset tipe dan optimasi berbeda antar-runtime
  • Output atau kinerja hasil konversi dapat berbeda dari framework sumber
  • File data eksternal harus tetap dipasangkan dengan model .onnx

Membuka dan mengonversi

Cara membuka

Muat dengan ONNX checker atau runtime inferensi kompatibel. Sebelum deployment, periksa versi IR/opset, operator, tipe dan shape input/output serta dukungan runtime; bandingkan output dengan model sumber menggunakan input representatif.

Cara mengonversi

Ekspor memakai ONNX exporter dari framework sumber lalu validasi struktur dengan ONNX checker. Konversi berhasil tidak menjamin kesetaraan numerik atau eksekusi pada perangkat target. Jika memakai data eksternal, simpan model dan semua file rujukan bersama dalam satu paket distribusi.

Hal yang perlu diperhatikan

  • Jangan hilangkan mengganti nama atau salah menempatkan file samping yang dirujuk data tensor eksternal
  • Lokasi data eksternal dapat memuat path relatif; periksa rujukan model tak tepercaya dan gunakan loader yang terpelihara
  • Validasi konversi prapemrosesan pascapemrosesan dan presisi numerik meski file ONNX valid

Pertanyaan umum

Apakah ONNX hanya file bobot?

Tidak. ModelProto merepresentasikan graf komputasi serta informasi operator dan tipe, dan dapat menyertakan tensor initializer. Tensor besar juga dapat disimpan sebagai data eksternal.

Apakah ONNX dan Safetensors memiliki fungsi sama?

Tidak. Safetensors terutama menyimpan bobot tensor; ONNX merepresentasikan graf model untuk inferensi. Keduanya dapat digunakan bersama.

Bisakah semua runtime inferensi menjalankan model ONNX apa pun?

Tidak. Pastikan runtime mendukung IR/opset, operator, tipe data, dan perangkat target model.

Format terkait

Bandingkan

Kegunaan dan pemeriksaan terkait

Pemeriksaan sebelum menyerahkan model AI

Referensi dan spesifikasi