Caffe中的基本概念
caffe2可以在ios、android系统和树莓上训练和部署模型
caffe2可以在ios、android系统和树莓上训练和部署模型
caffe2可以在ios、android系统和树莓上训练和部署模型
框架对比。
红色表示卷积层
在线caffe网络可视化工具
http://ethereon.github.io/netscope/#/editor
depthwise+pointwise 深度可分离卷积,减少卷积核参数
空洞卷积 多用于语义分离
参数共享,通过对name进行相同赋值
如不同的两个卷积层中的w和b对应name相同,则这两个层的参数就实现共享
迁移学习
-weight 加载预训练模型
caffe特殊层添加
layer定义规范
caffe中各种标准层
deploy.prototxt
只对网络前向传播进行测试,也不会输入数据,不会计算loss
caffe配置文件
solver.prototxt 配置模型训练的超参数
train_val.prototxt 训练网络
deploy.prototxt 测试网络
caffe源码解读
添加新的网络结构时候,需要在src/caffe的各个子文件夹下进行修改
test:用gtest测试caffe的代码
util:数据转换
proto:网络的数据配置文件,添加网络需要在此文件中添加相应配置,并添加.hpp和.cpp到include和src中
layers:定义layer的前向和反向计算方法
solvers:定义并实现一系列loss优化算法,如SGD,Adam
继续编译pycaffe,命令为make pycaffe,可得到python接口,能在python中调用caffe
将pycaffe路径添加到环境变量
修改makefile
编译caffe可能出现的bug
caffe(linux) 安装第三方依赖库
Caffe中基本概念:
blob (n, k, w, h)
layer 初始化网络参数,前向传播,后向传播
net 无回路 layer构建连接的 有向图
solver 创建训练网络和测试网络,周期性的测试网络,调用前向(计算输出和损失)和反向函数(计算梯度)进行迭代优化和参数更新
初始化过程包括:
初始化blob数据结构
调用layers的setup函数来初始化layers
。。。。。。。。。
Caffe中的基本概念
深度学习标准层在caffe中定义
Caffe中的基本概念
Caffe中的基本概念
Caffe中的基本概念
Caffe中的基本概念
Caffe中的基本概念
Caffe VS Caffe2