利用擁抱臉進行圖像分類:綜合指南
AI和機器學習的基石圖像分類是從面部識別到醫學成像的各種領域的應用。 擁抱面孔是該任務的強大平台,特別是對於那些熟悉自然語言處理(NLP)和越來越多的計算機視覺的人。本指南的詳細信息使用擁抱臉進行圖像分類,迎合初學者和經驗豐富的從業者。了解圖像分類和擁抱臉的優勢
>圖像分類涉及使用算法將圖像分類為預定義的類,這些算法分析視覺內容並根據學習模式進行預測類別。 卷積神經網絡(CNN)是由於其模式識別能力而成為標準方法。 要深入研究CNN,請參閱我們的文章“卷積神經網絡介紹(CNN)”。 我們的“機器學習中的分類:簡介”文章提供了對分類算法的更廣泛的理解。
擁抱臉提供了幾個優點:
>
>
>跨雲平台的模型部署選項
數據準備和預處理 >本指南使用擁抱的面部“豆”數據集進行演示。 加載後,我們將在預處理前可視化數據。 隨附的Google Colab筆記本提供了代碼。 該代碼的靈感來自擁抱Face的官方文檔。
>庫要求:
使用PIP安裝必要的庫: 安裝後
>重新啟動內核。 導入所需庫:
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
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
數據集包含1034張圖像,每個圖像都帶有'image_file_path','image'(pil對象)和'labels'(0:angular_leaf_spot,1:bean_rust,2:健康)。
輔助函數可視化隨機圖像:
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
beans_train = load_dataset("beans", split="train")
>來自豆類數據集的示例圖像>
數據預處理:
>拆分數據集(80%火車,20%驗證):創建標籤映射:
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) ...
型號加載和微調
display_random_images(beans_train, num_images=6)
加載預先訓練的VIT模型:
>代碼加載預訓練的模型,定義轉換(調整,歸一化),並準備培訓數據集。 精度度量定義用於評估。
beans_train = beans_train.train_test_split(test_size=0.2)
登錄到擁抱的臉:
(遵循屏幕上的指示)
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
配置和啟動培訓:
(原始輸入中所示的訓練結果)
checkpoint = "google/vit-base-patch16-224-in21k" image_processor = AutoImageProcessor.from_pretrained(checkpoint) # ... (rest of the preprocessing code as in original input) ...
模型部署和集成
>將受過訓練的模型推向擁抱的臉部集線器:
然後可以通過以下方式訪問並使用該模型
notebook_login()
擁抱面部門戶:
直接上傳預測圖像。training_args = TrainingArguments( # ... (training arguments as in original input) ... ) trainer = Trainer( # ... (trainer configuration as in original input) ... ) trainer.train()
“使用變壓器和擁抱臉的簡介”
“使用Python的圖像處理”技能軌道
以上是擁抱面部圖像分類:綜合指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!