Tutorial ini menunjukkan cara menggunakan perpustakaan FastAI untuk melatih model klasifikasi imej untuk membezakan antara kucing dan anjing. Kami akan pergi langkah demi langkah, daripada penyediaan data kepada latihan model dan penggunaan.
Langkah 1: Penyediaan data
import os iskaggle = os.environ.get('KAGGLE_KERNEL_RUN_TYPE', '') if iskaggle: !pip install -Uqq fastai 'duckduckgo_search>=6.2' from duckduckgo_search import DDGS from fastcore.all import * import time, json def search_images(keywords, max_images=200): return L(DDGS().images(keywords, max_results=max_images)).itemgot('image')
urls = search_images('dog photos', max_images=1) from fastdownload import download_url dest = 'dog.jpg' download_url(urls[0], dest, show_progress=False) from fastai.vision.all import * im = Image.open(dest) im.to_thumb(256,256)
Begitu juga, kami memuat turun gambar kucing:
download_url(search_images('cat photos', max_images=1)[0], 'cat.jpg', show_progress=False) Image.open('cat.jpg').to_thumb(256,256)
dog_or_not/dog
dan dog_or_not/cat
masing-masing. Pada masa yang sama, kami mengubah saiz imej untuk meningkatkan kecekapan. searches = 'dog', 'cat' path = Path('dog_or_not') for o in searches: dest = (path/o) dest.mkdir(exist_ok=True, parents=True) download_images(dest, urls=search_images(f'{o} photo')) time.sleep(5) resize_images(path/o, max_size=400, dest=path/o)
failed = verify_images(get_image_files(path)) failed.map(Path.unlink)
Langkah 2: Latihan model
DataBlock
untuk mencipta DataLoader untuk memuatkan dan memproses data imej. dls = DataBlock( blocks=(ImageBlock, CategoryBlock), get_items=get_image_files, splitter=RandomSplitter(valid_pct=0.2, seed=42), get_y=parent_label, item_tfms=[Resize(192, method='squish')] ).dataloaders(path, bs=32) dls.show_batch(max_n=6)
learn = vision_learner(dls, resnet50, metrics=error_rate) learn.fine_tune(3)
Langkah 3: Penggunaan model
is_dog,_,probs = learn.predict(PILImage.create('dog.jpg')) print(f'This is a: {is_dog}.') print(f"Probability it's a dog: {probs[1]:.4f}")
Hasil keluaran:
Ini ialah: anjing. Kebarangkalian ia seekor anjing: 1.0000
Tutorial ini menunjukkan cara menggunakan FastAI untuk membina model klasifikasi imej ringkas dengan cepat. Ingat, ketepatan model anda bergantung pada kualiti dan kuantiti data latihan anda.
Atas ialah kandungan terperinci Bagaimana untuk mencipta model daripada data saya pada Kaggle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!