자격증/ADsP
[개미의 걸음 ADsP 1과목 심화] Deep Learning 오픈소스
IT개미 데이터
2020. 6. 25. 17:17
728x90
Theano
- 파이썬 기반의 최초의 딥러닝 라이브러리
GPU와 CPU에 대해 동일한 파이썬 코드를 사용할 수 있음
- CPU, GPU 수치 계산에 유용한 선형대수 심블 컴파일러
수치적인 미분, 선형대수 계산을 포함해 Symbolic Expression을 통한 정의된 수식을 사람처럼 미분하거나 재정리해서 전체 계산에 대한 최적의 계산 경로를 찾아내는 소프트웨어
- 수치미분을 사용한 연산에 비해 정확도나 속도가 빨라 대용량 선형대수 계산이나 몬테카를로 시뮬레이션, 딥러님에 사용되고 있다.
- 티아노 기반 위에 더 사용하기 쉽게 구현된 라이브러리에는 Keras, Pylearn2, Lasagne, Blocks 등이 있다.
# Keras[케라스]
더보기
효율적인 신경망 구축을 위해 단순화된 인터페이스로 개발
파이썬 기반의 티아노 기반이나 텐서플로우 기반 위에서 작동하도록 구성
딥러닝 비전문가라도 손쉽게 모델을 개발, 활용할 수 있도록 직관적인 API 제공
ONE IROS 프로젝트의 연구적 노력의 일환으로 개발
→ 주요 개발자이자 유지보수자는 구글의 엔지니어
Tensorflow
- 구글에서 오픈소스로 공개한 파이썬 기반의 Deep Learning 라이브러리
- 머신러닝과 딥러닝 분야에서 사용할 수 있는 기능들을 쉽고 빠르게 제공하며 프로그래밍 언어 파이썬을 활용한 연산처리 작업이 가능
- 다른 언어들도 지원하지만 파이썬 관련 자료가 가장 많아 일반적
Tensorflow 특징
1. 데이터 플로우 그래프를 활용해 표현력이 풍부해졌다. |
2. 아이디어를 테스트하는 것에서부터 서비스를 제공하는 단계까지 모두 활용 가능 |
3. 계산 구조와 목표함수 정의만 하마녀 미분 계산도 가능 |
4. 파이썬과 C++를 지원하고, SWIG를 통한 다양한 지원도 가능 |
5. 윈도우로 진행할 시, 가상머신을 이용해 도커툴박스 설치 후 이용 |
Tensorflow 장점
1. 구글에서 공식 배포해 레퍼런스 및 그 전문성이 보장됨 |
2. 사용자의 접근성이 용이하도록 쉬운 기능들을 제공함 |
3. 코드의 수정없이 CPU/GPU 모드로 동작이 가능함 |
4. C++애플리케이션에서 접근이 가능 |
5. 프로젝트에 최대한 직관성과 접근성을 갖춘 파이썬 인터페이스 제공 |
Torch[토치]
- Lua기반의 딥러닝 프레임 워크
Lua : java Script와 비슷한 스크립트 언어로 파이썬보다 빠름
- 파이썬 라이브러리인 Numpy처럼 다뤄짐
- GPU처리를 위해 CUDA를 사용. C, C++라이브러리를 사용
→ Caffe보다 GPU를 이용한 코딩이 매우 쉽다. - 모델을 간단하고 쉽게 만들기 위한 목표로 만들어져 굉장히 유연
- 최근에는 토치의 파이썬 구현 라이브러리인 PyTorch사용 증가
Caffe[카페]
- 2013년 머신비전 프로젝트를 위해 개발된 파이썬 인터페이스를 가지고 있는 C++ 라이브러리
- 그 후 언어능력과 멀티미디어 등 다른 응용분야도 포함될 수 있도록 확장됨
- 표현과 속도 그리고 모듈성을 핵심에 두고 BVLC[Berkeley Vision and Learning Center]에서 주로 개발된 딥러닝 라이브러리
- 컨볼루션 신경망 모델링 때 기본 애플리케이션으로 사용
- 가장 큰 장점 중 하나는 Caffe Model Zoo에서 미리 훈련된 여러 네트워크를 바로 사용할 수 있다.
→ CNN[Convolutional Neural Network]모델링이나 이미지 처리문제 해결시 Caffe 사용 - 페이스북에서 고성능 개발형 학습모델 구축을 위해 유연하며 새롭고 가벼운 모듈식 딥러닝 프레임워크인 Caffe 2 공개
728x90