全部产品
Search
文档中心

Platform For AI:Prosesor Bawaan

更新时间:Jul 06, 2025

Prosesor adalah paket logika prediksi online. Elastic Algorithm Service (EAS) dari Platform for AI (PAI) menyediakan prosesor bawaan yang biasa digunakan untuk menerapkan model. Prosesor ini membantu mengurangi biaya pengembangan logika prediksi online model.

Tabel berikut menjelaskan nama dan kode prosesor yang disediakan oleh EAS. Jika Anda menggunakan klien EASCMD untuk menerapkan model, kode prosesor diperlukan.

Nama Prosesor

Kode Prosesor (diperlukan jika menggunakan EASCMD)

Referensi

Edisi CPU

Edisi GPU

EasyRec

easyrec-2.4

easyrec-2.4

Prosesor EasyRec

TorchEasyRec

easyrec-torch-1.0

easyrec-torch-1.0

Prosesor TorchEasyRec

PMML

pmml

Tidak Ada

Prosesor PMML

TensorFlow1.12

tensorflow_cpu_1.12

tensorflow_gpu_1.12

Prosesor TensorFlow1.12

TensorFlow1.14

tensorflow_cpu_1.14

tensorflow_gpu_1.14

Prosesor TensorFlow1.14

TensorFlow1.15

tensorflow_cpu_1.15

tensorflow_gpu_1.15

Prosesor TensorFlow1.15 dengan mesin optimasi bawaan berbasis PAI-Blade edisi agilitas

TensorFlow2.3

tensorflow_cpu_2.3

Tidak Ada

Prosesor TensorFlow2.3

PyTorch1.6

pytorch_cpu_1.6

pytorch_gpu_1.6

Prosesor PyTorch1.6 dengan mesin optimasi bawaan berbasis PAI-Blade edisi agilitas

Caffe

caffe_cpu

caffe_gpu

Prosesor Caffe

Algoritma server parameter

parameter_sever

Tidak Ada

Prosesor PS

Alink

alink_pai_processor

Tidak Ada

Tidak Ada

xNN

xnn_cpu

Tidak Ada

Tidak Ada

EasyVision

easy_vision_cpu_tf1.12_torch151

easy_vision_gpu_tf1.12_torch151

Prosesor EasyVision

EasyTransfer

easytransfer_cpu

easytransfer_gpu

Prosesor EasyTransfer

EasyNLP

easynlp

easynlp

Prosesor EasyNLP

EasyCV

easycv

easycv

Prosesor EasyCV

Blade

blade_cpu

blade_cuda10.0_beta

Tidak Ada

MediaFlow

Tidak Ada

mediaflow

Prosesor MediaFlow

Triton

Tidak Ada

triton

Prosesor Triton

Prosesor PMML

Prosesor Predictive Model Markup Language (PMML) bawaan di EAS melakukan operasi berikut:

  • Memuat layanan model dari file PMML.

  • Memproses permintaan yang dikirim untuk memanggil layanan model.

  • Menggunakan model untuk menghitung hasil permintaan dan mengembalikan hasil ke klien.

Prosesor PMML menyediakan kebijakan default untuk mengisi nilai yang hilang. Jika kebijakan isMissing tidak ditentukan untuk kolom fitur dalam file PMML, nilai dalam tabel berikut akan digunakan secara otomatis.

Tipe Data

Nilai Input Default

BOOLEAN

false

DOUBLE

0.0

FLOAT

0.0

INT

0

STRING

""

Anda dapat menerapkan model dari file PMML dengan salah satu metode berikut:

  • Unggah file model di konsol.

    Atur parameter Processor Type menjadi PMML. Untuk informasi lebih lanjut, lihat Parameter untuk penyebaran kustom di konsol.

  • Gunakan klien EASCMD untuk menerapkan model.

    Dalam file konfigurasi layanan service.json, atur parameter processor menjadi pmml. Contoh kode:

    {
      "processor": "pmml",
      "generate_token": "true",
      "model_path": "http://xxxxx/lr.pmml",
      "name": "eas_lr_example",
      "metadata": {
        "instance": 1,
        "cpu": 1 # Alokasikan 4 GB memori untuk setiap CPU. Satu CPU dan 4 GB memori dianggap satu kuota.
      }
    }
  • Gunakan Data Science Workshop (DSW) untuk menerapkan model.

    Ubah file konfigurasi layanan service.json. Metode ini mirip dengan metode penyebaran model menggunakan klien EASCMD. Untuk informasi lebih lanjut, lihat Penyebaran layanan model menggunakan EASCMD.

Prosesor TensorFlow1.12

Prosesor TensorFlow1.12 dari EAS dapat memuat model TensorFlow dalam format SavedModel atau SessionBundle. Format SavedModel direkomendasikan. Sebelum menerapkan model, Anda harus mengonversi model Keras atau Checkpoint menjadi model SavedModel. Untuk informasi lebih lanjut, lihat FAQ tentang TensorFlow.

Catatan

Prosesor serbaguna tidak mendukung operasi TensorFlow kustom.

Anda dapat menerapkan model TensorFlow menggunakan salah satu metode berikut:

  • Unggah file model di konsol.

    Atur parameter Processor Type menjadi TensorFlow1.12. Untuk informasi lebih lanjut, lihat Parameter untuk penyebaran kustom di konsol.

  • Gunakan klien EASCMD untuk menerapkan model.

    Dalam file konfigurasi layanan service.json, atur parameter processor menjadi tensorflow_cpu_1.12 atau tensorflow_gpu_1.12 berdasarkan sumber daya model. Jika nilai parameter processor tidak sesuai dengan jenis sumber daya, terjadi kesalahan penyebaran. Contoh kode:

    {
      "name": "tf_serving_test",
      "generate_token": "true",
      "model_path": "http://xxxxx/savedmodel_example.zip",
      "processor": "tensorflow_cpu_1.12",
      "metadata": {
        "instance": 1,
        "cpu": 1,
        "gpu": 0,
        "memory": 2000
      }
    }
  • Gunakan DSW untuk menerapkan model.

    Ubah file konfigurasi layanan service.json. Metode ini mirip dengan metode penyebaran model menggunakan klien EASCMD. Untuk informasi lebih lanjut, lihat Penyebaran layanan model menggunakan EASCMD.

Prosesor TensorFlow1.14

Prosesor TensorFlow1.14 dari EAS dapat memuat model TensorFlow dalam format SavedModel atau SessionBundle. Format SavedModel direkomendasikan. Sebelum menerapkan model, Anda harus mengonversi model Keras atau Checkpoint menjadi model SavedModel. Untuk informasi lebih lanjut, lihat FAQ tentang TensorFlow.

Catatan

Prosesor serbaguna tidak mendukung operasi TensorFlow kustom.

Anda dapat menerapkan model TensorFlow menggunakan salah satu metode berikut:

  • Unggah file model di konsol.

    Atur parameter Processor Type menjadi TensorFlow1.14. Untuk informasi lebih lanjut, lihat Parameter untuk penyebaran kustom di konsol.

  • Gunakan klien EASCMD untuk menerapkan model.

    Dalam file konfigurasi layanan service.json, atur parameter processor menjadi tensorflow_cpu_1.14 atau tensorflow_gpu_1.14 berdasarkan sumber daya model. Jika nilai parameter processor tidak sesuai dengan jenis sumber daya, terjadi kesalahan penyebaran. Contoh kode:

    {
      "name": "tf_serving_test",
      "generate_token": "true",
      "model_path": "http://xxxxx/savedmodel_example.zip",
      "processor": "tensorflow_cpu_1.14",
      "metadata": {
        "instance": 1,
        "cpu": 1,
        "gpu": 0,
        "memory": 2000
      }
    }
  • Gunakan DSW untuk menerapkan model.

    Ubah file konfigurasi layanan service.json. Metode ini mirip dengan metode penyebaran model menggunakan klien EASCMD. Untuk informasi lebih lanjut, lihat Penyebaran layanan model menggunakan EASCMD.

Prosesor TensorFlow1.15 dengan mesin optimasi bawaan berbasis PAI-Blade edisi agilitas

Prosesor TensorFlow1.15 dari EAS dapat memuat model TensorFlow dalam format SavedModel atau SessionBundle. Format SavedModel direkomendasikan. Sebelum menerapkan model, Anda harus mengonversi model Keras atau Checkpoint menjadi model SavedModel. Untuk informasi lebih lanjut, lihat FAQ tentang TensorFlow.

Catatan
  • Prosesor serbaguna tidak mendukung operasi TensorFlow kustom.

  • Prosesor TensorFlow1.15 menyediakan mesin optimasi bawaan berbasis PAI-Blade edisi agilitas. Anda dapat menggunakan prosesor ini untuk menerapkan model TensorFlow yang dioptimalkan oleh PAI-Blade edisi agilitas.

Anda dapat menerapkan model TensorFlow menggunakan salah satu metode berikut:

  • Unggah file model ke konsol.

    Atur parameter Processor Type menjadi TensorFlow1.15. Untuk informasi lebih lanjut, lihat Parameter untuk penyebaran kustom di konsol.

  • Gunakan klien EASCMD untuk menerapkan model.

    Dalam file konfigurasi layanan service.json, atur parameter processor menjadi tensorflow_cpu_1.15 atau tensorflow_gpu_1.15 berdasarkan sumber daya model. Jika nilai parameter processor tidak sesuai dengan jenis sumber daya, terjadi kesalahan penyebaran. Contoh kode:

    {
      "name": "tf_serving_test",
      "generate_token": "true",
      "model_path": "http://xxxxx/savedmodel_example.zip",
      "processor": "tensorflow_cpu_1.15",
      "metadata": {
        "instance": 1,
        "cpu": 1,
        "gpu": 0,
        "memory": 2000
      }
    }
  • Gunakan DSW untuk menerapkan model.

    Ubah file konfigurasi layanan service.json. Metode ini mirip dengan metode penyebaran model menggunakan klien EASCMD. Untuk informasi lebih lanjut, lihat Penyebaran layanan model menggunakan EASCMD. Untuk informasi lebih lanjut tentang parameter dalam file konfigurasi layanan, lihat Buat layanan.

Prosesor TensorFlow2.3

Prosesor TensorFlow2.3 dari EAS dapat memuat model TensorFlow dalam format SavedModel atau SessionBundle. Format SavedModel direkomendasikan. Sebelum menerapkan model, Anda harus mengonversi model Keras atau Checkpoint menjadi model SavedModel. Untuk informasi lebih lanjut, lihat FAQ tentang TensorFlow.

Catatan

Prosesor serbaguna tidak mendukung operasi TensorFlow kustom.

Anda dapat menerapkan model TensorFlow menggunakan salah satu metode berikut:

  • Unggah file model di konsol.

    Atur parameter Processor Type menjadi TensorFlow2.3. Untuk informasi lebih lanjut, lihat Parameter untuk penyebaran kustom di konsol.

  • Gunakan klien EASCMD untuk menerapkan model.

    Dalam file konfigurasi layanan service.json, atur parameter processor ke tensorflow_cpu_2.3. Contoh kode:

    {
      "name": "tf_serving_test",
      "generate_token": "true",
      "model_path": "http://xxxxx/savedmodel_example.zip",
      "processor": "tensorflow_cpu_2.3",
      "metadata": {
        "instance": 1,
        "cpu": 1,
        "gpu": 0,
        "memory": 2000
      }
    }
  • Gunakan DSW untuk menerapkan model.

    Ubah file konfigurasi layanan service.json. Metode ini mirip dengan metode penyebaran model menggunakan klien EASCMD. Untuk informasi lebih lanjut, lihat Penyebaran layanan model menggunakan EASCMD.

Prosesor PyTorch1.6 dengan mesin optimasi bawaan berbasis PAI-Blade edisi agilitas

Prosesor PyTorch1.6 dari EAS dapat memuat model dalam format TorchScript. Untuk informasi lebih lanjut, lihat TorchScript.

Catatan
  • Prosesor serbaguna tidak mendukung ekstensi PyTorch. Anda tidak dapat menggunakan prosesor ini untuk mengimpor atau mengekspor model selain model TensorFlow.

  • Prosesor PyTorch1.6 menyediakan mesin optimasi bawaan berbasis PAI-Blade edisi agilitas. Anda dapat menggunakan prosesor ini untuk menerapkan model PyTorch yang dioptimalkan oleh PAI-Blade edisi agilitas.

Anda dapat menerapkan model TorchScript menggunakan salah satu metode berikut:

  • Unggah file model di konsol.

    Atur parameter Processor Type menjadi PyTorch1.6. Untuk informasi lebih lanjut, lihat Parameter untuk penyebaran kustom di konsol.

  • Gunakan klien EASCMD untuk menerapkan model.

    Dalam file konfigurasi layanan service.json, atur parameter processor menjadi pytorch_cpu_1.6 atau pytorch_gpu_1.6 berdasarkan sumber daya model. Jika nilai parameter processor tidak sesuai dengan jenis sumber daya, terjadi kesalahan penyebaran. Contoh kode:

    {
      "name": "pytorch_serving_test",
      "generate_token": "true",
      "model_path": "http://xxxxx/torchscript_model.pt",
      "processor": "pytorch_gpu_1.6",
      "metadata": {
        "instance": 1,
        "cpu": 1,
        "gpu": 1,
        "cuda": "10.0",
        "memory": 2000
      }
    }
  • Gunakan DSW untuk menerapkan model.

    Ubah file konfigurasi layanan service.json. Metode ini mirip dengan metode penyebaran model menggunakan klien EASCMD. Untuk informasi lebih lanjut, lihat Penyebaran layanan model menggunakan EASCMD. Untuk informasi lebih lanjut tentang parameter dalam file konfigurasi layanan, lihat Buat layanan.

Prosesor Caffe

Prosesor Caffe dari EAS dapat memuat model pembelajaran mendalam yang dilatih berdasarkan kerangka kerja Caffe. Kerangka kerja Caffe memiliki kemampuan fleksibel. Saat menerapkan model Caffe, Anda harus menentukan nama file model dan file bobot dalam paket model.

Catatan

Prosesor serbaguna tidak mendukung lapisan data kustom.

Anda dapat menerapkan model Caffe menggunakan salah satu metode berikut:

  • Unggah file model di konsol.

    Atur parameter Processor Type menjadi Caffe. Untuk informasi lebih lanjut, lihat Parameter untuk penyebaran kustom di konsol.

  • Gunakan klien EASCMD untuk menerapkan model.

    Dalam file konfigurasi layanan service.json, atur parameter processor menjadi caffe_cpu atau caffe_gpu berdasarkan sumber daya model. Jika nilai parameter processor tidak sesuai dengan jenis sumber daya, terjadi kesalahan penyebaran. Contoh kode:

    {
      "name": "caffe_serving_test",
      "generate_token": "true",
      "model_path": "http://xxxxx/caffe_model.zip",
      "processor": "caffe_cpu",
      "model_config": {
        "model": "deploy.prototxt",
        "weight": "bvlc_reference_caffenet.caffemodel"
      },
      "metadata": {
        "instance": 1,
        "cpu": 1,
        "gpu": 0,
        "memory": 2000
      }
    }
  • Gunakan DSW untuk menerapkan model.

    Ubah file konfigurasi layanan service.json. Metode ini mirip dengan metode penyebaran model menggunakan klien EASCMD. Untuk informasi lebih lanjut, lihat Penyebaran layanan model menggunakan EASCMD.

Prosesor PS

Prosesor PS dari EAS dikembangkan berdasarkan algoritma PS. Prosesor ini dapat memuat model dalam format PS.

Berikut ini menjelaskan cara menerapkan model PS sebagai layanan dan mengirim permintaan menggunakan layanan model PS.

  • Anda dapat menerapkan model PS menggunakan salah satu metode berikut:

    • Unggah file model di konsol.

      Atur parameter Processor Type menjadi PS Algorithm. Untuk informasi lebih lanjut, lihat Unggah dan terapkan model di konsol.

    • Gunakan klien EASCMD untuk menerapkan model.

      Dalam file konfigurasi layanan service.json, atur parameter processor menjadi parameter_sever. Contoh kode:

      {
        "name":"ps_smart",
        "model_path": "oss://examplebucket/xlab_m_pai_ps_smart_b_1058272_v0.tar.gz",
        "processor": "parameter_sever",
        "metadata": {
          "region": "beijing",
          "cpu": 1,
          "instance": 1,
          "memory": 2048
        }
      }
    • Gunakan DSW untuk menerapkan model.

      Ubah file konfigurasi layanan service.json. Metode ini mirip dengan metode penyebaran model menggunakan klien EASCMD. Untuk informasi lebih lanjut, lihat Penyebaran layanan model menggunakan EASCMD.

  • Deskripsi Permintaan

    Anda dapat menggunakan layanan model PS untuk mengirim satu permintaan atau beberapa permintaan sekaligus. Kedua metode tersebut memiliki sintaksis permintaan yang sama. Objek fitur yang terkandung dalam array JSON juga sama.

    • Contoh sintaksis untuk mengirim satu permintaan.

      curl "http://eas.location/api/predict/ps_smart" -d "[
                  {
                      "f0": 1,
                      "f1": 0.2,
                      "f3": 0.5
                  }
      ]"
    • Contoh sintaksis untuk mengirim beberapa permintaan sekaligus.

      curl "http://eas.location/api/predict/ps_smart" -d "[
              {
                  "f0": 1,
                  "f1": 0.2,
                  "f3": 0.5
              },
              {
                  "f0": 1,
                  "f1": 0.2,
                  "f3": 0.5
              }
      ]"
    • Tanggapan

      Kedua metode tersebut juga memiliki sintaksis tanggapan yang sama. Objek yang dikembalikan dalam array JSON sama dan mengikuti urutan yang sama seperti sintaksis permintaan.

      [
        {
          "label":"xxxx",
          "score" : 0.2,
          "details" : [{"k1":0.3}, {"k2":0.5}]
        },
        {
          "label":"xxxx",
          "score" : 0.2,
          "details" : [{"k1":0.3}, {"k2":0.5}]
        }
      ]

Prosesor EasyTransfer

Prosesor EasyTransfer dari EAS dapat memuat model pemrosesan bahasa alami (NLP) pembelajaran mendalam berbasis TensorFlow yang dilatih menggunakan kerangka kerja EasyTransfer.

Anda dapat menerapkan model EasyTransfer menggunakan salah satu metode berikut:

  • Unggah file model di konsol.

    Atur parameter Processor Type menjadi EasyTransfer. Untuk informasi lebih lanjut, lihat Parameter untuk penyebaran kustom di konsol.

  • Gunakan klien EASCMD untuk menerapkan model.

    Dalam file konfigurasi layanan service.json, atur parameter processor menjadi easytransfer_cpu atau easytransfer_gpu berdasarkan sumber daya model. Jika nilai parameter processor tidak sesuai dengan jenis sumber daya, terjadi kesalahan penyebaran. Atur bidang type dari parameter model_config menjadi tipe model yang ingin Anda gunakan. Dalam contoh berikut, model klasifikasi teks digunakan. Untuk informasi lebih lanjut tentang parameter lainnya, lihat Buat layanan.

    • Terapkan model pada node GPU (kelompok sumber daya publik digunakan dalam contoh ini).

      {
        "name": "et_app_demo",
        "metadata": {
          "instance": 1
        },
        "cloud": {
          "computing": {
            "instance_type": "ecs.gn6i-c4g1.xlarge"
          }
        },
        "model_path": "http://xxxxx/your_model.zip",
        "processor": "easytransfer_gpu",
        "model_config": {
          "type": "text_classify_bert"
        }
      }
    • Terapkan model pada node CPU.

      {
        "name": "et_app_demo",
        "model_path": "http://xxxxx/your_model.zip",
        "processor": "easytransfer_cpu",
        "model_config": {
          "type":"text_classify_bert"
        },
        "metadata": {
          "instance": 1,
          "cpu": 1,
          "memory": 4000
        }
      }

    Tabel berikut mencantumkan tipe model yang didukung.

    Jenis Pekerjaan

    Tipe Model

    Pencocokan Teks

    text_match_bert

    Klasifikasi Teks

    text_classify_bert

    Labeling Urutan

    sequence_labeling_bert

    Vektorisasi Teks

    vectorization_bert

Prosesor EasyNLP

Prosesor EasyNLP dari EAS dapat memuat model NLP pembelajaran mendalam berbasis PyTorch yang dilatih menggunakan kerangka kerja EasyNLP.

Anda dapat menerapkan model EasyNLP menggunakan salah satu metode berikut:

  • Unggah file model di konsol.

    Atur parameter Processor Type menjadi EasyNLP. Untuk informasi lebih lanjut, lihat Parameter untuk penyebaran kustom di konsol.

  • Gunakan klien EASCMD untuk menerapkan model.

    Dalam file konfigurasi layanan service.json, atur parameter processor menjadi easynlp. Atur bidang type dari parameter model_config menjadi tipe model yang ingin Anda gunakan. Dalam contoh berikut, model klasifikasi teks dengan label tunggal digunakan. Untuk informasi lebih lanjut tentang parameter lainnya, lihat Buat layanan.

    {
      "name": "easynlp_app_demo",
      "metadata": {
        "instance": 1
      },
      "cloud": {
        "computing": {
          "instance_type": "ecs.gn6i-c4g1.xlarge"
        }
      },
      "model_config": {
        "app_name": "text_classify",
        "type": "text_classify"
      },
      "model_path": "http://xxxxx/your_model.tar.gz",
      "processor": "easynlp"
    }

    Tabel berikut mencantumkan tipe model yang didukung.

    Jenis Pekerjaan

    Tipe Model

    Klasifikasi teks dengan label tunggal

    text_classify

    Klasifikasi teks dengan label ganda

    text_classify_multi

    Pencocokan teks

    text_match

    Labeling urutan

    sequence_labeling

    Vektorisasi teks

    vectorization

    Generasi ringkasan untuk teks Cina (GPU)

    sequence_generation_zh

    Generasi ringkasan untuk teks Inggris (GPU)

    sequence_generation_en

    Pemahaman membaca mesin untuk teks Cina

    machine_reading_comprehension_zh

    Pemahaman membaca mesin untuk teks Inggris

    machine_reading_comprehension_en

    WUKONG_CLIP (GPU)

    wukong_clip

    CLIP (GPU)

    clip

Setelah layanan model diterapkan ke EAS, buka halaman Elastic Algorithm Service (EAS), temukan layanan, dan klik Invocation Method di kolom Service Type untuk mendapatkan titik akhir layanan dan token. Contoh kode Python berikut memberikan contoh permintaan Python yang digunakan untuk memanggil layanan:

import requests
# Ganti nilai dengan titik akhir layanan.
url = '<eas-service-url>'
# Ganti nilai dengan token yang Anda peroleh.
token = '<eas-service-token>'
# Hasilkan data prediksi. Dalam contoh berikut, klasifikasi teks digunakan.
request_body = {
    "first_sequence": "hello"
}
 
headers = {"Authorization": token}
resp = requests.post(url=url, headers=headers, json=request_body)
print(resp.content.decode())

Prosesor EasyCV

Prosesor EasyCV dari EAS dapat memuat model pembelajaran mendalam yang dilatih menggunakan kerangka kerja EasyCV.

Anda dapat menerapkan model EasyCV menggunakan salah satu metode berikut:

  • Unggah file model di konsol.

    Atur parameter Processor Type menjadi EasyCV. Untuk informasi lebih lanjut, lihat Parameter untuk penyebaran kustom di konsol.

  • Gunakan klien EASCMD untuk menerapkan model.

    Dalam file konfigurasi layanan service.json, atur parameter processor menjadi easycv. Atur bidang type dari parameter model_config menjadi tipe model yang ingin Anda gunakan. Dalam contoh berikut, model klasifikasi gambar digunakan. Untuk informasi lebih lanjut tentang parameter lainnya, lihat Buat layanan.

    {
      "name": "easycv_classification_example",
      "processor": "easycv",
      "model_path": "oss://examplebucket/epoch_10_export.pt",
      "model_config": {"type":"TorchClassifier"},
      "metadata": {
        "instance": 1
      },
      "cloud": {
        "computing": {
          "instance_type": "ecs.gn5i-c4g1.xlarge"
        }
      }
    }

    Tabel berikut mencantumkan tipe model yang didukung.

    Jenis Pekerjaan

    model_config

    Klasifikasi Gambar

    {"type":"TorchClassifier"}

    Pendeteksian Objek

    {"type":"DetectionPredictor"}

    Segmentasi Semantik

    {"type":"SegmentationPredictor"}

    YOLOX

    {"type":"YoloXPredictor"}

    Klasifikasi Video

    {"type":"VideoClassificationPredictor"}

Setelah layanan model diterapkan ke EAS, buka halaman Elastic Algorithm Service (EAS), temukan layanan, dan klik Invocation Method di kolom Service Type untuk mendapatkan titik akhir layanan dan token. Contoh kode Python berikut memberikan contoh permintaan Python yang digunakan untuk memanggil layanan:

import requests
import base64
import json
resp = requests.get('http://exmaplebucket.oss-cn-zhangjiakou.aliyuncs.com/images/000000123213.jpg')
ENCODING = 'utf-8'
datas = json.dumps( {
            "image": base64.b64encode(resp.content).decode(ENCODING)
            })
# Ganti nilai dengan token yang Anda peroleh.
head = {
   "Authorization": "NTFmNDJlM2E4OTRjMzc3OWY0NzI3MTg5MzZmNGQ5Yj***"
}
for x in range(0,10):
  	# Ganti nilai dengan titik akhir layanan.
    resp = requests.post("http://150231884461***.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/test_easycv_classification_example", data=datas, headers=head)
    print(resp.text)
                            

Anda harus mengonversi gambar dan file video ke format Base64 untuk transmisi. Gunakan image untuk menentukan data gambar dan video untuk menentukan data video.

Prosesor EasyVision

Prosesor EasyVision dari EAS dapat memuat model pembelajaran mendalam yang dilatih menggunakan kerangka kerja EasyVision.

Anda dapat menerapkan model EasyVision menggunakan salah satu metode berikut:

  • Unggah file model di konsol.

    Atur parameter Processor Type menjadi EasyVision. Untuk informasi lebih lanjut, lihat Parameter untuk penyebaran kustom di konsol.

  • Gunakan klien EASCMD untuk menerapkan model.

    Dalam file konfigurasi layanan service.json, atur parameter processor menjadi easy_vision_cpu_tf1.12_torch151 atau easy_vision_gpu_tf1.12_torch151 berdasarkan sumber daya model. Jika nilai parameter processor tidak sesuai dengan jenis sumber daya, terjadi kesalahan penyebaran. Atur parameter type dalam bagian model_config menjadi tipe model yang dilatih. Blok kode berikut menunjukkan sebuah contoh. Untuk informasi lebih lanjut tentang parameter lainnya, lihat Buat layanan.

    • Terapkan model pada node GPU.

      {
        "name": "ev_app_demo",
        "processor": "easy_vision_gpu_tf1.12_torch151",
        "model_path": "oss://path/to/your/model",
        "model_config": "{\"type\":\"classifier\"}",
        "metadata": {
          "resource": "your_resource_name",
          "cuda": "9.0",
          "instance": 1,
          "memory": 4000,
          "gpu": 1,
          "cpu": 4,
          "rpc.worker_threads" : 5
        }
      }
    • Terapkan model pada node CPU.

      {
        "name": "ev_app_cpu_demo",
        "processor": "easy_vision_cpu_tf1.12_torch151",
        "model_path": "oss://path/to/your/model",
        "model_config": "{\"type\":\"classifier\"}",
        "metadata": {
          "resource": "your_resource_name",
          "instance": 1,
          "memory": 4000,
          "gpu": 0,
          "cpu": 4,
          "rpc.worker_threads" : 5
        }
      }

Prosesor MediaFlow

Prosesor MediaFlow dari EAS adalah mesin orkestrasi serbaguna yang dapat menganalisis dan memproses video, audio, dan gambar.

Anda dapat menerapkan model MediaFlow menggunakan salah satu metode berikut:

  • Unggah file model di konsol.

    Atur parameter Processor Type menjadi MediaFlow. Untuk informasi lebih lanjut, lihat Parameter untuk penyebaran kustom di konsol.

  • Gunakan klien EASCMD untuk menerapkan model.

    Dalam file konfigurasi layanan service.json, atur parameter processor menjadi mediaflow. Jika Anda menggunakan prosesor MediaFlow untuk menerapkan model, Anda harus mengonfigurasi parameter berikut. Untuk informasi lebih lanjut tentang parameter lainnya, lihat Buat layanan.

    • graph_pool_size: jumlah kolam grafik.

    • worker_threads: jumlah thread pekerja.

    Contoh kode:

    • Terapkan model untuk klasifikasi video.

      {
        "model_entry": "video_classification/video_classification_ext.js", 
        "name": "video_classification", 
        "model_path": "oss://path/to/your/model", 
        "generate_token": "true", 
        "processor": "mediaflow", 
        "model_config" : {
            "graph_pool_size":8,
            "worker_threads":16
        },
        "metadata": {
          "eas.handlers.disable_failure_handler" :true,
          "resource": "your_resource_name", 
            "rpc.worker_threads": 30,
            "rpc.enable_jemalloc": true,
          "rpc.keepalive": 500000, 
          "cpu": 4, 
          "instance": 1, 
          "cuda": "9.0", 
          "rpc.max_batch_size": 64, 
          "memory": 10000, 
          "gpu": 1 
        }
      }
    • Terapkan model untuk pengenalan suara otomatis (ASR).

      {
        "model_entry": "asr/video_asr_ext.js", 
        "name": "video_asr", 
        "model_path": "oss://path/to/your/model", 
        "generate_token": "true", 
        "processor": "mediaflow", 
        "model_config" : {
            "graph_pool_size":8,
            "worker_threads":16
        },
        "metadata": {
          "eas.handlers.disable_failure_handler" :true,
          "resource": "your_resource_name", 
            "rpc.worker_threads": 30,
            "rpc.enable_jemalloc": true,
          "rpc.keepalive": 500000, 
          "cpu": 4, 
          "instance": 1, 
          "cuda": "9.0", 
          "rpc.max_batch_size": 64, 
          "memory": 10000, 
          "gpu": 1 
        }
      }

    Dalam file konfigurasi layanan service.json, nilai parameter model_entry, name, dan model_path untuk klasifikasi video dan ASR bervariasi. Anda harus mengonfigurasi parameter berdasarkan tujuan model.

Prosesor Triton

Triton Inference Server adalah kerangka kerja layanan online generasi baru yang dirilis oleh NVIDIA. Triton Inference Server menyederhanakan penyebaran dan manajemen model yang dipercepat GPU dan sesuai dengan standar API KFServing. Fitur-fitur utama Triton Inference Server meliputi:

  • Mendukung beberapa kerangka kerja sumber terbuka seperti TensorFlow, PyTorch, ONNX Runtime, TensorRT, dan backend kerangka kerja kustom.

  • Menjalankan beberapa model secara bersamaan pada satu GPU untuk memaksimalkan pemanfaatan GPU.

  • Mendukung protokol HTTP dan gRPC serta memungkinkan Anda mengirim permintaan dalam format biner untuk mengurangi ukuran permintaan.

  • Mendukung fitur pengelompokan dinamis untuk meningkatkan throughput layanan.

EAS menyediakan prosesor Triton bawaan.

Catatan
  • Prosesor Triton hanya tersedia sebagai pratinjau publik di wilayah Tiongkok (Shanghai).

  • Model yang diterapkan menggunakan prosesor Triton harus disimpan di Object Storage Service (OSS). Oleh karena itu, Anda harus mengaktifkan OSS dan mengunggah file model ke OSS sebelum dapat menggunakan prosesor Triton untuk menerapkan model. Untuk informasi tentang cara mengunggah objek ke OSS, lihat Unggah sederhana.

Berikut ini menjelaskan cara menggunakan prosesor Triton untuk menerapkan model sebagai layanan dan memanggil layanan tersebut:

  • Gunakan prosesor Triton untuk menerapkan model.

    Anda hanya dapat menggunakan prosesor Triton untuk menerapkan model pada klien EASCMD. Untuk informasi tentang cara menggunakan klien EASCMD untuk menerapkan model, lihat Buat layanan. Dalam file konfigurasi layanan service.json, atur parameter processor menjadi triton. Untuk memastikan bahwa prosesor Triton dapat memperoleh file model dari OSS, Anda harus mengatur parameter terkait OSS. Blok kode berikut memberikan contoh cara memodifikasi file konfigurasi layanan service.json:

    {
      "name": "triton_test",                          
      "processor": "triton",
      "processor_params": [
        "--model-repository=oss://triton-model-repo/models", 
        "--allow-http=true", 
      ],
      "metadata": {
        "instance": 1,
        "cpu": 4,
        "gpu": 1,
        "memory": 10000,
        "resource":"<your resource id>"
      }
    }

    Tabel berikut menjelaskan parameter yang diperlukan jika Anda menggunakan prosesor Triton untuk menerapkan model. Untuk informasi lebih lanjut tentang parameter lainnya, lihat Jalankan perintah untuk menggunakan klien EASCMD.

    Parameter

    Deskripsi

    processor_params

    Parameter yang ingin Anda lewatkan ke Triton Inference Server saat penyebaran dimulai. Parameter yang tidak didukung secara otomatis difilter oleh Triton Inference Server. Tabel Parameter yang dapat dilewatkan ke Triton Inference Server menjelaskan parameter yang dapat dilewatkan ke Triton Inference Server. Parameter model-repository diperlukan. Untuk informasi lebih lanjut tentang parameter opsional, lihat main.cc.

    oss_endpoint

    Titik akhir OSS. Jika Anda tidak menentukan titik akhir, sistem secara otomatis menggunakan layanan OSS di wilayah tempat layanan EAS diterapkan. Jika Anda ingin menggunakan layanan OSS yang diaktifkan di wilayah lain, Anda harus mengonfigurasi parameter ini. Untuk informasi tentang nilai valid dari parameter ini, lihat Wilayah dan titik akhir.

    metadata

    resource

    ID kelompok sumber daya eksklusif yang digunakan untuk menerapkan model di EAS. Jika Anda ingin menerapkan model menggunakan prosesor Triton, sumber daya yang digunakan harus termasuk dalam kelompok sumber daya eksklusif di EAS. Untuk informasi tentang cara membuat kelompok sumber daya khusus di EAS, lihat Bekerja dengan kelompok sumber daya EAS.

    Tabel 1. Parameter yang dapat dilewatkan ke Triton Inference Server

    Parameter

    Diperlukan

    Deskripsi

    model-repository

    Ya

    Jalur OSS model. Anda harus mengatur parameter model-repository ke subdirektori Bucket OSS alih-alih direktori root Bucket OSS.

    Sebagai contoh, Anda dapat mengatur parameter menjadi oss://triton-model-repo/models. triton-model-repo adalah nama Bucket OSS, dan models adalah subdirektori Bucket OSS.

    log-verbose

    Tidak

    Untuk informasi lebih lanjut, lihat main.cc.

    log-info

    Tidak

    log-warning

    Tidak

    log-error

    Tidak

    exit-on-error

    Tidak

    strict-model-config

    Tidak

    strict-readiness

    Tidak

    allow-http

    Tidak

    http-thread-count

    Tidak

    pinned-memory-pool-byte-size

    Tidak

    cuda-memory-pool-byte-size

    Tidak

    min-supported-compute-capability

    Tidak

    buffer-manager-thread-count

    Tidak

    backend-config

    Tidak

  • Gunakan klien Triton resmi untuk memanggil layanan yang diterapkan menggunakan prosesor Triton.

    Sebelum menggunakan klien Triton untuk Python untuk memanggil layanan yang diterapkan, jalankan perintah berikut untuk menginstal klien Triton resmi:

    pip3 install nvidia-pyindex
    pip3 install tritonclient[all]

    Jalankan perintah berikut untuk mengunduh gambar uji ke direktori saat ini:

    wget http://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/doc-assets/cat.png

    Blok kode berikut menunjukkan bagaimana klien Triton untuk Python mengirim permintaan dalam format biner ke layanan yang diterapkan menggunakan prosesor Triton:

    import numpy as np
    import time
    from PIL import Image
    
    import tritonclient.http as httpclient
    from tritonclient.utils import InferenceServerException
    
    URL = "<service url>" # Ganti <service url> dengan titik akhir layanan yang diterapkan.
    HEADERS = {"Authorization": "<service token>"} # Ganti <service token> dengan token yang digunakan untuk mengakses layanan.
    input_img = httpclient.InferInput("input", [1, 299, 299, 3], "FP32")
    img = Image.open('./cat.png').resize((299, 299))
    img = np.asarray(img).astype('float32') / 255.0
    input_img.set_data_from_numpy(img.reshape([1, 299, 299, 3]), binary_data=True)
    
    output = httpclient.InferRequestedOutput(
        "InceptionV3/Predictions/Softmax", binary_data=True
    )
    triton_client = httpclient.InferenceServerClient(url=URL, verbose=False)
    
    start = time.time()
    for i in range(10):
        results = triton_client.infer(
            "inception_graphdef", inputs=[input_img], outputs=[output], headers=HEADERS
        )
        res_body = results.get_response()
        elapsed_ms = (time.time() - start) * 1000
        if i == 0:
            print("model name: ", res_body["model_name"])
            print("model version: ", res_body["model_version"])
            print("output name: ", res_body["outputs"][0]["name"])
            print("output shape: ", res_body["outputs"][0]["shape"])
        print("[{}] Avg rt(ms): {:.2f}".format(i, elapsed_ms))
        start = time.time()