Utilizzare sklearn o tensorflow per le reti neurali?


7

Ho appena iniziato a studiare le reti neurali per l'apprendimento approfondito da CS231. Sto cercando di implementare Neural Network in Python. Sto cercando di usare Tensorflow o scikit-learn. Quali sono alcuni pro e contro di queste librerie per questa applicazione?

Risposte:


11

Sklearn non ha molto supporto per Deep Neural Networks. Tra i due, poiché sei interessato all'apprendimento profondo , scegli tensorflow .

Tuttavia, suggerirei di utilizzare keras , che utilizza tensorflow come backend, ma offre un'interfaccia più semplice.


4

Nel corso del cs231n, per quanto mi ricordi, passi la maggior parte del tempo a implementare tu stesso le reti neurali usando solo NumPy! è stata sicuramente un'esperienza di apprendimento straordinaria per me.

Dopodiché, negli ultimi incarichi, devi sicuramente guardare TensorFlow ( esempi ) o Pytorch ( esempi ) per costruire reti più complicate. Queste strutture sono state costruite da persone come quelle che creano corsi come CS231n - ricercatori ed esperti del settore.

Il modulo di rete neurale SciKit Learn è costituito da reti feed-forward per classificazione o regressione, ma niente di più fantasioso, come reti convoluzionali (CNN), reti ricorrenti (RNN) o altri componenti più esotici, come funzioni di attivazione separate.

Concordo con Djib2011 sul fatto che Keras sia un'ottima alternativa per iniziare e che ti consentirà di scegliere tra backend TensorFlow, CNTK o Theano. Keras è un bel involucro uniforme attorno a tutti e tre i framework dei mostri, quindi ti consente di mettere le cose in moto molto velocemente. Ecco un confronto relativamente recente e utile tra Keras e Pytorch

Una volta che avrai familiarità con uno strumento come Keras, sarà più veloce usarlo rispetto alle semplici offerte di SciKit Learn.


So che non hai chiesto di PyTorch, ma ho pensato di menzionarlo, in quanto uno dei creatori originali di CS231n, Andrej Karpathy, afferma che è il miglior framework ( fonte 1 , fonte 2 ).


Mentre parliamo di Pytorch: è molto al di sopra di altri framework quando si tratta di reti ricorrenti a lunghezza variabile
Evpok,

@Evpok - Probabilmente dovremmo anche menzionare che Tensorflow ora supporta le reti dinamiche usando la sua tf.eagerAPI, che è paragonabile a PyTorch.
n1k31t4,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.