W swojej pracy naukowej chciałbym być niezależny od oprogramowania komercyjnego. Uzależnienie pakietów komercyjnych, takich jak Matlab i jego zestawy narzędzi, jest dla mnie niezadowalające, ponieważ nie wiem, czy będę mieć dostęp do Matlaba w przyszłości, a ponieważ nie podoba mi się ten język. Dlatego szukam alternatyw.
Na szczęście jestem dość biegły w Pythonie (i uwielbiam ten język), a dzięki procedurom odczytu i zapisu NumPy, SciPy, Matplotlib, Basemap i NetCDF spełnia większość moich potrzeb. Większość - wciąż wracam do Matlaba, kiedy muszę trenować pobieranie satelitów za pomocą wielowarstwowych perceptronów z przekazywaniem, np. Wykorzystują sztuczne sieci neuronowe.
Jak nie jest niczym niezwykłym w przypadku oprogramowania typu open source, istnieje więcej niż jeden pakiet obsługujący sieci neuronowe. Znacznie więcej niż jeden:
Jakiś czas temu wypróbowałem PyBrain , „szwajcarski scyzoryk do sieci neuronowych”, ale nie udało mi się uzyskać zadowalających rezultatów w krótkim czasie (zarówno w fazie rozwoju, jak i w czasie wykonywania). Być może nie starałem się wystarczająco mocno, a może nie jest tak naprawdę ukierunkowany na moją potrzebę.
Właśnie odkryłem, że istnieje pakiet o nazwie neurolab , który wygląda obiecująco: prosta i potężna biblioteka sieci neuronowych dla Pythona , z interfejsem API takim jak Neural Network Toolbox (NNT) od MATLAB .
Istnieje FFnet , szybkie i łatwe w użyciu rozwiązanie do uczenia sieci neuronowej z komunikacją zwrotną dla Pythona
Jest prostsze
Istnieje Peach , biblioteka dla inteligencji obliczeniowej i uczenia maszynowego
Istnieją powiązania Pythona z FANN , biblioteką Fast Artificial Neural Network , opisaną jako de facto standard w tym poście StackOverflow .
Prawdopodobnie są inni.
Czy ktoś przeszedł wysiłek porównania różnych opcji na podstawie takich kryteriów, jak łatwość użycia, szybkość itp.? Moim własnym przykładem użycia są wyszukiwania satelitarne, np. Dopasowanie silnie nieliniowej funkcji wielu zmiennych. Jestem bardzo użytkownikiem sieci neuronowych; Nie jestem zainteresowany badaniem ich wewnętrznego działania.
To pytanie dotyczące Stats.SE jest powiązane, ale z innym naciskiem.
źródło
Odpowiedzi:
Sprawdziłeś scikit-learn ? To zupełnie nie moja domena, ale słyszałem o bardzo pozytywnych doświadczeniach użytkowników ...
źródło
Czy spojrzałeś na Theano ? wydaje się dość potężny .
źródło
Ja również pochodziłem z używania sieci neuronowych w Matlabie do Pythona. Jedną z najpotężniejszych bibliotek w Pythonie jest „Pylearn2” http://deeplearning.net/software/pylearn2/ . Obecnie jest to najbardziej aktywna biblioteka i ma wiele różnych funkcji do eksperymentowania. Opiera się na Theano i jako taki jest szybki i można go uruchomić na GPU. Niestety jest to również jego wada: interfejs API ciągle się zmienia i ma wysoką krzywą uczenia się. Musisz również skonfigurować swoje sieci neuronowe przy użyciu plików YAML. Odniosłem większy sukces przy użyciu PyBrain do tworzenia podstawowych sieci neuronowych. Potrzebowałem rozwiązania problemu regresji, w którym musiałem prognozować obciążenie elektrowni na podstawie czynników pogodowych. Przewodnik tutaj: http://fastml.com/pybrain-a-simple-neural-networks-library-in-python/ dał mi 90% potrzebnego rozwiązania.
Jednym z problemów, które znalazłem w PyBrain, była prędkość. Jest napisany natywnie w Pythonie. Odkryłem, że trening sieci neuronowej jest ~ 50x wolniejszy niż Matlab. Niektórym udało się przyspieszyć proces szkolenia PyBrain dzięki bibliotece arac.
źródło