Обзор фреймворков глубокого обучения и преимущества PyTorch (Deep Learning)

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Рейтинг фреймворков DL в соответствии с данными Statista:

1. TensorFlow.

2. Keras.

3. PyTorch.

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

+ Keras рекламирует себя как библиотека для прототипирования. То есть вы сможете очень быстро написать и попробовать модель в действии. Keras - это не самостоятельная библиотека. Keras работает поверх TensorFlow, Theano и CNTK.

+ PyTorch - это мощная библиотека для проведения исследований. С PyTorch ваше воображение не ограничено: пишите функции активации, новые слои, меняйте алгоритм дифференцирования. Согласно ряду исследований (например, по данным PapersWithCode), в последние годы она все более набирает популярность.

Преимущества PyTorch:

1. Логика фреймворка отвечает логике вычислений. В TensorFlow ваше понимание заканчивается на model.compile и ничего не видно, что происходит. Остается впечатление, что вы ничем не управляете, в отличие от PyTorch. Конечно, PyTorch требует больше кода чем TensorFlow, но вы понимаете, что происходит. Вы контролируете каждый шаг фреймворка.

2. Императивность и декларативность. Прежде всего, что такое императивность. Пример императивный команды: "Принеси мне чай!". Вы указываете, что нужно сделать без декларирования как это нужно сделать. Пример декларативный команды: "Возьми стакан чая. Обойди стол. Поставь стакан на стол". В декларативной модели вы описываете, что нужно сделать, в императивный команде вы приказываете, что делать. Нельзя сказать, что PyTorch использует только императивную модель, потому что вы декларируете модель. Но PyTorch более императивный, чем TensorFlow и это очень большой комфорт для программиста.

3. Возможность немедленного исполнения команды или говоря языком TensorFlow - eager execution. Это означает, что вы можете исполнить инструкцию программы и результат сразу будет выведен в ячейку Jupyter Notebook. TensorFlow 2.0 имеет эту функцию, но в PyTorch она была встроена с самого основания. Можно сказать, что TensorFlow копирует лучшие практики PyTorch.

4. Расширяемость. PyTorch и здесь показывает себя очень хорошо. Возможность расширить PyTorch, используя Python. В TensorFlow вам нужно знать C++ для того, чтобы написать свою функцию со своим алгоритмом дифференцирования.

5. В PyTorch программирование происходит в стиле Python. Есть писанные и неписанные правила, что такое программирование в стиле Python. Когда говорят о коде, который соответствует этим стандартам, то говорят, что это "pythonic way стиль программирования". Говоря про писанные правила, вы можете посмотреть PEP и особенно обратите внимание на "The Zen of Python" PEP 20, который является собранием мудрости для программиста. TensorFlow больше похож на Python, написанный в стиле C++. Вы скоро поймете, что pythonic way - это простота и комфорт.

6. PyTorch не так уж и плох на сервере в рабочем режиме. Благодаря JIT compiler, вы просто ставите декоратор над функцией и декоратор конвертирует вашу функцию в нативный C++ код, что улучшает производительность работы. Декоратор - это функция, которая вызывает функцию, которая она декорирует и производит операции над функцией перед вызовом. Например, конвертирует ее в более быстрый формат.

7. Работать в PyTorch приятно и комфортно. Есть англоязычный форум, который в России работает только через VPN. Советую не жалеть денег на VPN и посетить этот замечательный форум, где люди, которые пишут фреймворк, готовы помочь. Кроме этого Facebook, создатель PyTorch, проводит образовательные программы и выделяет стипендии. Если у вас не работает модель, то StackOverflow покрывает множество проблем, которые у вас могут возникнуть с PyTorch.


Источник: vk.com

Комментарии: