You are on page 1of 61

Caffe / Torch / TensorFlow / MxNet

Caffe
http://caffe.berkeleyvision.org


OpenCV

• boost C++ 11

• HD5/LMDB/LEVELDB IO

• ProtoBuffer

• Blob Tensor

• Layer
bottom)blog
(top)blob

• Net layer
forward/backward

• Solver
• Protocol Buffer

• protocol buffer
C++

• prototxt
• .prototxt .caffemodel

• prototxt Google Protobuffer


C++

• caffemodel
• Caffe

• LMDB/LevelDB

• C++ .prototxt net

• .prototxt solver

• caffe

• xx/xx/xx.jpg label ##

• tools/create_xxxx LMDB/LevelDB

• Python

• net prototxt

• prototxt

• Python
net
net

.prototxt
• C++ Layer
• solver



https://github.com/BVLC/caffe/wiki/Model-Z

• Caffe


• C++

• C++

• proto buffer/boost

• GPU cuda

• OpenCV/LMDB

• Layer based

• DSL

• layer/blob/net/solver
• /
Torch
http://torch.ch

• Lua

• Javascript
LuaJit

• C

LuaFFI C

• ”nn”

loss function

forward

backword
• GPU / CPU

• require(‘cutorch’)

• require(‘cunn’)

• tensor
• optim

sgd

• Lua


TensorFlow
https://www.tensorflow.org
• Google /

• computation graphs

• Python/C++

• TensorBoard


• computation graphs vs layer base

• •

• •
forward/backword

• GPU

X ()^2 2*() sqrt() y


• ipython
• /
MxNet
https://github.com/dmlc/mxnet
• TensorFlow

• TensoFlow
Caffe Torch TensorFlow MxNet

Language C++, Python Lua Python C++, Python

Pretrained Yes ++ Yes ++ Inception

Multi-GPU: Data
Yes Yes cunn. DataParallelTable Yes YES
parallel

Multi-GPU: Model
No Yes fbcunn.ModelParallel Yes (best) YES
parallel

Readable source
Yes (C++) Yes (Lua) No YES(C++ 11)
code

Good at RNN No Mediocre Yes (best) YES


• Torch Lua

• TensorFlow

• Caffe

• MxNet

You might also like