全部产品
Search
文档中心

Platform For AI:Klasifikasi gambar

更新时间:Jul 02, 2025

Anda dapat menggunakan Model Gallery untuk menerapkan model open source yang telah dilatih sebelumnya guna klasifikasi gambar, atau menggunakan dataset Anda sendiri untuk fine-tuning model tersebut sesuai kebutuhan spesifik. Setelah itu, Anda dapat memanfaatkan model yang telah di-fine-tune untuk mengklasifikasikan gambar ke dalam kategori kustom. Topik ini menjelaskan cara menerapkan model cv_vit-base_image-classification_ImageNet-labels dari Model Gallery untuk klasifikasi gambar.

Prasyarat

Bucket Object Storage Service (OSS) telah dibuat. Untuk informasi lebih lanjut, lihat Buat Bucket.

Pergi ke halaman detail model

  1. Buka halaman Model Gallery.

    1. Masuk ke Konsol PAI.

    2. Di panel navigasi sisi kiri, klik Workspaces. Di halaman Workspaces, temukan workspace yang ingin dikelola dan klik nama workspace tersebut. Halaman Detail Workspace akan ditampilkan.

    3. Di panel navigasi sisi kiri halaman Detail Workspace, klik Model Gallery.

  2. Di halaman Model Gallery, klik image-classification di bagian CV. Kemudian, temukan dan klik model cv_vit-base_image-classification_ImageNet-labels untuk membuka halaman detail model.

    image

    Model Gallery menyediakan berbagai model utama dari komunitas open source. Anda dapat memilih model yang sesuai dengan kebutuhan bisnis Anda.

    • Secara umum, model dengan jumlah parameter yang lebih besar memberikan performa lebih baik, tetapi biaya penggunaan layanan model dan volume data yang diperlukan untuk fine-tuning lebih tinggi.

    • Sebagian besar model menyediakan informasi tentang dataset pra-latihan. Semakin relevan dataset pra-latihan dengan skenario Anda, semakin baik hasil penerapan langsung dan fine-tuning. Informasi lebih lanjut tentang dataset pra-latihan dapat ditemukan di halaman detail model.

Terapkan model secara langsung

Model cv_vit-base_image-classification_ImageNet-labels yang disediakan oleh Model Gallery adalah model Vision Transformer (ViT) umum untuk klasifikasi gambar yang tersedia di ModelScope. Model ini didasarkan pada arsitektur ViT, dilatih menggunakan dataset ImageNet-1K, dan dapat digunakan untuk mengklasifikasikan gambar yang kategorinya tercakup dalam dataset ImageNet-1K. Anda dapat langsung menerapkan model ini ke Elastic Algorithm Service (EAS) sebagai layanan model untuk klasifikasi gambar. Berikut langkah-langkahnya:

  1. Terapkan model sebagai layanan model.

    1. Di halaman detail model, klik Deploy di pojok kanan atas.

    2. Verifikasi pengaturan parameter di bagian Model Service Information dan Resource Deployment Information.

      Model Gallery menentukan nama layanan dan mengatur prasetel sumber daya komputasi yang diperlukan untuk menerapkan model berdasarkan karakteristiknya. Dalam contoh ini, pengaturan parameter default digunakan. Namun, Anda juga dapat memodifikasi pengaturan sesuai kebutuhan bisnis Anda. Untuk informasi lebih lanjut tentang konfigurasi parameter, lihat bagian Terapkan dan Debug Model dari topik "Terapkan dan Latih Model".

    3. Klik Deploy. Di pesan Billing Notification, klik OK.

      Halaman detail layanan akan muncul. Di tab Service details, Anda dapat melihat status penyebaran layanan model di bagian Basic Information. Jika nilai parameter Status berubah menjadi In operation, layanan model telah berhasil diterapkan.

  2. Panggil layanan model.

    Setelah layanan model diterapkan, Anda dapat memanggil layanan tersebut dengan mengirim permintaan API melalui HTTP untuk prediksi. Layanan model menerima gambar yang dikodekan Base64 dan mengembalikan hasil prediksi dalam format JSON. Berikut langkah-langkahnya:

    1. Di bagian Resource Information dari tab Service details, klik View Call Information.

      image

    2. Di kotak dialog Call Information, lihat parameter Access address dan Token di tab Public network address call, lalu catat nilai-nilai parameter tersebut.

    3. Gunakan pustaka requests Python untuk memanggil layanan model. Contoh kode berikut memberikan ilustrasi:

      import requests
      import base64
      
      image_path = "<PathToLocalImage>"
      url = "<PredictionServiceURL>"
      token = "<PredictionServiceAccessToken>"
      
      
      def encode_file_to_base64(f):
          with open(f, "rb") as file:
              encoded_string = base64.b64encode(file.read())
              base64_str = str(encoded_string, "utf-8")
              return base64_str
      
      base64_string = encode_file_to_base64(image_path)
      request_body = {
          "image": base64_string
      }
      
      headers = {"Authorization": token}
      resp = requests.post(url=url, headers=headers, json=request_body)
      
      print(resp.content.decode())
      print("status code:", resp.status_code)
      

      Ganti token dan url dalam kode di atas dengan nilai parameter Token dan Access Address yang Anda peroleh pada langkah sebelumnya. Ganti image_path dengan jalur lokal gambar dalam format PNG atau JPG.

      Jika panggilan berhasil, layanan model akan mengembalikan lima kategori paling mungkin dari gambar beserta skor setiap kategori. Contoh kode berikut memberikan ilustrasi.

      {
        "scores": [
          0.4078965485095978,
          0.24673610925674438,
          0.1930493414402008,
          0.0026617543771862984,
          0.0009246605914086103
        ],
        "labels": [
          "tiger cat",
          "tabby, tabby cat",
          "Egyptian cat",
          "lynx, catamount",
          "tiger, Panthera tigris"
        ]
      }

Fine-tune model

Model cv_vit-base_image-classification_ImageNet-labels cocok untuk mengklasifikasikan gambar yang kategorinya tercakup dalam dataset ImageNet-1K. Jika kategori gambar yang ingin diklasifikasikan tidak terdapat dalam dataset ImageNet-1K, Anda dapat menggunakan dataset yang berisi sejumlah kecil gambar dan kategori mereka untuk fine-tuning model. Dengan demikian, Anda dapat memperoleh model klasifikasi gambar yang mencakup kategori yang diperlukan. Berikut langkah-langkahnya:

  1. Siapkan dataset.

    1. Siapkan dataset berdasarkan struktur direktori berikut.

      Model dapat dilatih menggunakan data gambar yang disimpan di OSS. Data harus diatur dalam struktur direktori berikut: Setiap direktori menunjukkan satu kategori, dan gambar dari kategori tersebut disimpan di jalur root direktori. Misalnya, jalur dataset pelatihan adalah oss://{YourOssBucket}.{OssEndpoint}/{PathToTrainData}/, dengan gambar diatur dalam struktur direktori berikut:

      ├── category-1
      │   ├── image1.jpeg
      │   └── image2.jpeg
      ├── category-2
      │   ├── image3.jpeg
      │   └── image4.jpeg
      |...
      |...
      └── category-n
          ├── imagexxx.jpeg
          └── imageyyy.jpeg

      Untuk mendapatkan model dengan performa lebih baik, disarankan menyiapkan dataset validasi dengan struktur direktori yang sama. Dataset validasi dapat digunakan untuk mengevaluasi performa model dan menyesuaikan parameter model berdasarkan hasil evaluasi.

    2. Unggah dataset ke bucket OSS berdasarkan struktur direktori di atas. Untuk informasi lebih lanjut tentang cara mengunggah data ke bucket OSS, lihat Unggah Objek.

  2. Kirim pekerjaan pelatihan.

    1. Setelah dataset disiapkan, klik Fine-tune di halaman detail model. Di panel Fine-tune, konfigurasikan parameter Training dataset, Validate dataset, dan Output Path.

      Model Gallery mengatur prasetel parameter di bagian seperti Computing resources dan Hyper-parameters berdasarkan karakteristik model. Anda dapat menggunakan pengaturan parameter default atau memodifikasi pengaturan sesuai kebutuhan bisnis Anda. Untuk informasi lebih lanjut tentang konfigurasi parameter, lihat bagian Terapkan dan Latih Model dari topik "Terapkan dan Latih Model".

      Catatan

      Secara default, model cv_vit-base_image-classification_ImageNet-labels menggunakan dataset MiniImageNet-100 untuk fine-tuning.

    2. Klik Fine-tune.

      image

      Halaman detail pekerjaan akan muncul. Di halaman ini, Anda dapat melihat kemajuan, log, dan hasil evaluasi pekerjaan pelatihan. Setelah pekerjaan pelatihan selesai, model yang dihasilkan akan disimpan ke jalur keluaran yang ditentukan oleh parameter Output Path pada langkah sebelumnya.

      image

  3. Terapkan model yang telah di-fine-tune.

    Model yang telah dilatih secara otomatis didaftarkan di AI Asset Management > Models. Anda dapat melihat atau menerapkan model-model tersebut. Untuk informasi lebih lanjut, lihat Daftarkan dan Kelola Model.