FastAI в машинном обучении
FastAI – это библиотека машинного обучения, используемая для задач глубокого обучения. Это помогает, поскольку представляет компоненты верхнего уровня, которые можно легко использовать для достижения передовых результатов. В этой статье я покажу вам руководство по FastAI в машинном обучении с использованием Python.
Введение в FastAI в машинном обучении
Библиотека FastAI создана для двух основных целей:
- чтобы быть доступной
- и высокопроизводительной
FastAI стремится предоставить компоненты высокого уровня исследователям, использующим компоненты низкого уровня, которые можно использовать для создания новых подходов. Лучшее в этой библиотеке то, что она делает все это без существенных затрат, при этом довольно просто, гибко и эффективно.
FastAI построен на Pytorch, NumPy, PIL, pandas и некоторых других библиотеках. Для достижения своих целей он не стремится скрыть нижние уровни своей основы. Используя эту библиотеку машинного обучения, мы можем напрямую взаимодействовать с базовыми примитивными моделями PyTorch.
Используя библиотеку FastAI в машинном обучении, мы можем легко создавать и обучать продвинутые модели нейронных сетей с использованием трансферного обучения с очень скромным количеством кода. В следующем разделе я покажу вам пример этой библиотеки.
Руководство по FastAI
В этом разделе я расскажу вам, как использовать библиотеку машинного обучения FastAI для решения очень популярной в сообществе машинного обучения задачи, связанной с классификацией собак и кошек.
Чтобы использовать эту библиотеку, вам необходимо выполнить следующие три команды в командной строке или терминале:
!pip install fastai !pip install fastbook --upgrade !pip install -Uqq fastbook
После выполнения вышеуказанных команд нам нужно подготовить среду для работы с этой библиотекой, что мы можем легко сделать, импортировав библиотеку fastbook и передав функцию setup_book():
import fastbook fastbook.setup_book()
Теперь давайте импортируем необходимые библиотеки и набор данных, с которыми нам нужно работать в этом руководстве:
from fastai.vision.all import * path = untar_data(URLs.PETS)
В FastAI untar_data – очень мощная удобная функция для загрузки файлов по URL-адресу. Здесь мы используем набор данных PETS, который включает 37 категорий домашних животных с примерно 200 изображениями каждого класса. Теперь давайте определимся с ярлыками:
def is_cat(x):
return x[0].isupper()
Теперь я буду использовать функцию ImageDataLoader, которая использует несколько загрузчиков данных для задач компьютерного зрения:
dls = ImageDataLoaders.from_name_func(
path,
get_image_files(path),
valid_pct = 0.2,
seed = 42,
label_func = is_cat,
item_tfms = Resize(224)
)
Последний шаг: прогнозирование
Теперь давайте обучим модель и сделаем прогнозы:
learn =cnn_learner(dls,
resnet34,
metrics = error_rate)
learn.fine_tune(1)
import ipywidgets as widgets
uploader = widgets.FileUpload()
uploader
def pred():
img = PILImage.create(uploader.data[0])
img.show()
#Make Prediction
is_cat,_,probs = learn.predict(img)
print(f"Image is of a Cat: {is_cat}.")
print(f"Probability image is a cat: {probs[1].item():.6f}")
pred()
Результат:
Image is of a Cat: True.
Probability image is a cat: 1.000000

Надеюсь, вам понравилась эта статья о FastAI в машинном обучении.



