Fastai python что это

Welcome to fastai

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что этоFastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Installing

You can install fastai on your own machines with conda (highly recommended), as long as you’re running Linux or Windows (NB: Mac is not supported). For Windows, please see the «Running on Windows» for important notes.

If you’re using miniconda (recommended) then run (note that if you replace conda with mamba the install process will be much faster and more reliable):

. or if you’re using Anaconda then run:

If you plan to develop fastai yourself, or want to be on the cutting edge, you can use an editable install (if you do this, you should also use an editable install of fastcore to go with it.) First install PyTorch, and then:

Learning fastai

The best way to get started with fastai (and deep learning) is to read the book, and complete the free course.

To see what’s possible with fastai, take a look at the Quick Start, which shows how to use around 5 lines of code to build an image classifier, an image segmentation model, a text sentiment model, a recommendation system, and a tabular model. For each of the applications, the code is much the same.

Read through the Tutorials to learn how to train your own models on your own datasets. Use the navigation sidebar to look through the fastai documentation. Every class, function, and method is documented here.

To learn about the design and motivation of the library, read the peer reviewed paper.

About fastai

fastai is a deep learning library which provides practitioners with high-level components that can quickly and easily provide state-of-the-art results in standard deep learning domains, and provides researchers with low-level components that can be mixed and matched to build new approaches. It aims to do both things without substantial compromises in ease of use, flexibility, or performance. This is possible thanks to a carefully layered architecture, which expresses common underlying patterns of many deep learning and data processing techniques in terms of decoupled abstractions. These abstractions can be expressed concisely and clearly by leveraging the dynamism of the underlying Python language and the flexibility of the PyTorch library. fastai includes:

fastai is organized around two main design goals: to be approachable and rapidly productive, while also being deeply hackable and configurable. It is built on top of a hierarchy of lower-level APIs which provide composable building blocks. This way, a user wanting to rewrite part of the high-level API or add particular behavior to suit their needs does not have to learn how to use the lowest level.

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Migrating from other libraries

It’s very easy to migrate from plain PyTorch, Ignite, or any other PyTorch-based library, or even to use fastai in conjunction with other libraries. Generally, you’ll be able to use all your existing data processing code, but will be able to reduce the amount of code you require for training, and more easily take advantage of modern best practices. Here are migration guides from some popular libraries to help you on your way:

Windows Support

Due to python multiprocessing issues on Jupyter and Windows, num_workers of Dataloader is reset to 0 automatically to avoid Jupyter hanging. This makes tasks such as computer vision in Jupyter on Windows many times slower than on Linux. This limitation doesn’t exist if you use fastai from a script.

See this example to fully leverage the fastai API on Windows.

Источник

Туториал: cоздание рекомендательной системы c библиотекой FastAI

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Метод коллаборативной фильтрации в рекомендательных системах предсказывает оценку или предпочтение, которое пользователь будет отдавать объекту на основе его прежних оценок или предпочтений. Системы рекомендаций используются практически каждой крупной компанией для повышения качества предложения своих услуг.

Перевод статьи «Collaborative filtering with FastAI», автор — Gilbert Tanner, ссылка на оригинал — в подвале статьи.

В одной из моих первых статей я создал систему рекомендаций для книг, используя Keras. В этой статье я покажу вам, как создать ту же систему рекомендаций с использованием библиотеки FastAI, а также как построить модель на основе нейронной сети, чтобы получить еще лучшие результаты.

Для наших данных мы будем использовать датасет goodbooks-10k, который содержит десять тысяч различных книг и около миллиона оценок. Он имеет три признака: book_id, user_id и рейтинг. Если вы хотите, вы можете получить все файлы данных и полный код к этой статье из моего репозитория Github.

Если вы предпочитаете наглядное руководство, вы можете посмотреть мои видео по FastAI на канале YouTube.

Получение данных

После загрузки датасета из Kaggle нам нужно загрузить модуль коллаборативной фильтрации FastAI, указать путь к датасету и загрузить CSV, содержащий рейтинги, и CSV, содержащий информацию о книге.

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Dataframe с рекомендациями

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Dataframe с информацией о книгах

Загрузив наши данные, мы можем создать CollabDataBunch, который представляет собой датасет, специально созданный для задач коллаборативной фильтрации. Мы передадим ему наши данные о рейтинге, случайное начальное число, а также размер нашей тестовой выборки, который определяется аргументом valid_pct.

Мы можем отобразить батч наших данных, используя метод show_batch.

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Случайный батч данных

Последнее, что нам нужно сделать перед созданием и обучением нашей модели — получить максимальное и минимальное значения наших рейтингов. Затем мы передадим эти значения в нашу модель, чтобы она могла затем сжать окончательные результаты между этими двумя значениями.

Модель EmbeddingDotBias

FastAI предоставляет два разных типа моделей коллаборативной фиьтрации. Первая — простая модель под названием EmbeddingDotBias, которая использовалась почти для всех рекомендательных систем несколько лет назад. Она создает векторные представления как для пользователей, так и для книг, а затем берет их скалярное произведение. Вторая — это модель на основе нейронной сети, которая использует векторные представления и полносвязные слои.

Векторное представление (embedding) — это перевод из дискретных объектов, таких как слова или идентификаторы книг и, в нашем случае, пользователей, в вектор вещественных значений. Это можно использовать для нахождения сходства между дискретными объектами, которое не было бы очевидным для модели, если бы в ней не использовались слои векторных представлений.

Эти векторные представления являются низкоразмерными и обновляются во время обучения сети.

Обе модели могут быть созданы с использованием класса collab_learner. По умолчанию аргумент use_nn имеет значение false, то есть мы создаем модель EmbeddingDotBias.

В качестве следующих аргументов мы можем передать в collab_learner аргумент n_factors, который представляет размер векторных представлений, а также аргумент y_range, который указывает диапазон значений рейтинга, которые мы нашли ранее.

Теперь мы можем найти learning rate, обучить нашу модель с помощью метода fit_one_cycle и сохранить модель. Если вы еще не знакомы с этим процессом, я бы порекомендовал вам прочитать мою первую статью о классификации изображений с помощью библиотеки FastAI.

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Модель EmbeddingNN

Второй тип модели коллаборативной фильтрации, предоставляемой FastAI, называется EmbeddingNN. Она дает нам возможность создавать векторные представления разных размеров и передавать их в нейронную сеть.

FastAI также предоставляет нам возможность настроить количество слоев и их нейронов.

Как всегда, следующие шаги — найти learning rate и обучить модель.

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Мы видим, что нейронная сеть работает намного лучше, чем наша модель точечного продукта.

Интерпретация

Поскольку обученные векторные представления должны наилучшим образом отражать стиль и вид книг и пользователей, они могут содержать интересные функции, которые мы можем извлечь и визуализировать для получения важной информации.

Для этого FastAI позволяет легко получать доступ к векторным представлениям пользователей и книг, а также к их склонностям.

В этой статье мы извлечем склонности к книгам и их веса, чтобы получить представление о том, какие книги должны быть ранжированы ниже или выше, с учетом векторного представления склонностей, а также того, насколько похожи некоторые из самых популярных книг с использованием весов слоя векторного представления.

Для начала мы загрузим нашу модель EmbeddingDotBias и получим 1000 самых популярных книг по количеству отзывов.

Теперь мы можем извлечь склонности к лучшим книгам, а также средний рейтинг лучших книг и вывести результат. Благодаря этому мы можем получать информацию о книгах, которые обычно оцениваются как низкие или высокие, независимо от того, какой пользователь их оценивает.

Мы также можем визуализировать две основных компоненты, используя графическую библиотеку, например, Matplotlib.

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Визуализация весов слоя векторного представления

Заключение

Рекомендательные системы стремятся предсказать рейтинг или предпочтение, которое пользователь будет отдавать элементу, учитывая его старые оценки или предпочтения.

Библиотека глубокого обучения FastAI предоставляет нам функциональные возможности, позволяющие легко загружать наши данные и создавать модели коллаборативной фильтрации.

Источник

fastai 2.5.3

pip install fastai Copy PIP instructions

Released: Oct 23, 2021

fastai simplifies training fast and accurate neural nets using modern best practices

Navigation

Project links

Statistics

View statistics for this project via Libraries.io, or by using our public dataset on Google BigQuery

License: Apache Software License (Apache Software License 2.0)

Tags fastai, deep learning, machine learning

Requires: Python >=3.6

Maintainers

Classifiers

Project description

Welcome to fastai

fastai simplifies training fast and accurate neural nets using modern best practices

Installing

You can install fastai on your own machines with conda (highly recommended), as long as you’re running Linux or Windows (NB: Mac is not supported). For Windows, please see the «Running on Windows» for important notes.

If you’re using miniconda (recommended) then run (note that if you replace conda with mamba the install process will be much faster and more reliable):

. or if you’re using Anaconda then run:

If you plan to develop fastai yourself, or want to be on the cutting edge, you can use an editable install (if you do this, you should also use an editable install of fastcore to go with it.) First install PyTorch, and then:

Learning fastai

The best way to get started with fastai (and deep learning) is to read the book, and complete the free course.

To see what’s possible with fastai, take a look at the Quick Start, which shows how to use around 5 lines of code to build an image classifier, an image segmentation model, a text sentiment model, a recommendation system, and a tabular model. For each of the applications, the code is much the same.

Read through the Tutorials to learn how to train your own models on your own datasets. Use the navigation sidebar to look through the fastai documentation. Every class, function, and method is documented here.

To learn about the design and motivation of the library, read the peer reviewed paper.

About fastai

fastai is a deep learning library which provides practitioners with high-level components that can quickly and easily provide state-of-the-art results in standard deep learning domains, and provides researchers with low-level components that can be mixed and matched to build new approaches. It aims to do both things without substantial compromises in ease of use, flexibility, or performance. This is possible thanks to a carefully layered architecture, which expresses common underlying patterns of many deep learning and data processing techniques in terms of decoupled abstractions. These abstractions can be expressed concisely and clearly by leveraging the dynamism of the underlying Python language and the flexibility of the PyTorch library. fastai includes:

fastai is organized around two main design goals: to be approachable and rapidly productive, while also being deeply hackable and configurable. It is built on top of a hierarchy of lower-level APIs which provide composable building blocks. This way, a user wanting to rewrite part of the high-level API or add particular behavior to suit their needs does not have to learn how to use the lowest level.

Migrating from other libraries

It’s very easy to migrate from plain PyTorch, Ignite, or any other PyTorch-based library, or even to use fastai in conjunction with other libraries. Generally, you’ll be able to use all your existing data processing code, but will be able to reduce the amount of code you require for training, and more easily take advantage of modern best practices. Here are migration guides from some popular libraries to help you on your way:

Windows Support

Due to python multiprocessing issues on Jupyter and Windows, num_workers of Dataloader is reset to 0 automatically to avoid Jupyter hanging. This makes tasks such as computer vision in Jupyter on Windows many times slower than on Linux. This limitation doesn’t exist if you use fastai from a script.

See this example to fully leverage the fastai API on Windows.

Tests

To run the tests in parallel, launch:

nbdev_test_nbs or make test

For all the tests to pass, you’ll need to install the following optional dependencies:

Contributing

After you clone this repository, please run nbdev_install_git_hooks in your terminal. This sets up git hooks, which clean up the notebooks to remove the extraneous stuff stored in the notebooks (e.g. which cells you ran) which causes unnecessary merge conflicts.

Before submitting a PR, check that the local library and notebooks match. The script nbdev_diff_nbs can let you know if there is a difference between the local library and the notebooks.

Docker Containers

For those interested in official docker containers for this project, they can be found here.

Источник

Выполняем глубокое обучение быстро при помощи Fast AI

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Нейронные сети повсеместно используются для выполнения самых разных задач, можно даже сказать, что это самый настоящий «универсальный солдат». Однако, может показаться, что начать работать с нейросетями довольно сложно, несмотря на наличие огромного количества информации в источниках, существование готовых фреймворков, например, tensorflow, pytorch и других.

И всё же, существует инструмент, позволяющий легко совершить «быстрый старт» и опробовать нейронные сети в деле самостоятельно – это fast ai. Вообще, fast ai – это прежде всего группа исследователей, занимающихся вопросами искусственного интеллекта и глубокого обучения в частности, которая выпустила одноимённую библиотеку в свободное пользование в 2018 году. Если говорить простыми словами – fast ai представляет собой надстройку над упомянутым выше фреймворком pytorch и упрощает работу с ним, делает это быстрее. Отсюда и слово «быстро» в названии статьи.

Пожалуй, перейдём к практике и покажем, насколько просто работать с fast ai на простом примере задачи классификации изображений – постараемся обучить нейронную сеть различать две модели автомобильной марки Subaru: Impreza и Legacy. Как и обычно, в первую очередь выполняем установку библиотеки, выполнив в консоли команду:

Сразу же убедимся в том, что библиотека была успешно установлена, выполнив команды:

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Если интерпретатор python не будет «ругаться», значит всё хорошо. После этого в папке нашего python-проекта мы создаём ещё одну папку, назовём её images, куда будем сохранять изображения. В интернете мы нашли около двух сотен изображений интересующих нас автомобилей. Ракурсы немного разные, однако на всех фото видна передняя часть. Виды задней части мы не будем использовать, поскольку это усложнит задачу и потребует большего количества изображений. В папке images были созданы ещё две папки – Legacy и Impreza, куда мы поместим изображения соответствующих моделей:

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Содержимое папки Impreza:

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Содержимое папки Legacy:

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Хранение изображений объектов разных классов в отдельных папках, во-первых, более удобно визуально и в плане добавления новых классов, во-вторых, позволит без лишних сложностей производить классификацию объектов нескольких классов.

Перейдём к коду. Начнём с импорта необходимых классов:

Далее укажем путь к сохранённым изображениям:

Теперь необходимо написать функцию, которая позволит классификатору корректно разметить обучающую выборку изображений, но к этому мы вернёмся позже. Создаём объект класса DataBlock, являющийся контейнером, содержащим информацию о наших данных и о предобработке, которую нужно осуществить:

Параметру blocks мы передаём типы наших данных – изображения и категории (классы), get_items – название функции, которая выбирает все находящиеся в папке images изображения, splitter – как разделить выборку на тренировочную и тестовую (в данном случае – рандомно), get_y – функция для разметки изображений обучающей выборки, как раз то, о чём мы говорили выше. Остановимся здесь подробнее. Чтобы понять, как написать эту функцию, посмотрим, что возвращает get_image_files():

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Это список, содержащий пути ко всем изображениям обучающей выборки. Поскольку в качестве выходных значений мы хотим видеть наименование класса (модели автомобиля), label_function должна возвращать название папки, в которой находится конкретное изображение:

Параметр item_tfms – как обработать изображения, здесь мы уменьшаем изображения до размера 224х224 (все изображения должны быть одного размера) и указываем метод, применяемый для изменения размера. ResizeMethod.Pad заполнит «пустые» части изображения (у большинства изображений не совпадает ширина и высота) зеркально, относительно границы изображения:

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Возможно, мы хотим повернуть изображения на 45 градусов, для этого будем использовать класс Rotate(), указав для параметров max_deg, p и draw значения 45, 1.0 и 45 соответственно. Это означает, что все изображения (p=1.0) будут обязательно повёрнуты на 45 градусов (draw=45, max_deg=45). Если не изменять значение параметра draw по умолчанию (None), изображение будет повёрнуто на угол от –max_deg до max_deg, но не более. Если изменить значение параметра pad_mode, можно увидеть, как заполняется появившееся при повороте изображения пустое пространство. Для значений “zeros”, “border” и “reflection” соответственно:

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Чтобы обесцветить изображение, можно воспользоваться классом Saturation(), передав параметрам max_lighting, p и draw значения 0.0, 1.0 и 0.0 (по аналогии с Rotate()):

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

В случае необходимости применения группы преобразований, следует воспользоваться функцией setup_aug_tfms:

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Также существует возможность применить прочие трансформации, но в данном примере ограничимся изменением размера изображений.

Вызываем метод dataloaders() и передаём путь к папке с изображениями:

Это подготовит данные для модели. Теперь мы можем посмотреть, верно ли прошла разметка:

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Как видим, всё отработано корректно. Теперь осталось произвести обучение нейронной сети. Библиотека fast ai предоставляет возможность сконфигурировать свою нейронную сеть, но мы в данном примере воспользуемся предобученной свёрточной нейросетью resnet34, которая подходит для классификации изображений:

У cnn_learner довольно много параметров, выше мы передали значения самым основным – dls (объект data loaders), arch (архитектура нейронной сети), metrics (метрики). Возможно, возникнет необходимость изменить параметр lr (learning rate), отвечающий за скорость обучения нейронной сети – чем выше значение lr, тем быстрее обучение, но снижается точность, и наоборот. Следует избегать слишком низких значений lr, поскольку помимо снижения скорости обучения это влечёт вероятность переобучения нейронной сети. Значение по умолчанию 0.001. Ещё один из параметров, которые мы рассмотрим – opt_func (оптимизатор), который используется для достижения лучших результатов обучения. По умолчанию, предлагается использовать оптимизатор Adam. В fast ai помимо Adam реализованы SGD, RMSProp, RAdam, QHAdam, LARS/LARC, LAMB.

Продолжим с оптимизатором Adam, вызываем метод fine_tune для обучения нейронки под нашу задачу:

За 10 эпох мы достигли довольно неплохих результатов:

Источник

Анализируем тональность текстов с помощью Fast.ai

В статье пойдет речь о классификации тональности текстовых сообщений на русском языке (а по сути любой классификации текстов, используя те же технологии). За основу возьмем данную статью, в которой была рассмотрена классификация тональности на архитектуре CNN с использованием Word2vec модели. В нашем примере будем решать ту же самую задачу разделения твитов на позитивные и негативные на том же самом датасете с использованием модели ULMFit. Результат из статьи (average F1-score = 0.78142) примем в качестве baseline.

Введение

Модель ULMFIT была представлена разработчиками fast.ai (Jeremy Howard, Sebastian Ruder) в 2018 году. Суть подхода состоит в использовании transfer learning в задачах NLP, когда вы используете предобученные модели, сокращая время на обучение своих моделей и снижая требования к размерам размеченной тестовой выборки.

Схема обучения в нашем случае будет выглядеть так:

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Смысл языковой модели — уметь предсказывать следующее слово в последовательности. Длинные связные тексты таким образом получить проблематично, но тем не менее языковые модели способны улавливать свойства языка, понимать контекст использования слов, поэтому именно языковая модель (а не, например, векторное отображение слов) является основой технологии. Для задачи моделирования языка ULMFit использует архитектуру AWD-LSTM, которая предполагает активное использование dropout везде, где только можно и имеет смысл. Тип обучения языковой модели иногда называют semi-supervised learning, поскольку меткой здесь является следующее слово и ничего руками размечать не нужно.

В качестве предобученной языковой модели будем использовать чуть ли не единственно доступную публично.
Пройдемся по алгоритму обучения с самого начала.

Загружаем библиотеки (проверяем версию Fast.ai на случай каких-либо несовместимостей):

Готовим данные для обучения

По аналогии будем проводить обучение на корпусе коротких текстов RuTweetCorp Юлии Рубцовой, сформированный на основе русскоязычных сообщений из Twitter. Корпус содержит 114 991 позитивных твитов и 111 923 негативных твитов в формате CSV. Кроме того есть база неразмеченных твитов объемом 17 639 674 записей в формате SQL. Задачей нашего классификатора будет определение, является ли твит позитивным или негативным.

Поскольку дообучать языковую модель на 17 млн. твитах было долго и лень была задача показать возможности transfer learning, дообучать языковую модель будем на кусочке текстов из training датасета, полностью игнорируя базу неразмеченных твитов. Вероятно, используя эту базу для «заточки» языковой модели, можно улучшить общий результат.

Формируем датасеты для обучения и тестирования с предварительной обработкой текстов. Код берем из исходной статьи:

Смотрим что получилось:

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Обучаем языковую модель

Смотрим на содержимое:

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Указываем ссылки на сохраненные веса предобученной модели и словарь:

Создаем learner, но перед этим — один костыль для fast.ai. Предобученная модель обучалась на более старой версии библиотеки, поэтому нужно поправить количество нод в скрытом слое нейросети.

Ищем оптимальный learning rate:

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это
Обучаем модель 3 эпохи (в модели здесь разморожена только последняя группа слоев).

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это
Размораживаем модель, обучаем еще 5 эпох с меньшим learning rate:

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Пробуем генерацию текста на обученной модели.

Видим — кое что у модели получается. Но наша основная задача — классификация и для ее решения мы возьмем из модели кодировщик.

Обучаем классификатор

Загружаем данные для обучения

Посмотрим на данные, видим что метки успешно считались (0 означает негативный, а 1 — позитивный комментарий):

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Создаем learner с аналогичным костылем:

Загружаем encoder, обученный на предыдущем этапе и замораживаем модель, кроме последней группы весов:

Ищем оптимальный learning rate:

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это
Проводим обучение модели с постепенным размораживанием слоев.

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Видим, что на валидационной выборке добились accuracy = 80,1%.

Протестируем модель на комментарии ZlodeiBaal к моей предыдущей статье:

Видим, что модель отнесла этот комментарий к негативным 🙂

Проверяем модель на тестовой выборке

Основная задача на этом этапе — проверить модель на способность к генерализации. Для этого мы валидируем модель на наборе данных, хранящимся в DataFrame df_test, который до этого момента не был доступен ни для языковой модели, ни для классификатора.

Видим, что accuracy на тестовой выборке получился 79,7%.

Посмотрим на Confusion Matrix:

Fastai python что это. Смотреть фото Fastai python что это. Смотреть картинку Fastai python что это. Картинка про Fastai python что это. Фото Fastai python что это

Вычислим параметры precision, recall и f1 score.

Результат, показанный на тестовой выборке average F1-score = 0,80064.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *