Чи слід використовувати sklearn або tensorflow для нейронних мереж?


7

Я щойно почав вивчати нейронні мережі для глибокого навчання з cs231. Я намагаюся реалізувати Нейронну мережу в Python. Я дивлюся на використання Tensorflow або scikit-learn. Які плюси і мінуси цих бібліотек для цього додатка?

Відповіді:


11

Sklearn не має великої підтримки для Deep Neural Networks. Серед двох, оскільки вас цікавить глибоке навчання , виберіть тенсорфлоу .

Однак я б запропонував перейти з керами , які використовують тензорфлоу як резервний, але пропонують більш простий інтерфейс.


4

У курсі cs231n, наскільки я пам’ятаю, ви витрачаєте більшу частину часу на реалізацію нейронних мереж, не використовуючи нічого, крім NumPy! це, безумовно, було для мене дивовижним досвідом навчання.

Після цього в останніх завданнях вам обов'язково потрібно подивитися або на TensorFlow ( приклади ), або на Pytorch ( приклади ) для створення більш складних мереж. Ці рамки були побудовані людьми на кшталт тих, хто створює такі курси, як CS231n - дослідники та експерти галузі.

SciKit Learn нейронний мережевий модуль складається з подають вперед мереж для будь-якої класифікації або регресії, але нічого більш вигадливого, таких як згорткові мережі (CNNs), рецидивний мережі (RNNs) або інших більш екзотичних компоненти, таких як окремі функції активації.

Я погоджуюся з Djib2011, що Keras - це чудова альтернатива для початку - і дозволить вам вибрати між TensorFlow, CNTK або Theano як бекенд. Керас - це приємна рівномірна обгортка навколо всіх трьох каркасів монстрів, тому давайте вам дуже швидко налаштувати та працювати. Ось репрезентативно недавнє та корисне порівняння Кераса з Піторхом

Після того, як ви ознайомитеся з таким інструментом, як Keras, скористатися цим буде швидше, ніж прості пропозиції в SciKit Learn.


Я знаю, що ви не питали про PyTorch, але я подумав, що це згадаю, оскільки один з оригінальних творців CS231n, Андрій Карпаті, каже, що це найкращий фреймворк ( джерело 1 , джерело 2 ).


Поки ми говоримо про Pytorch: він набагато вищий за інші рамки, коли мова йде про періодичні мережі змінної довжини
Evpok

@Evpok - Напевно, слід також зазначити, що Tensorflow тепер підтримує динамічні мережі, використовуючи свої tf.eagerapi, порівнянні з PyTorch.
n1k31t4
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.