„fastai“ – tai atviro kodo biblioteka, skirta gilaus mokymosi modeliams kurti ir mokyti, sukurta Jeremy Howard ir jo bendraautorių. Ji yra pastatyta ant PyTorch ir siekia padaryti gilųjį mokymą prieinamesnį, efektyvesnį ir lengviau įgyvendinamą, ypač pradedantiesiems.
Pagrindiniai bruožai:
- Aukšto lygio API – leidžia greitai sukurti ir apmokyti modelius su minimaliu kodu.
- „Best practices“ įdiegimas – automatiškai taiko efektyvius metodus (pvz., discriminative learning rates, one-cycle policy).
- Stiprus darbas su duomenimis – turi patogius įrankius duomenų paruošimui ir augmentacijai.
- Interpretuojamumo įrankiai – padeda suprasti modelio sprendimus.
Pavyzdžiai
1. Vaizdų klasifikacija (pvz., katės vs šunys)
python
from fastai.vision.all import
Duomenų paruošimas
path = untar_data(URLs.PETS)/'images'
dls = ImageDataLoaders.from_name_re(
path, get_image_files(path),
pat=r'(.+)_\d+.jpg$',
item_tfms=Resize(224)
)
Modelio kūrimas ir mokymas
learn = vision_learner(dls, resnet34, metrics=accuracy)
learn.fine_tune(3) 3 epochos
2. Teksto klasifikacija (pvz., atsiliepimų analizė)
python
from fastai.text.all import
Duomenų paruošimas
dls = TextDataLoaders.from_folder(
untar_data(URLs.IMDB),
valid='test',
text_vocab_kwargs={'min_freq': 3}
)
Modelio kūrimas (naudojant transfer learning su ULMFiT)
learn = text_classifier_learner(dls, AWD_LSTM, metrics=accuracy)
learn.fine_tune(4) 4 epochos
3. Tabular duomenys (pvz., prognozė pagal lentelę)
python
from fastai.tabular.all import
Duomenų paruošimas
path = untar_data(URLs.ADULT_SAMPLE)
dls = TabularDataLoaders.from_csv(
path/'adult.csv',
y_names="salary",
cat_names=['workclass', 'education', 'marital-status'],
cont_names=['age', 'fnlwgt', 'education-num'],
procs=[Categorify, FillMissing, Normalize]
)
Modelio kūrimas
learn = tabular_learner(dls, metrics=accuracy)
learn.fit_one_cycle(3)
Trumpai:
fastai – tai biblioteka, kuri spartina gilaus mokymo projektus, suteikdama patogius įrankius ir gerąsias praktikas „po kapotu“. Ji tinka tiek naujokams, norintiems greitai pradėti, tiek pažengusiems, siekiantiems greitai prototipuoti.
Jūsų pataisymai bus išsiųsti moderatorių peržiūrai, jei informacija tikslesnė/taisyklingesnė
ji bus patalpinta vietoj esamos.