memanfaatkan wajah pelukan untuk klasifikasi imej: panduan komprehensif
Klasifikasi imej, asas AI dan pembelajaran mesin, mencari aplikasi di pelbagai bidang, dari pengiktirafan wajah kepada pengimejan perubatan. Pakaian muka muncul sebagai platform yang kuat untuk tugas ini, terutamanya bagi mereka yang biasa dengan pemprosesan bahasa semulajadi (NLP) dan semakin, penglihatan komputer. Butiran panduan ini menggunakan muka pelukan untuk klasifikasi imej, memenuhi kedua -dua pemula dan pengamal yang berpengalaman.
memahami klasifikasi imej dan memeluk kelebihan wajah
Klasifikasi imej melibatkan mengkategorikan imej ke dalam kelas yang telah ditetapkan menggunakan algoritma yang menganalisis kandungan visual dan meramalkan kategori berdasarkan corak yang dipelajari. Rangkaian Neural Convolutional (CNNs) adalah pendekatan standard kerana keupayaan pengiktirafan corak mereka. Untuk menyelam yang lebih mendalam ke dalam CNN, rujuk artikel kami "Pengenalan kepada Rangkaian Neural Convolutional (CNNS)." Artikel "Klasifikasi dalam Pembelajaran Mesin: Pengenalan" kami memberikan pemahaman yang lebih luas tentang algoritma klasifikasi.
muka pelukan menawarkan beberapa kelebihan:
faedah utama menggunakan muka pelukan untuk klasifikasi imej
Penyediaan Data dan Preprocessing
Panduan ini menggunakan dataset "kacang" yang memeluk untuk demonstrasi. Selepas memuatkan, kami akan memvisualisasikan data sebelum pra -proses. Notebook Google Colab yang disertakan menyediakan kod. Kod ini diilhamkan dengan memeluk dokumentasi rasmi Face.
Keperluan Perpustakaan:
Pasang perpustakaan yang diperlukan menggunakan PIP:
Mulakan semula kernel selepas pemasangan. Import Perpustakaan yang diperlukan:
pip -q install datasets pip -q install transformers=='4.29.0' pip -q install tensorflow=='2.15' pip -q install evaluate pip -q install --upgrade accelerate
import torch import torchvision import numpy as np import evaluate from datasets import load_dataset from huggingface_hub import notebook_login from torchvision import datasets, transforms from torch.utils.data import DataLoader from transformers import DefaultDataCollator from transformers import AutoImageProcessor from torchvision.transforms import RandomResizedCrop, Compose, Normalize, ToTensor from transformers import AutoModelForImageClassification, TrainingArguments, Trainer import matplotlib.pyplot as plt
Muatkan dataset:
pip -q install datasets pip -q install transformers=='4.29.0' pip -q install tensorflow=='2.15' pip -q install evaluate pip -q install --upgrade accelerate
Dataset mengandungi 1034 imej, masing -masing dengan 'image_file_path', 'imej' (PIL objek), dan 'label' (0: angular_leaf_spot, 1: bean_rust, 2: sihat).
Fungsi penolong menggambarkan imej rawak:
import torch import torchvision import numpy as np import evaluate from datasets import load_dataset from huggingface_hub import notebook_login from torchvision import datasets, transforms from torch.utils.data import DataLoader from transformers import DefaultDataCollator from transformers import AutoImageProcessor from torchvision.transforms import RandomResizedCrop, Compose, Normalize, ToTensor from transformers import AutoModelForImageClassification, TrainingArguments, Trainer import matplotlib.pyplot as plt
Bayangkan enam imej rawak:
beans_train = load_dataset("beans", split="train")
Contoh gambar dari dataset kacang
preprocessing data:
Buat Label Mappings:
labels_names = {0: "angular_leaf_spot", 1: "bean_rust", 2: "healthy"} def display_random_images(dataset, num_images=4): # ... (function code as in original input) ...
pemuatan model dan penalaan halus
display_random_images(beans_train, num_images=6)
Muatkan model VIT pra-terlatih:
Kod memuatkan model pra-terlatih, mentakrifkan transformasi (saiz semula, normalisasi), dan menyediakan dataset untuk latihan. Metrik ketepatan ditakrifkan untuk penilaian.
beans_train = beans_train.train_test_split(test_size=0.2)
Log masuk untuk memeluk wajah:
(ikuti arahan di skrin)
labels = beans_train["train"].features["labels"].names label2id, id2label = dict(), dict() for i, label in enumerate(labels): label2id[label] = str(i) id2label[str(i)] = label
Konfigurasikan dan memulakan latihan:
(hasil latihan seperti yang ditunjukkan dalam input asal)
checkpoint = "google/vit-base-patch16-224-in21k" image_processor = AutoImageProcessor.from_pretrained(checkpoint) # ... (rest of the preprocessing code as in original input) ...
penggunaan model dan integrasi
Tolak model terlatih ke hab muka yang memeluk:
Model ini kemudiannya boleh diakses dan digunakan melalui:
notebook_login()
training_args = TrainingArguments( # ... (training arguments as in original input) ... ) trainer = Trainer( # ... (trainer configuration as in original input) ... ) trainer.train()
Panduan ini menyediakan klasifikasi imej yang komprehensif menggunakan wajah pelukan. Sumber pembelajaran lebih lanjut termasuk:
"Pengenalan Menggunakan Transformers dan Hugging Face"
Atas ialah kandungan terperinci Memeluk Klasifikasi Imej Wajah: Panduan Komprehensif Dengan Contoh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!