SlideShare ist ein Scribd-Unternehmen logo
1 von 54
딥러닝 프레임워크 비교
송준이
socurites@aidentify.io
목차
• 딥러닝 프레임워크 종류
• 딥러닝 프레임워크 비교 Sheet
– 주요 특성 관점
– Tech. Stack 관점
– 설계 관점
• 딥러닝 프레임워크 사용 예시
딥러닝 프레임워크 종류
딥러닝 프레임워크 Timeline
2010 2013 2014 2015 2016 2017
https://github.com/Theano/Theano/blob/master/HISTORY.txt
https://www.embedded-vision.com/industry-analysis/technical-articles/caffe-deep-learning-framework-interview-core-developers
https://www.preferred-networks.jp/en/news/8531
https://www.microsoft.com/en-us/research/blog/microsoft-computational-network-toolkit-offers-most-efficient-distributed-deep-
learning-computational-performance/github/#sm.0000qz6ljpzl3fnrxby1iwpo5v5rf
https://www.wired.com/2014/06/skymind-deep-learning/
https://twitter.com/fchollet/status/581627598741999616
https://github.com/dmlc/mxnet/issues?q=is%3Aissue+is%3Aopen+sort%3Acreated-asc
https://www.wired.com/2015/11/google-open-sources-its-artificial-intelligence-engine/
https://github.com/Theano/Theano/blob/master/HISTORY.txt
https://www.facebook.com/yann.lecun/posts/10152142434782143
https://techcrunch.com/2017/04/18/facebook-open-sources-caffe2-its-flexible-deep-learning-framework-of-choice/
(Nov.)
(Dec.)
(Jul.)
(Jun.)
On GitHub
(Debut: Apr. ‘2015)
(Oct.)
(Jun.)
(Nov.)
(Jan.) (Apr.)(Mar.)
• 주체
– Created by
• Yangqing Jia (http://daggerfs.com/)
– UC Berkerey 컴퓨터 과학 Ph.D. / 지도 교수(Trevor Darrell, BAIR 책임자)
– 구글 브레인 TensorFlow 프로젝트 참여
– 페이스북 리서치 사이언티트
• Evan Shellhamer (http://imaginarynumber.net/)
– UC Berkerey 컴퓨터 과학 Ph.D. / 지도 교수(Trevor Darrell, BAIR 책임자)
– Maintained by
• BAIR(Berkeley Artificial Intelligence Research, http://bair.berkeley.edu/)
• 릴리즈
– ‘2013: DeCAF (https://arxiv.org/abs/1310.1531)
– Dec. ‘2013: Caffe v0
• 적용 사례
– Facebook, Adobe, Microsoft, Samsung, Flickr, Tesla, Yelp, Pinterest, etc.
• Motivation
– ‘2012 ILSVRC에서 발표한 AlexNet을 재현
– DNN 정의/훈련/배포하기 위한 범용 F/W 구현
Caffe
http://caffe.berkeleyvision.org/
Caffe
• 특징
– 장점
• 이미지 처리에 특화
• 프로그래밍하는 대신 설정 파일로 학습 방법을 정의
• Caffe Model Zoo를 통한 다양한 Pre-trained Model 제공
• 이미지 기반 참조 모델의 de facto standard
– 단점
• 이미지 이외의 텍스트, 사운드 등의 데이터 처리에는 부적합
• 유연하지 못한 API
– 새로운 기능 추가의 경우 C++/CUDA로 직접 구현 필요
• 문서화가 잘 안되어 있음
http://caffe.berkeleyvision.org/
Caffe2(http://caffe2.ai/) 출시
- By Facebook
- Android 지원, iOS 지원(예정)
- 분산 처리 지원
F/W 주체 플랫폼 모바일 언어 인터페이스 OpenMP CUDA OpenCL 멀티GPU 분산
Caffe BAIR
Linux,
Mac
- C++
Python,
MATLAB
Y
Y
- Y
• 주체
– Created & Maintained by
• Preferred Networks, Inc.(https://www.preferred-networks.jp/ja/)
• 릴리즈
– Jun. ‘2015
• 적용 사례
– Toyota motors, Panasonic
(https://www.wsj.com/articles/japan-seeks-tech-revival-with-artificial-
intelligence-1448911981)
– FANUC
(http://www.fanucamerica.com/FanucAmerica-news/Press-
releases/PressReleaseDetails.aspx?id=79)
• Motivation
– Define-by-Run 아키텍처
• 실행 시점에 네트워크 그래프가 정의됨
• 복잡한 네트워크 정의를 보다 유연하게 지원할 수 있게 함
Chainer
http://docs.chainer.org/en/latest/index.html
Chainer
• 특징
– 장점
• 빠른 속도
출처: Performance of Distributed Deep Learning using ChainerMN
http://chainer.org/general/2017/02/08/Performance-of-Distributed-Deep-Learning-Using-ChainerMN.html
http://docs.chainer.org/en/latest/index.html
F/W 주체 플랫폼 모바일 언어 인터페이스 OpenMP CUDA OpenCL 멀티GPU 분산
Chainer
Preferred
Networks
Linux - Python Python -
Y
- Y Y
Chainer
• 특징
– 장점
• Define-by-Run 모델 기반의 유연성 제공
– 단점
• 협소한 사용자 커뮤니티
출처: Complex Neural networks made easy by Chainer
https://www.oreilly.com/learning/complex-neural-networks-made-easy-by-chainer
[Define-and-Run (TensorFlow)] [Define-by-Run (Chainer, PyTorch)]
http://docs.chainer.org/en/latest/index.html
• 주체
– Created & Maintained by
• Microsoft Research
• 릴리즈
– Jan. ‘2016
• 적용 사례
– Microsoft’s speech recognition engine
– Skype’s Translator
• Motivation
– Efficient performance on distributed environments
CNTK
https://www.microsoft.com/en-us/research/product/cognitive-toolkit/
https://www.microsoft.com/en-us/research/blog/microsoft-computational-network-toolkit-offers-most-efficient-distributed-deep-learning-computational-performance/
CNTK
• 특징
– 장점
• 처리 성능의 linear scaling
– 단점
• 협소한 사용자 커뮤니티
https://www.microsoft.com/en-us/research/product/cognitive-toolkit/
출처: Microsoft Computational Network Toolkit offers most efficient distributed deep learning computational performance
https://www.microsoft.com/en-us/research/blog/microsoft-computational-network-toolkit-offers-most-efficient-distributed-
deep-learning-computational-performance/
[2015. 7]
F/W 주체 플랫폼 모바일 언어 인터페이스 OpenMP CUDA OpenCL 멀티GPU 분산
CNTK Microsoft
Linux,
Windows
- C++ Python, C++ Y Y - Y Y
• 주체
– Created by
• Adam Gibson @Skymind (CTO)
• Chris Nicholson @Skymind (CEO)
– Maintained by
• Skymind (https://skymind.ai/)
• 릴리즈
– Jun. ‘2014
• 적용 사례
– 은행 Fraud Detection 연구 파트너쉽 with Nextremer in Japan
(https://skymind.ai/press/nextremer)
• Motivation
– 가장 많은 프로그래머를 보유하는 Java 기반의 딥러닝 프레임워크 개발
– 추론엔진에 대해 엔터프라이즈 서비스급 안정성을 보장
DL4J
https://deeplearning4j.org/
DL4J
• 특징
– 장점
• Java를 기반으로 한 쉬운 이식성 및 엔터프라이즈 시스템 수준의 안전성 제공
• Spark 기반의 분산 처리 지원
• 문서화가 잘 되어 있음 / 학습 디버깅을 위한 시각화 도구 DL4J UI 제공
• 기업 대상 기술 컨설팅 제공
– 단점
• Java 언어로 인한 학습 및 테스트 과정의 번거로움
• 협소한 사용자 커뮤니티
• 부족한 예제
https://deeplearning4j.org/
F/W 주체 플랫폼 모바일 언어 인터페이스 OpenMP CUDA OpenCL 멀티GPU 분산
DL4J SkyMind
Cross-
platform
(JVM)
Android Java
Java, Scala,
Python
Y Y
- Y
Y
(Spark)
• 주체
– Created & Maintained by
• Francois Chollet @Google
• 릴리즈
– Mar. ‘2015
• 적용 사례
– TensorFlow (http://www.fast.ai/2017/01/03/keras)
• Motivation
– Provide a high-level interface based on deep learning framework like
Theano, TensorFlow
– Easy to use
– 최소화, 단순화, 모듈화
– 다양한 딥러닝 프레임워크와의 쉬운 연동
Keras
https://keras.io/
Keras
• 특징
– 장점
• 직관적인 API 인터페이스
• Caffe, Torch, TensorFlow 등 다양한 딥러닝 프레임워크 모델 import 기능 제공
• 문서화가 잘되어 있음
– 단점
• 기반 Theano 프레임워크에서 문제가 발생시 debugging이 어려움
https://keras.io/
F/W 주체 플랫폼 모바일 언어 인터페이스 OpenMP CUDA OpenCL 멀티GPU 분산
Keras
François
Chollet
Linux,
Mac,
Windows
- Python Python
Y(Theano)
N(TF)
Y
- Y
• 주체
– Created by
• CMU (http://www.cs.cmu.edu/~muli/file/mxnet-learning-sys.pdf)
– Maintained by
• DMLC(Distributed Machine Learning Community)
– CMU, NYU, NVIDIA, Baidu, Amazon, etc.
• 릴리즈
– Oct. ‘2015
• 적용 사례
– AWS (https://www.infoq.com/news/2016/11/amazon-mxnet-deep-learning)
• Motivation
– Support for Mixed Programming Model: Imperative & Symbolic
– Support for Portability: Desktops, Clusters, Mobiles, etc.
– Support for Multiple Languages: C++, R, Python, Matlab, Javascript, etc.
MXNet
http://mxnet.io/
MXNet
• 특징
– 장점
• 다양한 프로그래밍 인터페이스 제공
• 모바일 지원
• 빠르게 발전
• low-level / high-level API 모두 제공
• Imperative / Graph 프로그래밍 모델 모두 지원
http://mxnet.io/
F/W 주체 플랫폼 모바일 언어 인터페이스 OpenMP CUDA OpenCL 멀티GPU 분산
MXNet DMLC
Linux,
Mac,
Windows,
Javascript
Android,
iOS
C++
C++, Python,
Julia, MATLAB,
JavaScript, Go,
R, Scala, Perl
Y
Y
- Y Y
MXNet
– 단점
• 다소 처리 속도 느림
http://mxnet.io/
출처: How to run deep neural networks on weak hardware
https://www.linkedin.com/pulse/how-run-deep-neural-networks-
weak-hardware-dmytro-prylipko
출처: Benchmarking State-of-the-Art Deep Learning
Software Tools
http://dlbench.comp.hkbu.edu.hk/?v=v7
• 주체
– Created & Maintained by
• Google Brain
• 릴리즈
– Nov. ‘2015
• 적용 사례
– Google
• Search Signals (https://www.bloomberg.com/news/articles/2015-10-26/google-
turning-its-lucrative-web-search-over-to-ai-machines)
• Email auto-responder (https://research.googleblog.com/2015/11/computer-
respond-to-this-email.html)
• Photo Search (https://techcrunch.com/2015/11/09/google-open-sources-the-
machine-learning-tech-behind-google-photos-search-smart-reply-and-
more/#.t38yrr8:fUIZ)
• Motivation
– It’s Google
TensorFlow
https://www.tensorflow.org/
TensorFlow
• 특징
– 장점
• 추상화된 그래프 모델
• 학습 디버깅을 위한 시각화 도구 TensorBoard 제공
• 모바일 지원
• low-level / high-level API 모두 제공
https://www.tensorflow.org/
F/W 주체 플랫폼 모바일 언어 인터페이스 OpenMP CUDA OpenCL 멀티GPU 분산
TensorFlow Google
Linux,
Mac,
Windows
Android,
iOS
C++,
Python
Python,
C/C++, Java,
Go
N
Y
- Y Y
TensorFlow
– 장점
• 방대한 사용자 커뮤니티
https://www.tensorflow.org/
출처: Machine Learning Frameworks Comparison
https://blog.paperspace.com/which-ml-framework-should-i-use
TensorFlow
– 단점
• Define-and-Run 모델 / 런타임에 그래프 변경 안됨
• Torch에 비해 느림
https://www.tensorflow.org/
출처: soumith/convnet-benchmarks
https://github.com/soumith/convnet-benchmarks
• 주체
– Created by
• James Bergstra, Frederic Bastien, etc.
(http://www.iro.umontreal.ca/~lisa/pointeurs/theano_scipy2010.pdf_
– Maintained by
• LISA lab @ Université de Montréal
• 릴리즈
– Nov ‘2010
• 적용 사례
– Keras
– Lasagne
– Blocks
• Motivation
– There’s any.
Theano
http://deeplearning.net/software/theano/index.html
Theano
• 특징
– 장점
• low-level을 제어할 수 있는 API
• 추상화된 그래프 모델 지원
• 빠르고 유연함
• Keras, Lasagne, Blocks 등 Wrapper 프레임워크의 기반 프레임워크
– 단점
• low-level API의 복잡성
http://deeplearning.net/software/theano/index.html
F/W 주체 플랫폼 모바일 언어 인터페이스 OpenMP CUDA OpenCL 멀티GPU 분산
Theano
Université
de
Montréal
Linux,
Mac,
Windows
- Python Python
Y Y
- Y
• 주체
– Created & Maintained by
• Ronan Collobert: Research Scientist @ Facebook
• Clément Farabet: Senior Software Engineer @ Twitter
• Koray Kavukcuoglu: Research Scientist @ Google DeepMind
• Soumith Chinatala: Research Engineer @ Facebook
• 릴리즈
– Jul. ‘2014
• 적용 사례
– Facebook, Google, Twitter, Element Inc., etc.
• Motivation
– Unlike Caffe, for research rather than mass market
– Unlike Theano, easy to use based on imperative model rather than
symbolic model
Torch
http://torch.ch/
Torch
• 특징
– 장점
• 알고리즘 모듈화가 잘 되어 있어 사용이 용이
• 다양한 데이터 전처리 및 시각화 유틸리티 제공
• 간단한 Lua 프로그래밍 구문
• Imperative 프로그래밍 모델 기반의 직관적인 API
• OpenCL 지원
• 모바일 지원
– 단점
• 파이썬 인터페이스 없음(PyTorch 별도 존재)
• 문서화가 잘 안되어 있음
• 협소한 사용자 커뮤니티
• 심볼릭 모델 미제공
• 상용 어플레케이션이 아니라 연구용으로 적합
http://torch.ch/
F/W 주체 플랫폼 모바일 언어 인터페이스 OpenMP CUDA OpenCL 멀티GPU 분산
Torch
Ronan,
Clément,
Koray,
Soumith
Linux,
Mac,
Windows
Android,
iOS
C, Lua Lua Y
Y
Y Y
Not
officiall
y
딥러닝 프레임워크 비교 Sheet
오픈소스 딥러닝 프레임워크
• 비교 기준
– 주요 특성
• 설치 플랫폼
• 모바일 지원
• 개발 언어
• 프로그래밍 인터페이스
• OpenMP 지원
• CUDA / OpenCL 지원
• 멀티 노드 지원
• 프로그래밍 모델
– Tech. Stack
• 시각화
• 워크플로우 관리
• Computational Graph(CG) 관리
• Multi-dimensional array 처리
• Numerical computation
• Computational Device
오픈소스 딥러닝 프레임워크
• 비교 기준
– 설계
• (Which) Interface Language
• (How) Compute backprop
• (How) Update parameters
• (When) Run user codes
• (How) Optimize CG
• (How) Scale up training
딥러닝 프레임워크 Sheet – 주요 특성
F/W 주체 플랫폼 모바일 언어 인터페이스 OpenMP CUDA OpenCL 멀티GPU 분산
Caffe BAIR
Linux,
Mac
- C++
Python,
MATAB
Y
Y
- Y
Chainer
Preferred
Networks
Linux - Python Python -
Y
- Y Y
CNTK Microsoft
Linux,
Windows
- C++ Python, C++ Y Y - Y Y
DL4J SkyMind
Cross-
platform
(JVM)
Android Java
Java, Scala,
Python
Y Y
- Y
Y
(Spark)
Keras
François
Chollet
Linux,
Mac,
Windows
- Python Python
Y(Theano)
N(TF)
Y
- Y
MXNet DMLC
Linux,
Mac,
Windows,
Javascript
Android,
iOS
C++
C++, Python,
Julia, MATLAB,
JavaScript, Go,
R, Scala, Perl
Y
Y
- Y Y
TensorFlow Google
Linux,
Mac,
Windows
Android,
iOS
C++,
Python
Python,
C/C++, Java,
Go
N
Y
- Y Y
Theano
Université
de
Montréal
Linux,
Mac,
Windows
- Python Python
Y Y
- Y
Torch
Ronan,
Clément,
Koray,
Soumith
Linux,
Mac,
Windows
Android,
iOS
C, Lua Lua Y
Y
Y Y
Not
officiall
y
출처: Comparison of deep learning software
https://en.wikipedia.org/wiki/Comparison_of_deep_learning_software#cite_note-29
딥러닝 프레임워크 Sheet – 주요 특성
출처: Getting Started with Dep Learning
https://svds.com/getting-started-deep-learning/
딥러닝 프레임워크 Sheet – Tech. Stack
• 딥러닝 프레임워크의 주요 Tech. Stack
출처: DLIF: Common design of neural network implementations
https://www.dropbox.com/s/qfz34ba3ftuli6b/AAAI2017-2-0203.pdf
딥러닝 프레임워크 Sheet
Chainer
Numpy
BLAS
시각화
워크플로우 관리
CG 관리
Multi-dimensional
Array 처리
Numerical
computation
CPU
Computational
Device
시각화
워크플로우 관리
CG 관리
Multi-dimensional
Array 처리
Numerical
computation
Computational
Device
[Caffe] [Chainer]
[CNTK] [DL4J]
Cupy
cuBLAS
GPU
cuDNN
Caffe
blob
BLAS
CPU
cuBLAS
GPU
cuDNN
CNTK
BLAS
CPU
Tensor
cuBLAS
GPU
cuDNN
DL4J
ND4J
BLAS
CPU
cuBLAS
GPU
cuDNN
TensorBoard DL4J UI
출처: DLIF: Common design of neural network implementations
https://www.dropbox.com/s/qfz34ba3ftuli6b/AAAI2017-2-0203.pdf
딥러닝 프레임워크 Sheet
시각화
워크플로우 관리
CG 관리
Multi-dimensional
Array 처리
Numerical
computation
Computational
Device
시각화
워크플로우 관리
CG 관리
Multi-dimensional
Array 처리
Numerical
computation
Computational
Device
[MXNet] [TensorFlow]
[Theano]
Tensor
BLAS
CPU
cuBLAS
GPU
cuDNN
visdom
TensorFlow
TF slim
Keras, Lasgane, Blocks, etc
Theano
BLAS
CPU
Numpy libgpuarray
CUDA, OpenCL
CUDA Toolkit
GPU
[Torch]
MXNet
mxnet.ndarray
BLAS
CPU
cuBLAS
GPU
cuDNN
Torch
Tensor
BLAS
CPU
cuBLAS
GPU
cuDNN
mxnet.viz TensorBoard
출처: DLIF: Common design of neural network implementations
https://www.dropbox.com/s/qfz34ba3ftuli6b/AAAI2017-2-0203.pdf
딥러닝 프레임워크 Sheet – 설계
• 딥러닝 프레임워크의 설계 전략
출처: DLIF: Differences of deep learning frameworks
https://www.dropbox.com/s/6sbt9jmrwg414c8/AAAI2017-3-0331.pdf
딥러닝 프레임워크 Sheet – 설계
출처: DLIF: Differences of deep learning frameworks
https://www.dropbox.com/s/6sbt9jmrwg414c8/AAAI2017-3-0331.pdf
딥러닝 프레임워크 Sheet – 설계
Write NNs – in Which Languges?
Declarative
Config. File
High portability Low flexibility Caffe
Procedural
Scripting
High flexibility Low portability Others
Compute backprop – How?
Graph Easy and simple to
implement
Low flexibility Torch
Caffe
Chainer
Extended Graph High flexibility
Backprop extended
graph에도 오퍼레이
션 가능(eg.
Backrprop of
backprop)
Implementation gets
complicated
Theano
MXNet
TensorFlow
출처: DLIF: Differences of deep learning frameworks
https://www.dropbox.com/s/6sbt9jmrwg414c8/AAAI2017-3-0331.pdf
딥러닝 프레임워크 Sheet – 설계
Update parameters – How to represent?
Parameters as part of operator nodes Intuitiveness Low flexibility and
reusability
Torch
Caffe
MXNet
Parameters as separate nodes in the graph High flexibility and
reusability
We can apply any
operations that can
be done for
variable nodes to
the parameters
Theano
Chainer
TensorFlow
출처: DLIF: Differences of deep learning frameworks
https://www.dropbox.com/s/6sbt9jmrwg414c8/AAAI2017-3-0331.pdf
딥러닝 프레임워크 Sheet – 설계
Update parameters – How to update?
by routines outside of the graph Easy to
impelement
Low integrity Torch
Caffe
MXNet
Chainer
As a part of the graphs High integrity Implement gets
complicated
Theano
TensorFlow
출처: DLIF: Differences of deep learning frameworks
https://www.dropbox.com/s/6sbt9jmrwg414c8/AAAI2017-3-0331.pdf
딥러닝 프레임워크 Sheet – 설계
Run user codes – When?
Static CG
(Define-and-run)
Easy to optimize
the computations
Low flexibility and
usability
Others
Dynamic CG
(Define-by-run)
High flexibility and
usability
Users can build
different graphs for
different iterations
using language
syntaxes
Hard to optimize the
computations
Difficult to do
optimization every
iteration due to its
computational cost
Chainer
출처: DLIF: Differences of deep learning frameworks
https://www.dropbox.com/s/6sbt9jmrwg414c8/AAAI2017-3-0331.pdf
딥러닝 프레임워크 Sheet – 설계
Optimize CG – How to extend current F/W?
Transform the graph to optimize the computations Theano
TensorFlow
Provide easy ways to write custom operator nodes Torch
MXNet
Chainer
Chainer
: also provides ways to write custom CUDA
kernels with JIT compilation
출처: DLIF: Differences of deep learning frameworks
https://www.dropbox.com/s/6sbt9jmrwg414c8/AAAI2017-3-0331.pdf
Scale up training – How?
Multi-GPU All
Distributed Computations MXNet
TensorFlow
CNTK
Chainer
DL4J
Torch(Not Officially)
딥러닝 프레임워크 사용 예시
- MNIST -
Caffe
https://github.com/BVLC/caffe/tree/master/examples/mnist
모델 정의 학습 정의
Chainer
https://github.com/pfnet/chainer/tree/master/examples/mnist
모델 정의
학습 정의
CNTK
https://www.microsoft.com/en-us/research/product/cognitive-toolkit/
모델 정의 학습 정의
DL4J
https://github.com/deeplearning4j/dl4j-examples/tree/master/dl4j-examples/src/main/java/org/deeplearning4j/examples/feedforward
모델 정의
학습 정의
Keras
https://github.com/fchollet/keras/blob/master/examples/mnist_mlp.py
모델 정의
학습 정의
MXNet
http://mxnet.io/tutorials/python/mnist.html
모델 정의
학습 정의
TensorFlow
https://github.com/aymericdamien/TensorFlow-Examples/
모델 정의
학습 정의
Torch
https://github.com/socurites/torch-book-examples/tree/master/model/chap1
모델 정의
학습 정의
References
• Comparison of deep learning software
https://en.wikipedia.org/wiki/Comparison_of_deep_learning_software#cit
e_note-29
• Deep Learning Frameworks
https://developer.nvidia.com/deep-learning-frameworks
• Comparing Frameworks: Deeplearning4j, Torch, Theano, TensorFlow,
Caffe, Paddle, MxNet, Keras & CNTK
https://deeplearning4j.org/compare-dl4j-torch7-pylearn#caffe
• Performance of Distributed Deep Learning using ChainerMN
http://chainer.org/general/2017/02/08/Performance-of-Distributed-
Deep-Learning-Using-ChainerMN.html
• Comparison with Other Frameworks
http://docs.chainer.org/en/latest/comparison.html
• Complex Neural networks made easy by Chainer
https://www.oreilly.com/learning/complex-neural-networks-made-easy-
by-chainer
References
• How is PyTorch different from Tensorflow?
https://hackernoon.com/how-is-pytorch-different-from-tensorflow-
2c90f44747d6
• How to run deep neural networks on weak hardware
https://www.linkedin.com/pulse/how-run-deep-neural-networks-weak-
hardware-dmytro-prylipko
• Deep Learning frameworks: a review before finishing 2016
https://medium.com/@ricardo.guerrero/deep-learning-frameworks-a-
review-before-finishing-2016-5b3ab4010b06
• Microsoft Computational Network Toolkit offers most efficient
distributed deep learning computational performance
https://www.microsoft.com/en-us/research/blog/microsoft-
computational-network-toolkit-offers-most-efficient-distributed-deep-
learning-computational-performance/
References
• Machine Learning Frameworks Comparison
https://blog.paperspace.com/which-ml-framework-should-i-use/
• soumith/convnet-benchmarks
https://github.com/soumith/convnet-benchmarks
• Getting Started with Deep Learning
https://svds.com/getting-started-deep-learning/
• Benchmarking State-of-the-Art Deep Learning Software Tools
http://dlbench.comp.hkbu.edu.hk/?v=v7
• DLIF: Common design of neural network implementations
https://www.dropbox.com/s/qfz34ba3ftuli6b/AAAI2017-2-0203.pdf
• DLIF: Differences of deep learning frameworks
https://www.dropbox.com/s/6sbt9jmrwg414c8/AAAI2017-3-0331.pdf
• Complex neural networks made easy by Chainer
https://www.oreilly.com/learning/complex-neural-networks-made-easy-
by-chainer
References
• Microsoft Computational Network Toolkit offers most efficient
distributed deep learning computational performance
https://www.microsoft.com/en-us/research/blog/microsoft-
computational-network-toolkit-offers-most-efficient-distributed-deep-
learning-computational-performance/
• Torch vs Theano
http://fastml.com/torch-vs-theano/

Weitere ähnliche Inhalte

Was ist angesagt?

Kubeflow Pipelines (with Tekton)
Kubeflow Pipelines (with Tekton)Kubeflow Pipelines (with Tekton)
Kubeflow Pipelines (with Tekton)Animesh Singh
 
PYNQ 祭り: Pmod のプログラミング
PYNQ 祭り: Pmod のプログラミングPYNQ 祭り: Pmod のプログラミング
PYNQ 祭り: Pmod のプログラミングryos36
 
Tutorial on SDN data plane evolution
Tutorial on SDN data plane evolutionTutorial on SDN data plane evolution
Tutorial on SDN data plane evolutionAntonio Capone
 
スケールアウト・インメモリ分析の標準フォーマットを目指す Apache Arrow と Value Vectors - Tokyo Apache Dril...
スケールアウト・インメモリ分析の標準フォーマットを目指す Apache Arrow と Value Vectors - Tokyo Apache Dril...スケールアウト・インメモリ分析の標準フォーマットを目指す Apache Arrow と Value Vectors - Tokyo Apache Dril...
スケールアウト・インメモリ分析の標準フォーマットを目指す Apache Arrow と Value Vectors - Tokyo Apache Dril...MapR Technologies Japan
 
Apache Flink Crash Course by Slim Baltagi and Srini Palthepu
Apache Flink Crash Course by Slim Baltagi and Srini PalthepuApache Flink Crash Course by Slim Baltagi and Srini Palthepu
Apache Flink Crash Course by Slim Baltagi and Srini PalthepuSlim Baltagi
 
社内のマニュアルをSphinxで作ってみた
社内のマニュアルをSphinxで作ってみた社内のマニュアルをSphinxで作ってみた
社内のマニュアルをSphinxで作ってみたIosif Takakura
 
Distributed Tracing with Jaeger
Distributed Tracing with JaegerDistributed Tracing with Jaeger
Distributed Tracing with JaegerInho Kang
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...Sonatype
 
Boost.GraphでJR全線乗り尽くしプランを立てる - プログラミング生放送+CLR/H+Sapporo.cpp 勉強会@札幌 (2014.7.12)
Boost.GraphでJR全線乗り尽くしプランを立てる - プログラミング生放送+CLR/H+Sapporo.cpp 勉強会@札幌 (2014.7.12)Boost.GraphでJR全線乗り尽くしプランを立てる - プログラミング生放送+CLR/H+Sapporo.cpp 勉強会@札幌 (2014.7.12)
Boost.GraphでJR全線乗り尽くしプランを立てる - プログラミング生放送+CLR/H+Sapporo.cpp 勉強会@札幌 (2014.7.12)Hiro H.
 
高位合成ツールVivado hlsのopen cv対応
高位合成ツールVivado hlsのopen cv対応高位合成ツールVivado hlsのopen cv対応
高位合成ツールVivado hlsのopen cv対応marsee101
 
End to end Machine Learning using Kubeflow - Build, Train, Deploy and Manage
End to end Machine Learning using Kubeflow - Build, Train, Deploy and ManageEnd to end Machine Learning using Kubeflow - Build, Train, Deploy and Manage
End to end Machine Learning using Kubeflow - Build, Train, Deploy and ManageAnimesh Singh
 
Successfully Implementing DEV-SEC-OPS in the Cloud
Successfully Implementing DEV-SEC-OPS in the CloudSuccessfully Implementing DEV-SEC-OPS in the Cloud
Successfully Implementing DEV-SEC-OPS in the CloudAmazon Web Services
 
Verilog-HDL Tutorial (14)
Verilog-HDL Tutorial (14)Verilog-HDL Tutorial (14)
Verilog-HDL Tutorial (14)Hiroki Nakahara
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」ManaMurakami1
 
Observability: Beyond the Three Pillars with Spring
Observability: Beyond the Three Pillars with SpringObservability: Beyond the Three Pillars with Spring
Observability: Beyond the Three Pillars with SpringVMware Tanzu
 

Was ist angesagt? (20)

Kubeflow Pipelines (with Tekton)
Kubeflow Pipelines (with Tekton)Kubeflow Pipelines (with Tekton)
Kubeflow Pipelines (with Tekton)
 
PYNQ 祭り: Pmod のプログラミング
PYNQ 祭り: Pmod のプログラミングPYNQ 祭り: Pmod のプログラミング
PYNQ 祭り: Pmod のプログラミング
 
Tutorial on SDN data plane evolution
Tutorial on SDN data plane evolutionTutorial on SDN data plane evolution
Tutorial on SDN data plane evolution
 
DevOps Best Practices
DevOps Best PracticesDevOps Best Practices
DevOps Best Practices
 
スケールアウト・インメモリ分析の標準フォーマットを目指す Apache Arrow と Value Vectors - Tokyo Apache Dril...
スケールアウト・インメモリ分析の標準フォーマットを目指す Apache Arrow と Value Vectors - Tokyo Apache Dril...スケールアウト・インメモリ分析の標準フォーマットを目指す Apache Arrow と Value Vectors - Tokyo Apache Dril...
スケールアウト・インメモリ分析の標準フォーマットを目指す Apache Arrow と Value Vectors - Tokyo Apache Dril...
 
Apache Flink Crash Course by Slim Baltagi and Srini Palthepu
Apache Flink Crash Course by Slim Baltagi and Srini PalthepuApache Flink Crash Course by Slim Baltagi and Srini Palthepu
Apache Flink Crash Course by Slim Baltagi and Srini Palthepu
 
社内のマニュアルをSphinxで作ってみた
社内のマニュアルをSphinxで作ってみた社内のマニュアルをSphinxで作ってみた
社内のマニュアルをSphinxで作ってみた
 
Distributed Tracing with Jaeger
Distributed Tracing with JaegerDistributed Tracing with Jaeger
Distributed Tracing with Jaeger
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
 
DevOps Culture and Principles
DevOps Culture and PrinciplesDevOps Culture and Principles
DevOps Culture and Principles
 
Boost.GraphでJR全線乗り尽くしプランを立てる - プログラミング生放送+CLR/H+Sapporo.cpp 勉強会@札幌 (2014.7.12)
Boost.GraphでJR全線乗り尽くしプランを立てる - プログラミング生放送+CLR/H+Sapporo.cpp 勉強会@札幌 (2014.7.12)Boost.GraphでJR全線乗り尽くしプランを立てる - プログラミング生放送+CLR/H+Sapporo.cpp 勉強会@札幌 (2014.7.12)
Boost.GraphでJR全線乗り尽くしプランを立てる - プログラミング生放送+CLR/H+Sapporo.cpp 勉強会@札幌 (2014.7.12)
 
高位合成ツールVivado hlsのopen cv対応
高位合成ツールVivado hlsのopen cv対応高位合成ツールVivado hlsのopen cv対応
高位合成ツールVivado hlsのopen cv対応
 
Devops
DevopsDevops
Devops
 
End to end Machine Learning using Kubeflow - Build, Train, Deploy and Manage
End to end Machine Learning using Kubeflow - Build, Train, Deploy and ManageEnd to end Machine Learning using Kubeflow - Build, Train, Deploy and Manage
End to end Machine Learning using Kubeflow - Build, Train, Deploy and Manage
 
Successfully Implementing DEV-SEC-OPS in the Cloud
Successfully Implementing DEV-SEC-OPS in the CloudSuccessfully Implementing DEV-SEC-OPS in the Cloud
Successfully Implementing DEV-SEC-OPS in the Cloud
 
GRPC.pptx
GRPC.pptxGRPC.pptx
GRPC.pptx
 
Verilog-HDL Tutorial (14)
Verilog-HDL Tutorial (14)Verilog-HDL Tutorial (14)
Verilog-HDL Tutorial (14)
 
BGP Update Source
BGP Update Source BGP Update Source
BGP Update Source
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
 
Observability: Beyond the Three Pillars with Spring
Observability: Beyond the Three Pillars with SpringObservability: Beyond the Three Pillars with Spring
Observability: Beyond the Three Pillars with Spring
 

Andere mochten auch

딥러닝(Deep Learing) using DeepDetect
딥러닝(Deep Learing) using DeepDetect딥러닝(Deep Learing) using DeepDetect
딥러닝(Deep Learing) using DeepDetectJunyi Song
 
응답하라 반응형웹 - 3. bootstrap
응답하라 반응형웹 - 3. bootstrap응답하라 반응형웹 - 3. bootstrap
응답하라 반응형웹 - 3. bootstrapredribbon1307
 
마인즈랩 사업소개 20151031_v1.0
마인즈랩 사업소개 20151031_v1.0마인즈랩 사업소개 20151031_v1.0
마인즈랩 사업소개 20151031_v1.0Taejoon Yoo
 
[NDC2017 : 박준철] Python 게임 서버 안녕하십니까 - 몬스터 슈퍼리그 게임 서버
[NDC2017 : 박준철] Python 게임 서버 안녕하십니까 - 몬스터 슈퍼리그 게임 서버[NDC2017 : 박준철] Python 게임 서버 안녕하십니까 - 몬스터 슈퍼리그 게임 서버
[NDC2017 : 박준철] Python 게임 서버 안녕하십니까 - 몬스터 슈퍼리그 게임 서버준철 박
 
마인즈랩 회사소개서 V1.5
마인즈랩 회사소개서 V1.5마인즈랩 회사소개서 V1.5
마인즈랩 회사소개서 V1.5Taejoon Yoo
 
Differentiable Neural Computer
Differentiable Neural ComputerDifferentiable Neural Computer
Differentiable Neural ComputerTaehoon Kim
 
알아두면 쓸데있는 신기한 강화학습 NAVER 2017
알아두면 쓸데있는 신기한 강화학습 NAVER 2017알아두면 쓸데있는 신기한 강화학습 NAVER 2017
알아두면 쓸데있는 신기한 강화학습 NAVER 2017Taehoon Kim
 
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017Taehoon Kim
 

Andere mochten auch (9)

Tensorflow vs MxNet
Tensorflow vs MxNetTensorflow vs MxNet
Tensorflow vs MxNet
 
딥러닝(Deep Learing) using DeepDetect
딥러닝(Deep Learing) using DeepDetect딥러닝(Deep Learing) using DeepDetect
딥러닝(Deep Learing) using DeepDetect
 
응답하라 반응형웹 - 3. bootstrap
응답하라 반응형웹 - 3. bootstrap응답하라 반응형웹 - 3. bootstrap
응답하라 반응형웹 - 3. bootstrap
 
마인즈랩 사업소개 20151031_v1.0
마인즈랩 사업소개 20151031_v1.0마인즈랩 사업소개 20151031_v1.0
마인즈랩 사업소개 20151031_v1.0
 
[NDC2017 : 박준철] Python 게임 서버 안녕하십니까 - 몬스터 슈퍼리그 게임 서버
[NDC2017 : 박준철] Python 게임 서버 안녕하십니까 - 몬스터 슈퍼리그 게임 서버[NDC2017 : 박준철] Python 게임 서버 안녕하십니까 - 몬스터 슈퍼리그 게임 서버
[NDC2017 : 박준철] Python 게임 서버 안녕하십니까 - 몬스터 슈퍼리그 게임 서버
 
마인즈랩 회사소개서 V1.5
마인즈랩 회사소개서 V1.5마인즈랩 회사소개서 V1.5
마인즈랩 회사소개서 V1.5
 
Differentiable Neural Computer
Differentiable Neural ComputerDifferentiable Neural Computer
Differentiable Neural Computer
 
알아두면 쓸데있는 신기한 강화학습 NAVER 2017
알아두면 쓸데있는 신기한 강화학습 NAVER 2017알아두면 쓸데있는 신기한 강화학습 NAVER 2017
알아두면 쓸데있는 신기한 강화학습 NAVER 2017
 
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
 

Ähnlich wie 딥러닝프레임워크비교

Apache Deep Learning 201 - Barcelona DWS March 2019
Apache Deep Learning 201 - Barcelona DWS March 2019Apache Deep Learning 201 - Barcelona DWS March 2019
Apache Deep Learning 201 - Barcelona DWS March 2019Timothy Spann
 
Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31
Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31
Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31Timothy Spann
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Nicole Szigeti
 
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, and Deep Learnin...
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, and Deep Learnin...A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, and Deep Learnin...
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, and Deep Learnin...Databricks
 
Data Con LA 2018 - A Tale of DL Frameworks: TensorFlow, Keras, & Deep Learnin...
Data Con LA 2018 - A Tale of DL Frameworks: TensorFlow, Keras, & Deep Learnin...Data Con LA 2018 - A Tale of DL Frameworks: TensorFlow, Keras, & Deep Learnin...
Data Con LA 2018 - A Tale of DL Frameworks: TensorFlow, Keras, & Deep Learnin...Data Con LA
 
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & Deep Learning ...
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & Deep Learning ...A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & Deep Learning ...
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & Deep Learning ...Databricks
 
Create great cncf user base from lessons learned from other open source com...
Create great cncf user base from   lessons learned from other open source com...Create great cncf user base from   lessons learned from other open source com...
Create great cncf user base from lessons learned from other open source com...Krishna-Kumar
 
AI and Spark - IBM Community AI Day
AI and Spark - IBM Community AI DayAI and Spark - IBM Community AI Day
AI and Spark - IBM Community AI DayNick Pentreath
 
Enterprise Deep Learning with DL4J
Enterprise Deep Learning with DL4JEnterprise Deep Learning with DL4J
Enterprise Deep Learning with DL4JJosh Patterson
 
Apache deep learning 202 Washington DC - DWS 2019
Apache deep learning 202   Washington DC - DWS 2019Apache deep learning 202   Washington DC - DWS 2019
Apache deep learning 202 Washington DC - DWS 2019Timothy Spann
 
Apache Deep Learning 201 - Philly Open Source
Apache Deep Learning 201 - Philly Open SourceApache Deep Learning 201 - Philly Open Source
Apache Deep Learning 201 - Philly Open SourceTimothy Spann
 

Ähnlich wie 딥러닝프레임워크비교 (20)

Apache Deep Learning 201
Apache Deep Learning 201Apache Deep Learning 201
Apache Deep Learning 201
 
Apache Deep Learning 201 - Barcelona DWS March 2019
Apache Deep Learning 201 - Barcelona DWS March 2019Apache Deep Learning 201 - Barcelona DWS March 2019
Apache Deep Learning 201 - Barcelona DWS March 2019
 
Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31
Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31
Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31
 
After summit catch up
After summit catch upAfter summit catch up
After summit catch up
 
Stackato v6
Stackato v6Stackato v6
Stackato v6
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
 
Amazon Deep Learning
Amazon Deep LearningAmazon Deep Learning
Amazon Deep Learning
 
Apereo OAE - Bootcamp
Apereo OAE - BootcampApereo OAE - Bootcamp
Apereo OAE - Bootcamp
 
DevOps-Roadmap
DevOps-RoadmapDevOps-Roadmap
DevOps-Roadmap
 
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, and Deep Learnin...
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, and Deep Learnin...A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, and Deep Learnin...
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, and Deep Learnin...
 
Data Con LA 2018 - A Tale of DL Frameworks: TensorFlow, Keras, & Deep Learnin...
Data Con LA 2018 - A Tale of DL Frameworks: TensorFlow, Keras, & Deep Learnin...Data Con LA 2018 - A Tale of DL Frameworks: TensorFlow, Keras, & Deep Learnin...
Data Con LA 2018 - A Tale of DL Frameworks: TensorFlow, Keras, & Deep Learnin...
 
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & Deep Learning ...
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & Deep Learning ...A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & Deep Learning ...
A Tale of Three Deep Learning Frameworks: TensorFlow, Keras, & Deep Learning ...
 
Stackato v4
Stackato v4Stackato v4
Stackato v4
 
Stackato
StackatoStackato
Stackato
 
Create great cncf user base from lessons learned from other open source com...
Create great cncf user base from   lessons learned from other open source com...Create great cncf user base from   lessons learned from other open source com...
Create great cncf user base from lessons learned from other open source com...
 
AI and Spark - IBM Community AI Day
AI and Spark - IBM Community AI DayAI and Spark - IBM Community AI Day
AI and Spark - IBM Community AI Day
 
Enterprise Deep Learning with DL4J
Enterprise Deep Learning with DL4JEnterprise Deep Learning with DL4J
Enterprise Deep Learning with DL4J
 
Apache deep learning 202 Washington DC - DWS 2019
Apache deep learning 202   Washington DC - DWS 2019Apache deep learning 202   Washington DC - DWS 2019
Apache deep learning 202 Washington DC - DWS 2019
 
Stackato v2
Stackato v2Stackato v2
Stackato v2
 
Apache Deep Learning 201 - Philly Open Source
Apache Deep Learning 201 - Philly Open SourceApache Deep Learning 201 - Philly Open Source
Apache Deep Learning 201 - Philly Open Source
 

Kürzlich hochgeladen

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 

Kürzlich hochgeladen (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

딥러닝프레임워크비교

  • 2. 목차 • 딥러닝 프레임워크 종류 • 딥러닝 프레임워크 비교 Sheet – 주요 특성 관점 – Tech. Stack 관점 – 설계 관점 • 딥러닝 프레임워크 사용 예시
  • 4. 딥러닝 프레임워크 Timeline 2010 2013 2014 2015 2016 2017 https://github.com/Theano/Theano/blob/master/HISTORY.txt https://www.embedded-vision.com/industry-analysis/technical-articles/caffe-deep-learning-framework-interview-core-developers https://www.preferred-networks.jp/en/news/8531 https://www.microsoft.com/en-us/research/blog/microsoft-computational-network-toolkit-offers-most-efficient-distributed-deep- learning-computational-performance/github/#sm.0000qz6ljpzl3fnrxby1iwpo5v5rf https://www.wired.com/2014/06/skymind-deep-learning/ https://twitter.com/fchollet/status/581627598741999616 https://github.com/dmlc/mxnet/issues?q=is%3Aissue+is%3Aopen+sort%3Acreated-asc https://www.wired.com/2015/11/google-open-sources-its-artificial-intelligence-engine/ https://github.com/Theano/Theano/blob/master/HISTORY.txt https://www.facebook.com/yann.lecun/posts/10152142434782143 https://techcrunch.com/2017/04/18/facebook-open-sources-caffe2-its-flexible-deep-learning-framework-of-choice/ (Nov.) (Dec.) (Jul.) (Jun.) On GitHub (Debut: Apr. ‘2015) (Oct.) (Jun.) (Nov.) (Jan.) (Apr.)(Mar.)
  • 5. • 주체 – Created by • Yangqing Jia (http://daggerfs.com/) – UC Berkerey 컴퓨터 과학 Ph.D. / 지도 교수(Trevor Darrell, BAIR 책임자) – 구글 브레인 TensorFlow 프로젝트 참여 – 페이스북 리서치 사이언티트 • Evan Shellhamer (http://imaginarynumber.net/) – UC Berkerey 컴퓨터 과학 Ph.D. / 지도 교수(Trevor Darrell, BAIR 책임자) – Maintained by • BAIR(Berkeley Artificial Intelligence Research, http://bair.berkeley.edu/) • 릴리즈 – ‘2013: DeCAF (https://arxiv.org/abs/1310.1531) – Dec. ‘2013: Caffe v0 • 적용 사례 – Facebook, Adobe, Microsoft, Samsung, Flickr, Tesla, Yelp, Pinterest, etc. • Motivation – ‘2012 ILSVRC에서 발표한 AlexNet을 재현 – DNN 정의/훈련/배포하기 위한 범용 F/W 구현 Caffe http://caffe.berkeleyvision.org/
  • 6. Caffe • 특징 – 장점 • 이미지 처리에 특화 • 프로그래밍하는 대신 설정 파일로 학습 방법을 정의 • Caffe Model Zoo를 통한 다양한 Pre-trained Model 제공 • 이미지 기반 참조 모델의 de facto standard – 단점 • 이미지 이외의 텍스트, 사운드 등의 데이터 처리에는 부적합 • 유연하지 못한 API – 새로운 기능 추가의 경우 C++/CUDA로 직접 구현 필요 • 문서화가 잘 안되어 있음 http://caffe.berkeleyvision.org/ Caffe2(http://caffe2.ai/) 출시 - By Facebook - Android 지원, iOS 지원(예정) - 분산 처리 지원 F/W 주체 플랫폼 모바일 언어 인터페이스 OpenMP CUDA OpenCL 멀티GPU 분산 Caffe BAIR Linux, Mac - C++ Python, MATLAB Y Y - Y
  • 7. • 주체 – Created & Maintained by • Preferred Networks, Inc.(https://www.preferred-networks.jp/ja/) • 릴리즈 – Jun. ‘2015 • 적용 사례 – Toyota motors, Panasonic (https://www.wsj.com/articles/japan-seeks-tech-revival-with-artificial- intelligence-1448911981) – FANUC (http://www.fanucamerica.com/FanucAmerica-news/Press- releases/PressReleaseDetails.aspx?id=79) • Motivation – Define-by-Run 아키텍처 • 실행 시점에 네트워크 그래프가 정의됨 • 복잡한 네트워크 정의를 보다 유연하게 지원할 수 있게 함 Chainer http://docs.chainer.org/en/latest/index.html
  • 8. Chainer • 특징 – 장점 • 빠른 속도 출처: Performance of Distributed Deep Learning using ChainerMN http://chainer.org/general/2017/02/08/Performance-of-Distributed-Deep-Learning-Using-ChainerMN.html http://docs.chainer.org/en/latest/index.html F/W 주체 플랫폼 모바일 언어 인터페이스 OpenMP CUDA OpenCL 멀티GPU 분산 Chainer Preferred Networks Linux - Python Python - Y - Y Y
  • 9. Chainer • 특징 – 장점 • Define-by-Run 모델 기반의 유연성 제공 – 단점 • 협소한 사용자 커뮤니티 출처: Complex Neural networks made easy by Chainer https://www.oreilly.com/learning/complex-neural-networks-made-easy-by-chainer [Define-and-Run (TensorFlow)] [Define-by-Run (Chainer, PyTorch)] http://docs.chainer.org/en/latest/index.html
  • 10. • 주체 – Created & Maintained by • Microsoft Research • 릴리즈 – Jan. ‘2016 • 적용 사례 – Microsoft’s speech recognition engine – Skype’s Translator • Motivation – Efficient performance on distributed environments CNTK https://www.microsoft.com/en-us/research/product/cognitive-toolkit/ https://www.microsoft.com/en-us/research/blog/microsoft-computational-network-toolkit-offers-most-efficient-distributed-deep-learning-computational-performance/
  • 11. CNTK • 특징 – 장점 • 처리 성능의 linear scaling – 단점 • 협소한 사용자 커뮤니티 https://www.microsoft.com/en-us/research/product/cognitive-toolkit/ 출처: Microsoft Computational Network Toolkit offers most efficient distributed deep learning computational performance https://www.microsoft.com/en-us/research/blog/microsoft-computational-network-toolkit-offers-most-efficient-distributed- deep-learning-computational-performance/ [2015. 7] F/W 주체 플랫폼 모바일 언어 인터페이스 OpenMP CUDA OpenCL 멀티GPU 분산 CNTK Microsoft Linux, Windows - C++ Python, C++ Y Y - Y Y
  • 12. • 주체 – Created by • Adam Gibson @Skymind (CTO) • Chris Nicholson @Skymind (CEO) – Maintained by • Skymind (https://skymind.ai/) • 릴리즈 – Jun. ‘2014 • 적용 사례 – 은행 Fraud Detection 연구 파트너쉽 with Nextremer in Japan (https://skymind.ai/press/nextremer) • Motivation – 가장 많은 프로그래머를 보유하는 Java 기반의 딥러닝 프레임워크 개발 – 추론엔진에 대해 엔터프라이즈 서비스급 안정성을 보장 DL4J https://deeplearning4j.org/
  • 13. DL4J • 특징 – 장점 • Java를 기반으로 한 쉬운 이식성 및 엔터프라이즈 시스템 수준의 안전성 제공 • Spark 기반의 분산 처리 지원 • 문서화가 잘 되어 있음 / 학습 디버깅을 위한 시각화 도구 DL4J UI 제공 • 기업 대상 기술 컨설팅 제공 – 단점 • Java 언어로 인한 학습 및 테스트 과정의 번거로움 • 협소한 사용자 커뮤니티 • 부족한 예제 https://deeplearning4j.org/ F/W 주체 플랫폼 모바일 언어 인터페이스 OpenMP CUDA OpenCL 멀티GPU 분산 DL4J SkyMind Cross- platform (JVM) Android Java Java, Scala, Python Y Y - Y Y (Spark)
  • 14. • 주체 – Created & Maintained by • Francois Chollet @Google • 릴리즈 – Mar. ‘2015 • 적용 사례 – TensorFlow (http://www.fast.ai/2017/01/03/keras) • Motivation – Provide a high-level interface based on deep learning framework like Theano, TensorFlow – Easy to use – 최소화, 단순화, 모듈화 – 다양한 딥러닝 프레임워크와의 쉬운 연동 Keras https://keras.io/
  • 15. Keras • 특징 – 장점 • 직관적인 API 인터페이스 • Caffe, Torch, TensorFlow 등 다양한 딥러닝 프레임워크 모델 import 기능 제공 • 문서화가 잘되어 있음 – 단점 • 기반 Theano 프레임워크에서 문제가 발생시 debugging이 어려움 https://keras.io/ F/W 주체 플랫폼 모바일 언어 인터페이스 OpenMP CUDA OpenCL 멀티GPU 분산 Keras François Chollet Linux, Mac, Windows - Python Python Y(Theano) N(TF) Y - Y
  • 16. • 주체 – Created by • CMU (http://www.cs.cmu.edu/~muli/file/mxnet-learning-sys.pdf) – Maintained by • DMLC(Distributed Machine Learning Community) – CMU, NYU, NVIDIA, Baidu, Amazon, etc. • 릴리즈 – Oct. ‘2015 • 적용 사례 – AWS (https://www.infoq.com/news/2016/11/amazon-mxnet-deep-learning) • Motivation – Support for Mixed Programming Model: Imperative & Symbolic – Support for Portability: Desktops, Clusters, Mobiles, etc. – Support for Multiple Languages: C++, R, Python, Matlab, Javascript, etc. MXNet http://mxnet.io/
  • 17. MXNet • 특징 – 장점 • 다양한 프로그래밍 인터페이스 제공 • 모바일 지원 • 빠르게 발전 • low-level / high-level API 모두 제공 • Imperative / Graph 프로그래밍 모델 모두 지원 http://mxnet.io/ F/W 주체 플랫폼 모바일 언어 인터페이스 OpenMP CUDA OpenCL 멀티GPU 분산 MXNet DMLC Linux, Mac, Windows, Javascript Android, iOS C++ C++, Python, Julia, MATLAB, JavaScript, Go, R, Scala, Perl Y Y - Y Y
  • 18. MXNet – 단점 • 다소 처리 속도 느림 http://mxnet.io/ 출처: How to run deep neural networks on weak hardware https://www.linkedin.com/pulse/how-run-deep-neural-networks- weak-hardware-dmytro-prylipko 출처: Benchmarking State-of-the-Art Deep Learning Software Tools http://dlbench.comp.hkbu.edu.hk/?v=v7
  • 19. • 주체 – Created & Maintained by • Google Brain • 릴리즈 – Nov. ‘2015 • 적용 사례 – Google • Search Signals (https://www.bloomberg.com/news/articles/2015-10-26/google- turning-its-lucrative-web-search-over-to-ai-machines) • Email auto-responder (https://research.googleblog.com/2015/11/computer- respond-to-this-email.html) • Photo Search (https://techcrunch.com/2015/11/09/google-open-sources-the- machine-learning-tech-behind-google-photos-search-smart-reply-and- more/#.t38yrr8:fUIZ) • Motivation – It’s Google TensorFlow https://www.tensorflow.org/
  • 20. TensorFlow • 특징 – 장점 • 추상화된 그래프 모델 • 학습 디버깅을 위한 시각화 도구 TensorBoard 제공 • 모바일 지원 • low-level / high-level API 모두 제공 https://www.tensorflow.org/ F/W 주체 플랫폼 모바일 언어 인터페이스 OpenMP CUDA OpenCL 멀티GPU 분산 TensorFlow Google Linux, Mac, Windows Android, iOS C++, Python Python, C/C++, Java, Go N Y - Y Y
  • 21. TensorFlow – 장점 • 방대한 사용자 커뮤니티 https://www.tensorflow.org/ 출처: Machine Learning Frameworks Comparison https://blog.paperspace.com/which-ml-framework-should-i-use
  • 22. TensorFlow – 단점 • Define-and-Run 모델 / 런타임에 그래프 변경 안됨 • Torch에 비해 느림 https://www.tensorflow.org/ 출처: soumith/convnet-benchmarks https://github.com/soumith/convnet-benchmarks
  • 23. • 주체 – Created by • James Bergstra, Frederic Bastien, etc. (http://www.iro.umontreal.ca/~lisa/pointeurs/theano_scipy2010.pdf_ – Maintained by • LISA lab @ Université de Montréal • 릴리즈 – Nov ‘2010 • 적용 사례 – Keras – Lasagne – Blocks • Motivation – There’s any. Theano http://deeplearning.net/software/theano/index.html
  • 24. Theano • 특징 – 장점 • low-level을 제어할 수 있는 API • 추상화된 그래프 모델 지원 • 빠르고 유연함 • Keras, Lasagne, Blocks 등 Wrapper 프레임워크의 기반 프레임워크 – 단점 • low-level API의 복잡성 http://deeplearning.net/software/theano/index.html F/W 주체 플랫폼 모바일 언어 인터페이스 OpenMP CUDA OpenCL 멀티GPU 분산 Theano Université de Montréal Linux, Mac, Windows - Python Python Y Y - Y
  • 25. • 주체 – Created & Maintained by • Ronan Collobert: Research Scientist @ Facebook • Clément Farabet: Senior Software Engineer @ Twitter • Koray Kavukcuoglu: Research Scientist @ Google DeepMind • Soumith Chinatala: Research Engineer @ Facebook • 릴리즈 – Jul. ‘2014 • 적용 사례 – Facebook, Google, Twitter, Element Inc., etc. • Motivation – Unlike Caffe, for research rather than mass market – Unlike Theano, easy to use based on imperative model rather than symbolic model Torch http://torch.ch/
  • 26. Torch • 특징 – 장점 • 알고리즘 모듈화가 잘 되어 있어 사용이 용이 • 다양한 데이터 전처리 및 시각화 유틸리티 제공 • 간단한 Lua 프로그래밍 구문 • Imperative 프로그래밍 모델 기반의 직관적인 API • OpenCL 지원 • 모바일 지원 – 단점 • 파이썬 인터페이스 없음(PyTorch 별도 존재) • 문서화가 잘 안되어 있음 • 협소한 사용자 커뮤니티 • 심볼릭 모델 미제공 • 상용 어플레케이션이 아니라 연구용으로 적합 http://torch.ch/ F/W 주체 플랫폼 모바일 언어 인터페이스 OpenMP CUDA OpenCL 멀티GPU 분산 Torch Ronan, Clément, Koray, Soumith Linux, Mac, Windows Android, iOS C, Lua Lua Y Y Y Y Not officiall y
  • 28. 오픈소스 딥러닝 프레임워크 • 비교 기준 – 주요 특성 • 설치 플랫폼 • 모바일 지원 • 개발 언어 • 프로그래밍 인터페이스 • OpenMP 지원 • CUDA / OpenCL 지원 • 멀티 노드 지원 • 프로그래밍 모델 – Tech. Stack • 시각화 • 워크플로우 관리 • Computational Graph(CG) 관리 • Multi-dimensional array 처리 • Numerical computation • Computational Device
  • 29. 오픈소스 딥러닝 프레임워크 • 비교 기준 – 설계 • (Which) Interface Language • (How) Compute backprop • (How) Update parameters • (When) Run user codes • (How) Optimize CG • (How) Scale up training
  • 30. 딥러닝 프레임워크 Sheet – 주요 특성 F/W 주체 플랫폼 모바일 언어 인터페이스 OpenMP CUDA OpenCL 멀티GPU 분산 Caffe BAIR Linux, Mac - C++ Python, MATAB Y Y - Y Chainer Preferred Networks Linux - Python Python - Y - Y Y CNTK Microsoft Linux, Windows - C++ Python, C++ Y Y - Y Y DL4J SkyMind Cross- platform (JVM) Android Java Java, Scala, Python Y Y - Y Y (Spark) Keras François Chollet Linux, Mac, Windows - Python Python Y(Theano) N(TF) Y - Y MXNet DMLC Linux, Mac, Windows, Javascript Android, iOS C++ C++, Python, Julia, MATLAB, JavaScript, Go, R, Scala, Perl Y Y - Y Y TensorFlow Google Linux, Mac, Windows Android, iOS C++, Python Python, C/C++, Java, Go N Y - Y Y Theano Université de Montréal Linux, Mac, Windows - Python Python Y Y - Y Torch Ronan, Clément, Koray, Soumith Linux, Mac, Windows Android, iOS C, Lua Lua Y Y Y Y Not officiall y 출처: Comparison of deep learning software https://en.wikipedia.org/wiki/Comparison_of_deep_learning_software#cite_note-29
  • 31. 딥러닝 프레임워크 Sheet – 주요 특성 출처: Getting Started with Dep Learning https://svds.com/getting-started-deep-learning/
  • 32. 딥러닝 프레임워크 Sheet – Tech. Stack • 딥러닝 프레임워크의 주요 Tech. Stack 출처: DLIF: Common design of neural network implementations https://www.dropbox.com/s/qfz34ba3ftuli6b/AAAI2017-2-0203.pdf
  • 33. 딥러닝 프레임워크 Sheet Chainer Numpy BLAS 시각화 워크플로우 관리 CG 관리 Multi-dimensional Array 처리 Numerical computation CPU Computational Device 시각화 워크플로우 관리 CG 관리 Multi-dimensional Array 처리 Numerical computation Computational Device [Caffe] [Chainer] [CNTK] [DL4J] Cupy cuBLAS GPU cuDNN Caffe blob BLAS CPU cuBLAS GPU cuDNN CNTK BLAS CPU Tensor cuBLAS GPU cuDNN DL4J ND4J BLAS CPU cuBLAS GPU cuDNN TensorBoard DL4J UI 출처: DLIF: Common design of neural network implementations https://www.dropbox.com/s/qfz34ba3ftuli6b/AAAI2017-2-0203.pdf
  • 34. 딥러닝 프레임워크 Sheet 시각화 워크플로우 관리 CG 관리 Multi-dimensional Array 처리 Numerical computation Computational Device 시각화 워크플로우 관리 CG 관리 Multi-dimensional Array 처리 Numerical computation Computational Device [MXNet] [TensorFlow] [Theano] Tensor BLAS CPU cuBLAS GPU cuDNN visdom TensorFlow TF slim Keras, Lasgane, Blocks, etc Theano BLAS CPU Numpy libgpuarray CUDA, OpenCL CUDA Toolkit GPU [Torch] MXNet mxnet.ndarray BLAS CPU cuBLAS GPU cuDNN Torch Tensor BLAS CPU cuBLAS GPU cuDNN mxnet.viz TensorBoard 출처: DLIF: Common design of neural network implementations https://www.dropbox.com/s/qfz34ba3ftuli6b/AAAI2017-2-0203.pdf
  • 35. 딥러닝 프레임워크 Sheet – 설계 • 딥러닝 프레임워크의 설계 전략 출처: DLIF: Differences of deep learning frameworks https://www.dropbox.com/s/6sbt9jmrwg414c8/AAAI2017-3-0331.pdf
  • 36. 딥러닝 프레임워크 Sheet – 설계 출처: DLIF: Differences of deep learning frameworks https://www.dropbox.com/s/6sbt9jmrwg414c8/AAAI2017-3-0331.pdf
  • 37. 딥러닝 프레임워크 Sheet – 설계 Write NNs – in Which Languges? Declarative Config. File High portability Low flexibility Caffe Procedural Scripting High flexibility Low portability Others Compute backprop – How? Graph Easy and simple to implement Low flexibility Torch Caffe Chainer Extended Graph High flexibility Backprop extended graph에도 오퍼레이 션 가능(eg. Backrprop of backprop) Implementation gets complicated Theano MXNet TensorFlow 출처: DLIF: Differences of deep learning frameworks https://www.dropbox.com/s/6sbt9jmrwg414c8/AAAI2017-3-0331.pdf
  • 38. 딥러닝 프레임워크 Sheet – 설계 Update parameters – How to represent? Parameters as part of operator nodes Intuitiveness Low flexibility and reusability Torch Caffe MXNet Parameters as separate nodes in the graph High flexibility and reusability We can apply any operations that can be done for variable nodes to the parameters Theano Chainer TensorFlow 출처: DLIF: Differences of deep learning frameworks https://www.dropbox.com/s/6sbt9jmrwg414c8/AAAI2017-3-0331.pdf
  • 39. 딥러닝 프레임워크 Sheet – 설계 Update parameters – How to update? by routines outside of the graph Easy to impelement Low integrity Torch Caffe MXNet Chainer As a part of the graphs High integrity Implement gets complicated Theano TensorFlow 출처: DLIF: Differences of deep learning frameworks https://www.dropbox.com/s/6sbt9jmrwg414c8/AAAI2017-3-0331.pdf
  • 40. 딥러닝 프레임워크 Sheet – 설계 Run user codes – When? Static CG (Define-and-run) Easy to optimize the computations Low flexibility and usability Others Dynamic CG (Define-by-run) High flexibility and usability Users can build different graphs for different iterations using language syntaxes Hard to optimize the computations Difficult to do optimization every iteration due to its computational cost Chainer 출처: DLIF: Differences of deep learning frameworks https://www.dropbox.com/s/6sbt9jmrwg414c8/AAAI2017-3-0331.pdf
  • 41. 딥러닝 프레임워크 Sheet – 설계 Optimize CG – How to extend current F/W? Transform the graph to optimize the computations Theano TensorFlow Provide easy ways to write custom operator nodes Torch MXNet Chainer Chainer : also provides ways to write custom CUDA kernels with JIT compilation 출처: DLIF: Differences of deep learning frameworks https://www.dropbox.com/s/6sbt9jmrwg414c8/AAAI2017-3-0331.pdf Scale up training – How? Multi-GPU All Distributed Computations MXNet TensorFlow CNTK Chainer DL4J Torch(Not Officially)
  • 51. References • Comparison of deep learning software https://en.wikipedia.org/wiki/Comparison_of_deep_learning_software#cit e_note-29 • Deep Learning Frameworks https://developer.nvidia.com/deep-learning-frameworks • Comparing Frameworks: Deeplearning4j, Torch, Theano, TensorFlow, Caffe, Paddle, MxNet, Keras & CNTK https://deeplearning4j.org/compare-dl4j-torch7-pylearn#caffe • Performance of Distributed Deep Learning using ChainerMN http://chainer.org/general/2017/02/08/Performance-of-Distributed- Deep-Learning-Using-ChainerMN.html • Comparison with Other Frameworks http://docs.chainer.org/en/latest/comparison.html • Complex Neural networks made easy by Chainer https://www.oreilly.com/learning/complex-neural-networks-made-easy- by-chainer
  • 52. References • How is PyTorch different from Tensorflow? https://hackernoon.com/how-is-pytorch-different-from-tensorflow- 2c90f44747d6 • How to run deep neural networks on weak hardware https://www.linkedin.com/pulse/how-run-deep-neural-networks-weak- hardware-dmytro-prylipko • Deep Learning frameworks: a review before finishing 2016 https://medium.com/@ricardo.guerrero/deep-learning-frameworks-a- review-before-finishing-2016-5b3ab4010b06 • Microsoft Computational Network Toolkit offers most efficient distributed deep learning computational performance https://www.microsoft.com/en-us/research/blog/microsoft- computational-network-toolkit-offers-most-efficient-distributed-deep- learning-computational-performance/
  • 53. References • Machine Learning Frameworks Comparison https://blog.paperspace.com/which-ml-framework-should-i-use/ • soumith/convnet-benchmarks https://github.com/soumith/convnet-benchmarks • Getting Started with Deep Learning https://svds.com/getting-started-deep-learning/ • Benchmarking State-of-the-Art Deep Learning Software Tools http://dlbench.comp.hkbu.edu.hk/?v=v7 • DLIF: Common design of neural network implementations https://www.dropbox.com/s/qfz34ba3ftuli6b/AAAI2017-2-0203.pdf • DLIF: Differences of deep learning frameworks https://www.dropbox.com/s/6sbt9jmrwg414c8/AAAI2017-3-0331.pdf • Complex neural networks made easy by Chainer https://www.oreilly.com/learning/complex-neural-networks-made-easy- by-chainer
  • 54. References • Microsoft Computational Network Toolkit offers most efficient distributed deep learning computational performance https://www.microsoft.com/en-us/research/blog/microsoft- computational-network-toolkit-offers-most-efficient-distributed-deep- learning-computational-performance/ • Torch vs Theano http://fastml.com/torch-vs-theano/