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 в машинном обучении.