Matlab Neural Network Toolbox를위한 Python OSS 대안. 상호 비교가 있습니까?


16

과학적인 작업을 위해 상용 소프트웨어와 독립하고 싶습니다. Matlab과 같은 상용 패키지 및 도구 상자와 같은 상용 패키지가 만족스럽지 못하다는 것을 알게되었습니다. 왜냐하면 나중에 Matlab에 액세스 할 수 있는지 알지 못하기 때문에 언어를 좋아하지 않기 때문입니다. 따라서 대안을 찾고 있습니다.

다행스럽게도 저는 파이썬에 능통하고 언어를 좋아하며 NumPy, SciPy, Matplotlib, Basemap 및 NetCDF 읽기 및 쓰기 루틴을 통해 대부분의 요구를 충족시킵니다. 대부분 — 피드 포워드 다층 퍼셉트론을 사용하여 인공위성 네트워크를 사용하여 위성 검색을 훈련해야 할 때 여전히 Matlab으로 돌아갑니다.

오픈 소스 소프트웨어에서는 드문 일이 아니므로 신경망을 수행하는 패키지가 둘 이상 있습니다. 상당히 둘 이상 :

  • 얼마 전 저는 "뉴럴 네트워킹을위한 스위스 군용 칼"인 PyBrain을 사용해 보았지만 짧은 시간 (개발 시간과 런타임 모두)에서 만족스러운 결과를 얻지 못했습니다. 어쩌면 나는 충분히 열심히 노력하지 않았거나 아마도 나의 정확한 요구에 맞지 않았을 것입니다.

  • 그냥 지금라는 패키지가 발견 neurolab 약속 보인다 : 파이썬위한 간단하고 강력한 신경 네트워크 라이브러리 와, MATLAB에서 신경망 도구 상자 (NNT) 같은 API .

  • 파이썬 을 위한 빠르고 사용하기 쉬운 피드 포워드 신경망 훈련 솔루션 인 FFnet 이 있습니다

  • 거기에 simplenn

  • 이 복숭아 하는 전산 지능과 기계 학습을위한 라이브러리

  • 이 인공 지능 인공 신경망 라이브러리 인 FANN 에 대한 파이썬 바인딩 이이 StackOverflow post의 사실상 표준 으로 설명되어 있습니다.

  • 아마도 다른 사람들이있을 것입니다.

누구나 사용하기 쉽고 속도 등의 기준에 따라 다른 옵션을 비교하려고 노력한 적이 있습니까? 내 자신의 유스 케이스는 위성 검색입니다. 예를 들어 많은 변수의 강력한 비선형 함수에 적합합니다. 나는 매우 신경망 사용자 입니다. 나는 그들의 내면의 연구에 관심이 없습니다.

Stats.SE에 대한이 질문 은 관련이 있지만 다른 초점입니다.


귀하의 질문은 매우 흥미롭지 만 너무 많이 요구하는 것 같습니다. 파이썬에서 다른 신경망 소프트웨어에 대한 포괄적 인 평가가이 포럼에서 너무 광범위하게 대답 할 수 없습니다. 질문의 초점을 관심있는 특정 기준 및 소프트웨어로 좁히는 것이 도움이 될 수 있습니다.
— Paul

또한 귀하의 질문 이 너무 오래 되어 이전 할 수 없습니다 . 질문에 다른 SE 사이트가 더 적합하다고 생각되면이 사이트를 삭제하고 다른 사이트에 다시 게시해야합니다. 질문을 다시 게시하더라도 여전히 좋은 답변을 얻을 가능성을 높이기 위해 질문의 범위를 좁히는 것이 최선의 방법이라고 생각합니다.
— Paul

파이썬은 아니지만 현재 신경 네트워크에 카페를 사용하고 있습니다. 주로 컨볼 루션 신경망 (convolutional neural network)을위한 것이지만, 기존의 NN을 설정하는 것이 훨씬 쉽습니다.
— Siyuan Ren

답변:


1

Did you check out scikit-learn? It's totally not my domain but I have heard some very positive user experiences...


범주에 속 할지도 모릅니다 . 목록에 다른 라이브러리를 추가해도 문제가 해결되지는 않지만, 내가보고 싶은 상호 비교의 범위가 확장됩니다.
— gerrit

글쎄, 내가 듣고 읽은 것에서 scikit-learn의 장점은 그것이 많은 방법을 포함하는 프레임 워크라는 것입니다. 아마도 문제에 적용된 방법을 비교할 때 작업이 쉬워 질 것입니다.
— GertVdE

3
scikit-learn에는 신경망 방법이 포함되어 있지 않으며 인공 신경망 모델은 0.12에서 제거되었으며 해당 기능이 필요한 사용자가 PyBrain으로 전환 할 때 권장했습니다.
— Aron Ahmadia

1

Theano 를 보았 습니까? 꽤 강력한 것 같습니다 .


1
실제로 Theano는 매우 강력합니다. 그러나 파이썬 코드를 작성하여 GPU에서 컴파일하고 실행할 수있는 컴파일러 (또는 프레임 워크)입니다. Theano 는 NN을 구현하는 데 사용할 수 있지만 ML 라이브러리는 아닙니다.
— Artem Sobolev

1

나도 Matlab의 신경망을 파이썬에서 사용했다. 파이썬에서 가장 강력한 라이브러리 중 하나는 "Pylearn2" http://deeplearning.net/software/pylearn2/ 입니다. 현재이 라이브러리는 가장 활성화 된 라이브러리이며 다양한 기능을 실험 할 수 있습니다. Theano를 기반으로하며 빠르며 GPU에서 실행될 수 있습니다. 불행히도 이것은 단점이기도합니다. API는 끊임없이 변화하고 있으며 학습 곡선이 높습니다. YAML 파일을 사용하여 신경망을 구성해야합니다. 기본 신경망을 만들기 위해 PyBrain을 사용하여 더 많은 성공을 거두었습니다. 기상 요인에 따라 발전소의 부하를 예측해야하는 회귀 문제에 대한 솔루션이 필요했습니다. 여기에 가이드 : http://fastml.com/pybrain-a-simple-neural-networks-library-in-python/ 내가 필요한 솔루션의 90 %를 주었다.

PyBrain에서 찾은 한 가지 문제는 속도였습니다. 기본적으로 파이썬으로 작성되었습니다. 신경망 교육이 Matlab보다 ~ 50 배 느리다는 것을 알았습니다. 다른 일부는 Arac 라이브러리를 사용하여 PyBrain의 교육 프로세스 속도를 높이는 데 성공했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.