Я щойно почав вивчати нейронні мережі для глибокого навчання з cs231. Я намагаюся реалізувати Нейронну мережу в Python. Я дивлюся на використання Tensorflow або scikit-learn. Які плюси і мінуси цих бібліотек для цього додатка?
Я щойно почав вивчати нейронні мережі для глибокого навчання з cs231. Я намагаюся реалізувати Нейронну мережу в Python. Я дивлюся на використання Tensorflow або scikit-learn. Які плюси і мінуси цих бібліотек для цього додатка?
Відповіді:
У курсі cs231n, наскільки я пам’ятаю, ви витрачаєте більшу частину часу на реалізацію нейронних мереж, не використовуючи нічого, крім NumPy! це, безумовно, було для мене дивовижним досвідом навчання.
Після цього в останніх завданнях вам обов'язково потрібно подивитися або на TensorFlow ( приклади ), або на Pytorch ( приклади ) для створення більш складних мереж. Ці рамки були побудовані людьми на кшталт тих, хто створює такі курси, як CS231n - дослідники та експерти галузі.
SciKit Learn нейронний мережевий модуль складається з подають вперед мереж для будь-якої класифікації або регресії, але нічого більш вигадливого, таких як згорткові мережі (CNNs), рецидивний мережі (RNNs) або інших більш екзотичних компоненти, таких як окремі функції активації.
Я погоджуюся з Djib2011, що Keras - це чудова альтернатива для початку - і дозволить вам вибрати між TensorFlow, CNTK або Theano як бекенд. Керас - це приємна рівномірна обгортка навколо всіх трьох каркасів монстрів, тому давайте вам дуже швидко налаштувати та працювати. Ось репрезентативно недавнє та корисне порівняння Кераса з Піторхом
Після того, як ви ознайомитеся з таким інструментом, як Keras, скористатися цим буде швидше, ніж прості пропозиції в SciKit Learn.
Я знаю, що ви не питали про PyTorch, але я подумав, що це згадаю, оскільки один з оригінальних творців CS231n, Андрій Карпаті, каже, що це найкращий фреймворк ( джерело 1 , джерело 2 ).
tf.eager
api, порівнянні з PyTorch.