Обзор фреймворков глубокого обучения и преимущества PyTorch (Deep Learning) |
||
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2022-11-09 04:06 Рейтинг фреймворков 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 Комментарии: |
|