Евгений Штольц - Машинное обучение на практике – от модели PyTorch до Kubeflow в облаке для BigData

Тут можно читать онлайн Евгений Штольц - Машинное обучение на практике – от модели PyTorch до Kubeflow в облаке для BigData - бесплатно ознакомительный отрывок. Жанр: Прочая научная литература, год 2021. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Евгений Штольц - Машинное обучение на практике – от модели PyTorch до Kubeflow в облаке для BigData краткое содержание

Машинное обучение на практике – от модели PyTorch до Kubeflow в облаке для BigData - описание и краткое содержание, автор Евгений Штольц, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
В этой книге Главный Архитектор Департамента Архитектуры Управления Технической Архитектуры (Центра Облачных Компетенций Cloud Native и Корпоративного университета архитекторов) и архитектор решения Сбербанка делится знаниями и опытом с читателей в области ML, полученных в работе Школе архитекторов. Автор:
* проводит читателя через процесс создания, обучения и развития нейронной сети, показывая детально на примерах
* повышает кругозор, показывая, какое она может занимать место в BigData с точки зрения Архитектора
* знакомит с реальными моделями в продуктовой среде

Машинное обучение на практике – от модели PyTorch до Kubeflow в облаке для BigData - читать онлайн бесплатно ознакомительный отрывок

Машинное обучение на практике – от модели PyTorch до Kubeflow в облаке для BigData - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Евгений Штольц
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

* три входа, два слоя по четыре полносвязных нейрона и два выхода Deep Feed Forward (DFF);

* глубокие нейронные сети;

* сеть экстремального распространения – сеть со случайными связями (нейронная эхо–сеть).

Cвёрточные нейронные сети:

* традиционные свёрточные нейронные сети (CNN) – классификация изображений;

* развёртывающие нейронные сети – генерация изображений по типу;

* глубинные свёрточные обратные графические сети (DCEGC) – соединение свёрточной и развёртывающей нейронных сетей для преобразования или объединения изображений.

Рекуррентные нейронные сети:

* рекуррентные нейронные сети – сети с памятью у нейронов для анализа последовательностей, в которых последовательность имеет значение, таких как текст, звук и видео;

* сети с долгой краткосрочной памятью (LSTM) – развитие рекуррентных нейронных сетей, в которых нейроны могут классифицировать данные, какие стоит запомнить в долгоживущую память от тех, которые стоит забыть и удалить информацию из памяти о них;

* глубокие остаточные сети – сети со связями между слоями (по работе сходны с LSTM);

* управляемые рекуррентные нейроны (GRU).

Основы для написания сетей.

До 2015 года с большим отрывом лидировала scikit–learn, которую догонял Caffe, но с выходом TensorFlow он сразу стал лидером. Со временем только набирая отрыв с двухкратного на трёхкратный к 2020 году, когда на GitHub набралось более 140 тысяч проектов, а у ближайшего конкурента чуть более 45 тысяч. На 2020 году по убывающей расположились Keras, scikit–learn, PyTorch (FaceBook), Caffe, MXNet, XGBoost, Fastai, Microsoft CNTK (CogNiive ToolKit), DarkNet и ещё некоторые менее известные библиотеки. Наиболее популярными для отрытых проектов на GitHub можно выделить библиотеку PyTorch и TenserFlow. Если смотреть на количество звёздочек на GitHub по библиотекам, то на 2020 год тысяч звёздочек:

* TenserFlow: 153 * Keras: 51 * PyTorch: 46 * Sckit-learn: 45 * Caffe: 31 * MXNet: 19 * CNTK: 17 * Theane: 9 * Caffe2: 8

PyTorch хорошо для прототипирования, изучения и испробования новых моделей. TenserFlow популярен в производственной среде, а проблема низкого уровня описания решается с помощью Keras:

* FaceBook PyTorch – хороший вариант для обучения и прототипирования из–за высокого уровня и поддержки различных сред, динамический граф, может дать преимущества при обучении. Используется в Twitter, Salesforce.

* Google TenserFlow – имел изначально статический граф решения, ныне поддерживается и динамический. Используется в Gmail, Google Translate, Uber, Airbnb, Dropbox. Для привлечения использования в облаке Google под него внедряется аппаратный процессор Google TPU (Google Tensor Processing Unit).

* Keras является высокоуровневой настройкой, обеспечивающей больший уровень абстракции для TensorFlow, Theano или CNTK. Хороший вариант для обучения. К примеру, он позволяет не указывать размерность слоёв, вычисляя её сам, позволяя разработчику сосредоточиться на слоях архитектуры. Обычно используется поверх TenserFlow. Код на нём поддерживается Microsoft CNTK.

Так же имеются более специализированные фреймворки:

* Apache MXNet (Amazon) и высокоуровневая надстройка для него Gluon. MXNet – фреймворк с акцентом на масштабирование, поддерживает интеграцию с Hadoop и Cassandra. Поддерживается C++, Python, R, Julia, JavaScript, Scala, Go и Perl.

* Microsoft CNTK имеет интеграции с Python, R, C#, благодаря тому что большая часть кода написана на С++. То, что вся основа написана на С++, не говорит о том, что CNTK будет обучать модель на C++, а TenserFlow на Python (который медленный), так как TenserFlow строит графы и уже его выполнение осуществляется на C++. Отличается CNTK от Google TenserFlow и тем, что он изначально был разработан для работы в кластерах Azure с множеством графических процессоров, но сейчас ситуация выравнивается и TenserFlow поддерживает кластера.

* Caffe2 – фреймворк для мобильных сред.

* Sonnet – надстройка DeepMind поверх TensorFlow для обучения сверх глубоких нейронных сетей.

* DL4J (Deep Learning for Java) – фреймворк с акцентом на Java Enterprise Edition. Высока поддержка BigData на Java: Hadoop и Spark.

Со скоростью доступности новых предобученных моделей ситуация разнится и пока лидирует PyTorch. По поддержке сред, в частности публичных облаков, лучше у Фреймворках, продвигаемых вендерами этих облаков, так лучше поддержка TensorFlow лучше в Google Cloud, MXNet – в AWS, CNTK – в Microsoft Azure, D4LJ – в Android, Core ML – в iOS. По языкам общая поддержка в Python практически у всех, в частности TensorFlow поддерживает JavaScript, C++, Java, Go, C# и Julia.

Многие фреймворки поддерживают визуализацию TeserBodrd. Он представляет собой комплексный Web интерфейс многоуровневой визуализации состояния и процесса обучения и его отладки. Для подключения нужно указать путь к модели "tenserboard –logdir=$PATH_MODEL" и открыть localhost:6006. Управление интерфейсом основано на навигации по графу логических блоков и открытию интересующих блоков, для последующего повторения процесса.

Для экспериментов нам понадобится язык программирования и библиотека. Часто в качестве языка берут простой язык с низким порогом входа, такой как Python. Могут быть также и другие языки общего назначения, такие как JavaScript или специализированные, такие как язык R. Мы возьмём Python. Для того чтобы не ставить язык и библиотеки, воспользуемся бесплатным сервисом colab.research.google.com/notebooks/intro.ipynb, содержащим Jupyter Notebook. Notebook содержит в себе возможность не просто писать код с комментариями в консольном виде, а оформлять его в виде документа. Испробовать возможности Notebook можно в учебном плейбуке https://colab.research.google.com/notebooks/welcome.ipynb, такие как оформление текста на языке разметки MD, с формулами на языке разметки TEX, запуск скриптов на языке Python, вывод результатов их работы в текстовом виде и в виде графиков, используя стандартную библиотеку Python: NumPy(НамПай), matplotlib.pyplot. Сам Сolab представляет графическую карту Tesla K80 на 12 часов за раз (на сессию) бесплатно. Она поддерживает различные фреймворки глубокого машинного обучения, в том числе, Keras, TenserFlow и PyTorch. Цена же составляет GPU в Google Cloud:

Tesla T4: 1GPU 16GB GDDR6 0.35$/час Tesla P4: 1GPU 8GB GDDR5 0.60$/час Tesla V100: 1GPU 16GB HBM2 2.48$/час Tesla P100: 1GPU 16GB HBM2 1.46$/час

Попробуем. Перейдём по ссылке colab.research.google.com и нажмём кнопку "создать блокнот". У нас появится пустой Notebook. Можно ввести выражение:

10**3 / 2 + 3

и нажав на воспроизведение – получим результат 503.0. Можно вывести график параболы, нажав кнопку "+Код" в введя в новую ячейку код:

def F(x): return x*x import numpy as np import matplotlib.pyplot as plt x = np.linspace(–5, 5, 100) y = list(map(F, x)) plt.plot(x, y) plt.ylabel("Y") plt.xlabel("X")

Или выведя ещё и изображение:

import os !wget https://www.python.org/static/img/python–logo.png import PIL img = PIL.Image.open("python–logo.png") img

Популярные фреймворки:

* Caffe, Caffe2, CNTK, Kaldi, DL4J, Keras – набор модулей для конструирования;

* TensorFlow, Theano, MXNet – программирование графа;

* Torch и PyTorch – прописать основные параметры, а граф будет построен автоматически.

Рассмотрим работу библиотеки PyTorch (NumPy+CUDA+Autograd) из–за её простоты. Посмотрим на операции с тензорами – многомерными массивами. Подключим библиотеку и объявим два тензора: нажмём +Code, введём код в ячейку и нажмём выполнить:

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Евгений Штольц читать все книги автора по порядку

Евгений Штольц - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Машинное обучение на практике – от модели PyTorch до Kubeflow в облаке для BigData отзывы


Отзывы читателей о книге Машинное обучение на практике – от модели PyTorch до Kubeflow в облаке для BigData, автор: Евгений Штольц. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x