logo

  • home
  • head
  • itnews
  • product
  • mobile
  • game
  • benchmark
  • analysis
  • blog

액션, 모험, SF / 미국 / 2019 .06 개봉 감독 : 사이먼 킨버그 출연 : 제임스 맥어보이(찰스 자비에 / 프...
드라마 / 한국 / 131분 / 2019 .05 개봉 / [국내] 15세 관람가 감독 : 봉준호 출연 : 송강호(기택), 이선균(...

AI Korea Open 그룹에서도 라이브러리에 관한 투표가 있었고, 많은 분들이 관심있어할 만한 부분이라 생각해서 한 번 정리해 봤습니다!

dl_library_vote

(AI Korea Open 그룹의 투표 결과)

Python

요즘 뜨는 언어답게, 대부분의 라이브러리들이 빠른 속도로 업데이트되며 새로운 기능이 계속 추가되고 있다.

  1. Theano - 수식 및 행렬 연산을 쉽게 만들어주는 파이썬 라이브러리. 딥러닝 알고리즘을 파이썬으로 쉽게 구현할 수 있도록 해주는데, Theano 기반 위에 얹어서 더 사용하기 쉽게 구현된 여러 라이브러리가 있다.
    • Keras - Theano 기반이지만 Torch처럼 모듈화가 잘 되어 있어서 사용하기 쉽고 최근에도 계속 업데이트되며 빠른 속도로 발전하고 있는 라이브러리.
    • Pylearn2 - Theano를 유지, 보수하고 있는 Montreal 대학의 Yoshua Bengio 그룹에서 개발한 Machine Learning 연구용 라이브러리
    • Lasagne - 가볍고 모듈화가 잘 되어 있어서 사용하기 편리함
    • Blocks - 위 라이브러리와 비슷하게 역시 Theano 기반으로 손쉽게 신경망 구조를 구현할 수 있도록 해주는 라이브러리
  2. Chainer - 거의 모든 딥러닝 알고리즘을 직관적인 Python 코드로 구현할 수 있고, 자유도가 매우 높음. 대다수의 다른 라이브러리들과는 다르게 "Define-by-Run" 형태로 구현되어 있어서, forward 함수만 정의해주면 네트워크 구조가 자동으로 정해진다는 점이 특이하다.
  3. nolearn - scikit-learn과 연동되며 기계학습에 유용한 여러 함수를 담고 있음.
  4. Gensim - 큰 스케일의 텍스트 데이터를 효율적으로 다루는 것을 목표로 한 Python 기반 딥러닝 툴킷
  5. deepnet - cudamat과 cuda-convnet 기반의 딥러닝 라이브러리
  6. CXXNET - MShadow 라이브러리 기반으로 멀티 GPU까지 지원하며, Python 및 Matlab 인터페이스 제공
  7. DeepPy - NumPy 기반의 라이브러리
  8. Neon - Nervana에서 사용하는 딥러닝 프레임워크

Matlab

  1. MatConvNet - 컴퓨터비젼 분야에서 유명한 매트랩 라이브러리인 vlfeat 개발자인 Oxford의 코딩왕 Andrea Vedaldi 교수와 학생들이 관리하는 라이브러리.
  2. ConvNet - CNN 라이브러리
  3. DeepLearnToolbox - DBN, Stacked Autoencoder, CNN 등의 딥러닝을 위한 matlab/octave 툴박스

C++

  1. Caffe - Berkeley 대학에서 관리하고 있고, 현재 가장 많은 사람들이(추정) 사용하고 있는 라이브러리. C++로 직접 사용할 수도 있지만 Python과 Matlab 인터페이스도 잘 구현되어 있다.
  2. DIGITS - NVIDIA에서 브라우저 기반 인터페이스로 쉽게 신경망 구조를 구현, 학습, 시각화할 수 있도록 개발한 시스템.
  3. cuda-convnet - 딥러닝 슈퍼스타인 Alex Krizhevsky와 Geoff Hinton이 ImageNet 2012 챌린지를 우승할 때 사용한 라이브러리
  4. eblearn - 딥러닝 계의 또하나의 큰 축인 NYU의 Yann LeCun 그룹에서 ImageNet 2013 챌린지를 우승할 때 사용한 라이브러리
  5. SINGA - 기존의 시스템에서 동작하는 분산처리 학습 알고리즘을 일반적으로 구현하기 위해 만들어진 플랫폼으로 Apache Software Foundation의 후원을 받고 있다.

Java

  1. ND4J - N-Dimensional Arrays for Java. JVM을 위한 과학 연산 라이브러리로 상용 제품에 사용될 수 있게 연산들이 최소한의 메모리 사용으로 빠르게 작동하게 끔 만들어졌다.
  2. Deeplearning4j - Java와 Scala로 작성된 첫 상용 수준의 오픈소스 분산처리 딥러닝 라이브러리. 개발툴보다는 business 환경에 적합하도록 작성되었다.
  3. Encog -머신러닝 프레임워크로 SVM, ANN, Genetic Programming, Genetic Algorithm, Bayesian Network, Hidden Markov Model 등을 지원한다.

JavaScript

자바스크립트로의 딥러닝 구현은 Stanford의 Andrej Karpathy가 혼자서 개발했음에도 불구하고 높은 완성도를 보이며 널리 사용되고 있는 아래 두 라이브러리가 가장 유명하다.

  1. ConvnetJS - 딥러닝 모델의 학습을 완전히 브라우저에서 할 수 있게 하는 자바스크립트 라이브러리. 별도의 소프트웨어, 컴파일러, 설치, GPU 없이 쉽게 사용할 수 있다.
  2. RecurrentJS - RNN/LSTM을 구현한 Javascript 라이브러리

Lua

  1. Torch - 페이스북과 구글 딥마인드에서 사용하는 라이브러리. 양대 대기업에서 사용하고 있는 만큼 필요한 거의 모든 기능이 잘 구현되어 있고, 스크립트 언어인 Lua를 사용하기 때문에 쉽게 사용 가능하다.

Julia

MIT에서 새로 개발한 언어로, 최근에 주목받기 시작하여 효율적인 딥 러닝 라이브러리도 여러 가지 구현되었다.

  1. Mocha.jl - C++ 프레임워크인 Caffe에 영감을 받아 만들어진 Julia 기반의 딥러닝 프레임워크. Mocha의 General stochastic solver와 공통 레이어를 사용해 deep / shallow(convolutional) neural network를 학습하고 (stacked) auto-encoder를 통해 unsupervised pre-training을 할 수 있다. 모듈화된 구조, 하이 레벨 인터페이스, 이식성, 빠른 속도, 호환성등을 특징으로 한다.
  2. Strada.jl - Caffe 프레임워크를 기반으로 해 만들어진 오픈소스 딥러닝 라이브러리. CNN과 RNN을 CPU/GPU로 학습할 수 있다.
  3. KUnet.jl - 최대한 적은 양의 코드로 작성하고자 하는 시도에서 만들어진 딥러닝 패키지. 현재 1000 라인 미만의 코드로 여러 네트워크, activation, optimization을 구현하고 있고, CPU/GPU를 사용해 Caffe와 비슷한 성능으로 학습할 수 있다고 한다.

Lisp

  1. Lush - Lisp Universal Shell. 대규모 수치, 그래픽 어플리케이션을 위한 객체 지향 프로그래밍 언어. 딥러닝 라이브러리가 머신러닝 라이브러리에 포함되어 제공된다.

Haskell

  1. DNNGraph - Haskell로 작성된 deep neural network 모델 생성 DSL(domain-specific language)

.NET

  1. Accord.NET - C#으로만 작성된 .NET 머신러닝 프레임워크로 음성, 이미지 처리 라이브러리가 포함되어 있다. 상용 수준의 컴퓨터 비전, 컴퓨터 음성인식, 신호처리, 통계 어플리케이션을 만들 수 있다.

R

  1. darch - 레이어가 많은 neural network(deep architecture)를 만들 수 있다. contrastive divergence로 pre-training 하거나 backpropagation, conjugate gradient와 같은 알고리즘을 사용한 fine tuning으로 학습할 수 있다.
  2. deepnet - BP, RBM, DBN, Deep autoencoder 등의 딥러닝 아키텍쳐, neural network 알고리즘을 구현한 패키지.

출처: http://www.teglor.com/b/deep-learning-libraries-language-cm569/ 블로그 포스트 자료에서 약간의 수정을 거쳤습니다.

작성자: 최명섭, 김주용


출처 - http://aikorea.org/blog/dl-libraries/






  1. 프로그래밍 언어별 딥러닝 라이브러리 정리

    AI Korea Open 그룹에서도 라이브러리에 관한 투표가 있었고, 많은 분들이 관심있어할 만한 부분이라 생각해서 한 번 정리해 봤습니다! (AI Korea Open 그룹의 투표 결과) Python요즘 뜨는 언어답게, ...
    Date2017.02.02 CategoryIT KNOWLEDGE
    Read More
  2. DevOps (데브옵스)에 대하여

    최근에 DevOps(데브옵스)라는 개발방법론이 솔솔 들리고 있다.  데브옵스는 개발(Development) + 운영(Operation)을 합친 말로 개발와 운영의 상호작용을 원할하게 하는데 있다고 합니다.  [마이크로소...
    Date2016.12.27 CategoryIT KNOWLEDGE
    Read More
  3. 색공간 (sRGB, 어도비 RGB 등)

    목차가장 기본적인 색공간 RGB sRGB(standard RGB) 애플 RGB(Apple RGB) 어도비 RGB(Adobe RGB) 비디오에서 가장 많이 사용하는 색공간 YUV, YCbCr/YPbPr NTSC의 색공간 YIQ 인쇄 매체의 핵심 색공간 CMY, ...
    Date2016.11.25 CategoryIT KNOWLEDGE
    Read More
  4. 2016 SDS 그 유형과 소비 형태에 관해

    소프트웨어 정의 스토리지, Software defined storage(이하 SDS)가 어느 정도 업계에 많이 알려지고 실제로 도입되는 경우가 발생하면서 SDS에 대한 궁금함이 더욱 더 많이 생기고 있습니다. 업계의 많은 ...
    Date2016.11.04 CategoryIT KNOWLEDGE
    Read More
  5. 하둡, HDFS, 맵리듀스 개념

    빅 데이터는 클라우드 컴퓨팅만큼이나 널리 확산되고 있는 개념이다. 그러나 빅 데이터의 역량과 한계에 관해서는 사람들이 잘못 알고 있는 부분들이 많다. 특히 빅 데이터와 관련해 사람들은 다음의 질문...
    Date2016.09.21 CategoryIT KNOWLEDGE
    Read More
  6. 스토리지 풀 개요 (Storage Pool)

    풀 또는 스토리지 풀은 지정된 볼륨 세트에 대한 모든 데이터를 공동으로 포함하는 MDisk 콜렉션입니다. 그림 1은 네 개의 MDisk가 있는 스토리지 풀을 나타냅니다. 그림 1. 스토리지 풀 풀의 모든 MDi...
    Date2016.08.22 CategoryIT KNOWLEDGE
    Read More
  7. Windows Dump 구성 및 강제 생성

    Windows에서 강제로 덤프 생성하기 Action Plan 1. What: Full dump 저장을 위해 Page file을 총 메모리+1MB 정도로 증설 What: ASR 비활성화 To do. 1) Win7 > 제어판\시스템 및 보안\시스템 > 고급 선...
    Date2016.07.29 CategoryIT KNOWLEDGE
    Read More
  8. SMP(Symmetric Multi-Processing) vs AMP(Asymmetric Multi-Processing)

    오늘은 SMP와 AMP에 대해 간략히 학습하는 시간을 갖도록 하겠습니다. 1. SMP(Symmetric Multi-Processing) SMP은 두 개 이상의 동일한 프로세서가 하나의 메모리, I/O 디바이스, 인터럽트 등의 자원...
    Date2016.06.20 CategoryIT KNOWLEDGE
    Read More
  9. 쿨러 베어링 타입별 특징 (슬리브/볼/FDB)

    베어링 [bearing] : 회전하고 있는 기계의 축을 일정한 위치에 고정시키고 축의 자중과 축에 걸리는 하중을 지지하면서 축을 회전시키는 역할을 하는 기계 요소 냉각팬의 베어링 방식에...
    Date2016.05.11 CategoryIT KNOWLEDGE
    Read More
  10. 컨테이너 기반 가상화 기술

    Micro Service Architecture 에서 인프라 적으로 중요한 개념으로 꼽으면 아래와 같이 2가지로 정리할 수 있다.Application Programming Interface (API) 가상화 (virtualization) API는 이미 많은 개발...
    Date2016.04.29 CategoryIT KNOWLEDGE
    Read More
  11. 하이퍼 컨버지드 인프라 (Hyperconverged Integrated System)

    통합 시스템, 컨버지드 인프라 등으로 불리는 Integrated System의 성장과 발전이 데이터센터 전체에 상당히 크게 영향을 미칠 것으로 보입니다. 시장 조사 기관인 가트너에 따르면 2014년부터 2019년에 이...
    Date2016.03.22 CategoryIT KNOWLEDGE
    Read More
  12. 모바일IP 이론

    * Mobile IP (모바일 IP) : 모바일 IP 에 대해서 알아본다. 1. Mobile IP 정의 Mobile IP는 IETF 표준 통신 프로토콜로, 이동 기기 사용자로 하여금 한...
    Date2016.03.14 CategoryIT KNOWLEDGE
    Read More
  13. 윈도우10 단축키 모음

    윈도우 +1, +2, etc 바탕 화면으로 전환하고 시작 N을 작업 표시 줄에 응용 번째. 예를 들어,에서 번호 응용 프로그램이 목록에 첫 번째 중 하나 발사, 왼쪽에서 오른쪽으로. 윈도우 + 작업 센...
    Date2016.03.05
    Read More
  14. TLS 전송계층보안

    인터넷에서의 정보를 암호화해서 송수신하는 프로토콜. 넷스케이프 커뮤니케이션스사가 개발한 SSL(Secure Sockets Layer)에서 기반한 기술로, 국제 인터넷 표준화 기구에서 표준으로 인정받은 프로토콜이...
    Date2016.02.04 CategoryIT KNOWLEDGE
    Read More
  15. 시스코 스위치 이더채널

    Etherchannel, 이더채널 - 두 스위치간에 연결된 복수개의 포트를 하나의 포트처럼 동작시키는 것을 말한다 이더채널을 구성할 때 사용되는 프로토콜은 시스코에서 만든 PAgP(Port Aggregation Protocol)와...
    Date2015.12.28 CategoryIT KNOWLEDGE
    Read More
  16. 새로운 가상화 기술 Docker와 컨테이너

    Docker사는 지난 6월 10일에 Docker 1.0 발표와 함께 Docker를 기반으로 한 애플리케이션 개발, 배포, 실행 기능을 갖춘 서비스 "Docker Hub"를 발표했습니다. Docker는 컨테이너형 가상화를 실현하는 오픈...
    Date2015.11.25 CategoryIT KNOWLEDGE
    Read More
  17. [Network Protocol] L3 Switch 구조에 대한 이해

    안녕하세요? NetmaniasTalk입니다. 아래 글은 예전에 Netmanias Magazine에 기고했던 글의 일부로써, L3 Switch(예. Cisco 6500 series, Juniper MX series)의 구조에 대한 설명입니다. ...
    Date2015.10.27 CategoryIT KNOWLEDGE
    Read More
  18. [Network Protocol] IP QoS 소개

    안녕하세요? NetmaniasTalk입니다. 오늘도 네트워크 초보자님들을 위한 코너로써 유선망에서의 QoS에 대해서 설명드리도록 하겠습니다. Network에서 QoS라 함은 (1) 중요한 패킷(예. IPTV, VoIP, Bus...
    Date2015.10.27 CategoryIT KNOWLEDGE
    Read More
  19. 라우터(ROUTER) 명령어 모음

    backspace : 한 문자를 삭제 bandwidth : 시리얼 인터페이스에 대역폭을 세팅 banner : 라우터에 로그인하는 사용자를 위한 배너 생성 clear counters : 인터페...
    Date2015.10.27 CategoryIT KNOWLEDGE
    Read More
  20. 유용한 리눅스 명령어 모음

    adduser : 유저를 만들때 사용하는 명령 cd (change directory) : 디렉토리(윈도우에선 폴더) 변경할때 사용 chmod (change mode) : 파일의 허가상태 변경 chown (change owner) : 파일 소유권 병경 cp...
    Date2015.10.27 CategoryIT KNOWLEDGE
    Read More
  21. 윈도우 텔넷(telnet) 명령어 모음

    ■ ls : 현재 파일을 보여줍니다. 일반적으로 여러 옵션을 줄수 있습니다 ■ ls -al : 파일의 크기부터 파일의 퍼미션, 그리고 히든 파일까지 보여줍니다 ■ ls -at : 파일이 생성된 시간까지 보...
    Date2015.10.27 CategoryIT KNOWLEDGE
    Read More
  22. L4/L7 스위치의 대안, 오픈 소스 로드 밸런서 HAProxy

    Ncloud에서 하드웨어로 구성된 기존의 로드 밸런서(load balancer)를 대체할 수 있는 솔루션을 찾던 중 소프트웨어 로드 밸런서인 HAProxy를 검토하게 됐습니다. HAProxy를 검토하면서 정리한 자료와 사내 ...
    Date2015.09.25 CategoryIT KNOWLEDGE
    Read More
  23. 인 메모리 (In-memory Database)

    인메모리 데이터베이스(In-memory Database)는 데이터 스토리지의 메인 메모리에 설치되어 운영되는 방식의 데이터베이스 관리 시스템이다. 디스크에 설치되는 방식에 비해 처리 속도가 빠르...
    Date2015.08.28 CategoryIT KNOWLEDGE
    Read More
  24. MySQL(Structured Query Language)

    1.MySQL 이란 무엇인가? 표준 데이터베이스 질의 언어인 SQL(Structured Query Language)을 사용하는 개방 소스의 관계형 데이터베이스 관리 시스템(RDBMS). 매우 빠르고, 유...
    Date2015.08.03 CategoryIT KNOWLEDGE
    Read More
  25. NUMA와 SMP(Symmetric Multi Processing)

    하드웨어가 발전하면서 하나의 메인보드에 여러개의 CPU, 버스, 메모리 컨트롤러를 구성할 수 있게 되었습니다. Numa는 간단하게 CPU와 메모리가 한 Set를 이루는 것을 의미합니다. [그림1] Numa 관...
    Date2015.06.15 CategoryIT KNOWLEDGE
    Read More
  26. 프로비저닝과 멀티테넌트 (Provisioning,Multi Tenant)

    프로비저닝(Provisioning)이란? 사전적의미 - 준비, 예비, 설비 make provisioning=준비하다 [IT에서 사용하는 의미] 무엇인가 여럿 중에 최적인 것을 찾기 위해 필요한 지...
    Date2015.05.29 CategoryIT KNOWLEDGE
    Read More
  27. QoS 이론 및 기초

    1. 트래픽 관리의 기초 "인터넷이 왜 이렇게 느려요?" "네트워크 접속이 잘 안되거든요?" 이 말은 네트워크 관리자들이 가장 듣기 싫어하는 말 중의 하나죠. ^^ 하지만 아무리 골치아픈 상...
    Date2015.05.11 CategoryIT KNOWLEDGE
    Read More
  28. NPS / RADIUS 서버

    NPS ( Network Policy Server ) 네트워크 정책 서버는 MS사에서 부른 명칭으로서 일반적으로 정식 명칭은 RADIUS ( Remote Authentication Dial-In User Service ) Server이다. @ RADIUS Server 구성 ...
    Date2015.04.18 CategoryIT KNOWLEDGE
    Read More
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6