Асинхронная загрузка больших датасетов в Tensorflow |
Глубокие нейронные сети сейчас модная тема.
В Сети много тюториалов и видеолекций, и других материалов обсуждающих
основные принципы, архитектуру, стратегии обучения и т.д. Традиционно, обучение нейронных сетей производится путем предявления нейронной сети пакетов
изображений из обучающей выборки и коррекции коэффициентов этой сети
методом обратного распространения ошибки. Одним из
наиболее популярных инструментов для работы с нейронными сетями является
библиотека Tensorflow от Google.
Нейронная сеть в Tensorflow представляется последовательностю операций-слоев
(таких как перемножение матриц, свертка, пулинг и т.д.). Слои нейронной сети совместно
с операциями корректировки коэффициентов образуют граф вычислений.
Процесс обучения нейронной сети при этом заключается в "предъявлении" нейронной
сети пакетов объектов, сравненнии предсказанных классов с истинными, вычисления
ошибки и модификации коэффицентов нейронной сети.
При этом Tensoflow скрывает технические подробности обучения и реализацию алгоритма корректировки
коэффицентов, и с точки зрения программиста можно говорить в основном только о графе вычислений,
производящем "передсказания".
Сравните граф выченслений о котором думает программист
с графом который в том числе выполняет подстройку коэффициенотов
.
Но что Tensorflow не может сделать за программиста, так это преобразовать входной
датасет в датасет удобный для треннировки нейронной сети. Хотя библиотека имеет
представленно довольно много "базовых блоков".
Как с их использованием построить эффективный конвеер для "питания"
(англ feed) нейронной сети входными данными я и хочу расскажу в этой статье.
Комментировать | « Пред. запись — К дневнику — След. запись » | Страницы: [1] [Новые] |