Haruskah menggunakan sklearn atau tensorflow untuk jaringan saraf?

7

Saya baru saja mulai belajar Neural Networks untuk pembelajaran mendalam dari cs231. Saya mencoba menerapkan Neural Network di Python. Saya melihat menggunakan Tensorflow atau scikit-belajar. Apa saja pro dan kontra dari perpustakaan ini untuk aplikasi ini?

Muaaz Arif
sumber

Jawaban:

11

Sklearn tidak memiliki banyak dukungan untuk Deep Neural Networks. Di antara keduanya, karena Anda tertarik belajar mendalam , pilih tensorflow .

Namun, saya menyarankan untuk menggunakan keras , yang menggunakan tensorflow sebagai backend, tetapi menawarkan antarmuka yang lebih mudah.

Djib2011
sumber
4

Dalam kursus cs231n, sejauh yang saya ingat, Anda menghabiskan sebagian besar waktu menerapkan jaringan saraf sendiri menggunakan apa pun kecuali NumPy! itu jelas merupakan pengalaman belajar yang luar biasa bagi saya.

Setelah itu, dalam tugas terakhir, Anda pasti perlu melihat TensorFlow ( contoh ) atau Pytorch ( contoh ) untuk membangun jaringan yang lebih rumit. Kerangka kerja ini dibangun oleh orang-orang seperti mereka yang menciptakan kursus seperti CS231n - peneliti dan pakar industri.

The SciKit Pelajari modul jaringan saraf terdiri dari jaringan umpan-maju baik untuk klasifikasi atau regresi, tapi tidak ada yang lebih menarik, seperti jaringan convolutional (CNNs), jaringan berulang (RNNs) atau komponen yang lebih eksotis lainnya, seperti fungsi aktivasi yang terpisah.

Saya setuju dengan Djib2011, bahwa Keras adalah alternatif yang bagus untuk memulai - dan akan membiarkan Anda memilih antara TensorFlow, CNTK atau Theano sebagai backend. Keras adalah pembungkus seragam yang bagus di sekitar ketiga kerangka monster itu, jadi mari kita bangun dan berjalan dengan sangat cepat. Berikut adalah perbandingan yang relatif baru dan bermanfaat dari Keras dengan Pytorch

Setelah Anda terbiasa dengan alat seperti Keras, akan lebih cepat untuk menggunakannya daripada penawaran sederhana di SciKit Learn.


Saya tahu Anda tidak bertanya tentang PyTorch, tetapi saya pikir saya akan menyebutkannya, sebagai salah satu pencipta asli CS231n, Andrej Karpathy, mengatakan ini adalah kerangka kerja terbaik ( sumber 1 , sumber 2 ).

n1k31t4
sumber
Sementara kita berbicara tentang Pytorch: itu jauh di atas kerangka kerja lain ketika datang ke jaringan berulang variabel-panjang
Evpok
@Evpok - Kita mungkin juga harus menyebutkan bahwa Tensorflow sekarang mendukung jaringan dinamis menggunakan apinya tf.eager, yang sebanding dengan PyTorch.
n1k31t4