Heim > Backend-Entwicklung > Python-Tutorial > So erstellen Sie ein Modell aus meinen Daten zu Kaggle

So erstellen Sie ein Modell aus meinen Daten zu Kaggle

DDD
Freigeben: 2025-01-26 10:12:09
Original
995 Leute haben es durchsucht

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

  1. Bildsuchfunktion: Zuerst definieren wir eine Funktion zum Suchen von Bildern aus der DuckDuckGo-Suchmaschine. Diese Funktion akzeptiert Schlüsselwörter und die maximale Anzahl von Bildern als Eingabe und gibt eine Liste von Bild-URLs zurück.
<code class="language-python">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')</code>
Nach dem Login kopieren
  1. Beispielbilder suchen und herunterladen: Lassen Sie uns nach „Hundefotos“ bzw. „Katzenfotos“ suchen und ein Beispielbild herunterladen.
<code class="language-python">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)</code>
Nach dem Login kopieren

How to create a model from my data on Kaggle

In ähnlicher Weise laden wir ein Bild einer Katze herunter:

<code class="language-python">download_url(search_images('cat photos', max_images=1)[0], 'cat.jpg', show_progress=False)
Image.open('cat.jpg').to_thumb(256,256)</code>
Nach dem Login kopieren

How to create a model from my data on Kaggle

  1. Batch-Download und Vorverarbeitung von Bildern: Wir laden mehrere Bilder von Katzen und Hunden herunter und speichern sie jeweils in den Ordnern dog_or_not/dog und dog_or_not/cat. Gleichzeitig ändern wir die Bildgröße, um die Effizienz zu verbessern.
<code class="language-python">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)</code>
Nach dem Login kopieren
  1. Ungültige Bilder bereinigen: Löschen Sie Bilder, die nicht heruntergeladen werden konnten oder beschädigt sind.
<code class="language-python">failed = verify_images(get_image_files(path))
failed.map(Path.unlink)</code>
Nach dem Login kopieren

Schritt 2: Modelschulung

  1. DataLoader erstellen: Verwenden Sie DataBlock, um einen DataLoader zum Laden und Verarbeiten von Bilddaten zu erstellen.
<code class="language-python">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)</code>
Nach dem Login kopieren

How to create a model from my data on Kaggle

  1. Feinabstimmung des vorab trainierten Modells: Verwenden Sie ein vorab trainiertes ResNet50-Modell und optimieren Sie es anhand unseres Datensatzes.
<code class="language-python">learn = vision_learner(dls, resnet50, metrics=error_rate)
learn.fine_tune(3)</code>
Nach dem Login kopieren

How to create a model from my data on Kaggle

Schritt 3: Modelleinsatz

  1. Vorhersage: Sagen Sie das zuvor heruntergeladene Beispiel-Hundebild mithilfe des trainierten Modells voraus.
<code class="language-python">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}")</code>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage