Dieses Tutorial zeigt, wie Sie mit der FastAI-Bibliothek ein Bildklassifizierungsmodell trainieren, um zwischen Katzen und Hunden zu unterscheiden. Wir gehen Schritt für Schritt vor, von der Datenvorbereitung bis zum Modelltraining und der Nutzung.
Schritt 1: Datenaufbereitung
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)
In ähnlicher Weise laden wir ein Bild einer Katze herunter:
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
und dog_or_not/cat
. Gleichzeitig ändern wir die Bildgröße, um die Effizienz zu verbessern. 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)
Schritt 2: Modelschulung
DataBlock
, um einen DataLoader zum Laden und Verarbeiten von Bilddaten zu erstellen. 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)
Schritt 3: Modelleinsatz
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}")
Ausgabeergebnis:
Das ist ein: Hund. Wahrscheinlichkeit, dass es ein Hund ist: 1,0000
Dieses Tutorial zeigt, wie Sie mit FastAI schnell ein einfaches Bildklassifizierungsmodell erstellen. Denken Sie daran, dass die Genauigkeit Ihres Modells von der Qualität und Quantität Ihrer Trainingsdaten abhängt.
Das obige ist der detaillierte Inhalt vonSo erstellen Sie ein Modell aus meinen Daten zu Kaggle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!