Właśnie zacząłem uczyć się sieci neuronowych do głębokiego uczenia się od cs231. Próbuję zaimplementować sieć neuronową w języku Python. Patrzę na używanie Tensorflow lub scikit-learn. Jakie są zalety i wady tych bibliotek dla tej aplikacji?
źródło
Właśnie zacząłem uczyć się sieci neuronowych do głębokiego uczenia się od cs231. Próbuję zaimplementować sieć neuronową w języku Python. Patrzę na używanie Tensorflow lub scikit-learn. Jakie są zalety i wady tych bibliotek dla tej aplikacji?
O ile pamiętam, w kursie cs231n większość czasu spędzasz samodzielnie, wdrażając sieci neuronowe, używając tylko NumPy! było to dla mnie niesamowite doświadczenie edukacyjne.
Następnie, w ostatnich zadaniach, zdecydowanie musisz spojrzeć na TensorFlow ( przykłady ) lub Pytorch ( przykłady ), aby zbudować bardziej skomplikowane sieci. Ramy te zostały zbudowane przez ludzi takich jak osoby tworzące kursy, takie jak CS231n - naukowców i ekspertów branżowych.
SciKit Więcej neuronowych moduł sieciowy składa się z sieci zasilających w przód dla obu klasyfikacji lub regresji, ale nie hodowcy, takich jak sieci splotowych (CNNs), sieci nawracające (RNNs) lub inne składniki, bardziej egzotyczne, takie jak rozdzielenie funkcji aktywujących.
Zgadzam się z Djib2011, że Keras jest świetną alternatywą na początek - i pozwoli ci wybierać między TensorFlow, CNTK lub Theano jako backend. Keras to fajne, jednolite opakowanie dla wszystkich trzech szkieletów potworów, więc pozwól, aby wszystko zaczęło działać bardzo szybko. Oto bardzo aktualne i przydatne porównanie Keras z Pytorch
Po zaznajomieniu się z narzędziem takim jak Keras korzystanie z niego będzie szybsze niż proste oferty w SciKit Learn.
Wiem, że nie pytałeś o PyTorch, ale pomyślałem, że wspomnę o tym, ponieważ jeden z oryginalnych twórców CS231n, Andrej Karpathy, twierdzi, że jest to najlepszy framework ( źródło 1 , źródło 2 ).
tf.eager
interfejsu API, który jest porównywalny z PyTorch.