가정용 AI 학습 / 실험을위한 오픈 소스 도구?


9

NEAT (neural net evolution)로 실험하고 싶습니다. 나는 90 년대에 C ++로 GA와 신경망 코드를 작성하여 놀았지만 DIY 접근법은 결국 노동 집약적 인 것으로 판명되었습니다.

그 이후로 많은 것들이 바뀌었고, 매우 흥미로운 오픈 소스 라이브러리와 도구가 많이 있습니다. 다른 오픈 소스 라이브러리 (예 : DEAP)를 Google에 검색했지만 적절한 라이브러리를 선택하는 데 도움이 될 수 있습니다 ...

  • 나는 무슨 일이 일어나고 있는지 (신경 순 상태, 인구 적합성) 또는 최종 결과 (그래프 등)를 시각화하는 코드를 작성하는 데 많은 시간을 보냈습니다.

    어쩌면 이것은 별도의 오픈 소스 라이브러리로 수행해야 할 수도 있지만 시각화 지원은 문제 / 해결에 더 많은 시간을 할애하고 구현 세부 사항에 더 적은 시간을 할애 할 수있는 것입니다.
  • C / C ++, Java, C #, Python, Javascript 및 기타 몇 가지를 알고 있습니다. 고급 언어와 가정용 하드웨어의 우수한 성능간에 좋은 균형을 유지하는 것이 좋은 선택입니다.

경험이있는 사람이 훌륭한 오픈 소스 라이브러리 또는 도구 세트를 제안 할 수 있습니까?


이 질문은 softwarerecs.stackexchange.com에 속해 있습니다 . Btw, 나에게, 당신의 질문은 매우 광범위 해 보이므로 어쨌든 닫아야합니다.
nbro

@nbro-고마워, 나는 이것에 대한 더 좋은 곳이 있다고 생각했지만 소프트웨어 기록에 대해서는 몰랐다.
Scott Smith

이 질문에 투표 한 사람들이 이유를 말해 줄 수 있습니까?
Quintumnia

답변:


3

이것은 자바 스크립트로 작성되었지만 GPU 지원을 제공하지 않기 때문에 상당히 느립니다. 그러나 유연한 네트워크 아키텍처를 다루는 것이 좋습니다. 현재 제공되는 유일한 시각화는 네트워크 아키텍처 맵이지만 그래프를 쉽게 구현할 수 있습니다.

https://github.com/wagenaartje/neataptic


2

TensorfFlow 를 사용하도록 선택 하면 패키지의 일부로 TensorBoard 를 얻게 됩니다. 그것은 당신이 찾고있는 것에 가깝습니다.

그리고 TensorFlow를 사용하면 C ++, Python 및 몇 가지 다른 언어로 코딩 할 수 있습니다 (루비 및 Java 바인딩이있을 수 있습니다.



2

신경 진화 시스템 인 DXNN도 있습니다. 이것은 Erlang으로 작성되었습니다. https://github.com/CorticalComputer/DXNN2

모듈로 만들기 위해 몇 가지 작업을 수행 했으므로 라이브러리로 사용하고 코드 / 응용 프로그램을 격리시킵니다.

다음은 DXNN을 라이브러리로 다운로드 하는 코드 예제 입니다. 또한 시각화를 위해 gnuplot 준비 데이터 파일을 생성합니다.


2

Fann ( http://leenissen.dk/fann/wp/ )은 무료 오픈 소스 신경망 라이브러리입니다.

팬 특징 :

  • C의 다층 인공 신경망 라이브러리
  • 역 전파 훈련 (RPROP, Quickprop, Batch, Incremental)
  • ANN (Cascade2)을 동적으로 구축 및 교육하는 진화 토폴로지 교육
  • 사용하기 쉬움 (단 3 번의 기능 호출만으로 ANN 생성, 교육 및 실행)
  • 빠름 (다른 라이브러리보다 최대 150 배 빠른 실행)
  • 다용도 (다중 매개 변수 및 기능을 즉시 조정할 수 있음)
  • 잘 문서화 됨 (읽기 쉬운 소개 기사, 철저한 참조 매뉴얼 및 구현 고려 사항 등을 설명하는 50 페이지 이상의 대학 보고서)
  • 크로스 플랫폼 (리눅스 및 유닉스 용 스크립트 구성, 윈도우 용 dll 파일, MSVC ++ 용 프로젝트 파일 및 Borland 컴파일러도 작동하는 것으로보고 됨)
  • 몇 가지 다른 활성화 기능 구현 (추가 비트 속도에 대한 단계별 선형 기능 포함)
  • 전체 ANN을 쉽게 저장 및로드
  • 사용하기 쉬운 몇 가지 예
  • 부동 소수점과 고정 소수점 숫자를 모두 사용할 수 있습니다 (실제로 float, double 및 int를 모두 사용할 수 있음)
  • 캐시 최적화 (추가 속도를 위해)
  • 오픈 소스이지만 상용 응용 프로그램에서 계속 사용할 수 있습니다 (LGPL에 따라 사용 허가 됨)
  • 교육 데이터 세트를 쉽게 처리 할 수있는 프레임 워크
  • 그래픽 인터페이스
  • 다양한 프로그래밍 언어에 대한 언어 바인딩
  • 널리 사용됨 (하루에 약 100 회 다운로드)

2

유전자 알고리즘의 경우 GeneticSharp 을 작성 했습니다 .

.NET Core 및 .NET Framework를위한 다중 플랫폼 유전자 알고리즘 라이브러리. 라이브러리에는 선택, 크로스 오버, 돌연변이, 재 삽입 및 종료와 같은 여러 가지 GA 연산자 구현이 있습니다.

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