七月算法深度学习 第三期 学习笔记-第四节 深度学习框架与应用

一、Caffe:图像的一般问题Caffe很方便,是目前产品化最多的库

1.来源于Berkeley的开源框架

根据Linux版本网上找寻相应配置方式,不推荐windows上安装
2.高效、一般的训练无需手写大量代码

① Resize图片,转换存储格式(LMDB/LevelDB)
② 定义网络结构(编辑prototxt)
③ 定义solver(编辑另一个prototxt)
④ 一行命令开始训练(可以基于已有的权重赋值)
3.有python和mathlab的接口
4.对于卷积神经网络的训练和fine-tuning非常方便

5. Caffe使用方法


① 转化格式
② 定义层次结构
③ 定义solver
④ 训练

6.模型库首选:model zoo-----适用AlexNet、VGG、GoogLeNet、ResNet

7.关于fine-tuning:如果层次不变,只需修改输入输出;如果层次改变,添加/删减层次

8.fine-tuning技巧/注意点:

①优先学习权放在新加层
Ø每一层都有控制学习率的参数: blobs_lr
Ø 一般会把前面层学习率调低,最后新加层调高
Ø 你甚至可以freeze前面的层次不动
Ø一般fine-tuning的前期loss下降非常快,中间有个瓶颈期,要有耐心
② 在solver处调整学习率
Ø调低solver处的学习率(1/10, 1/100)
Ø记住存储一下中间结果,以免出现意外

9. Pycaffe: 

①Import caffe加载库

Ø caffe.net是加载/运行/训练模型的主类(接口)
Ø caffe.Classifier和caffe.Detector是针对识别/检测的接口
Ø caffe.SGDSolver最优化
Ø caffe.io负责输入输出和预处理
Ø caffe.draw可以画出网络结构图

② 加载所需库

③ 选择GPU或者CPU
④ 定义网络结构

⑤ 载入solver

⑥ Solver训练

⑦ 做完前向运算取出某层输出

二、Tensorflow:社区发达资源多

1. 概念------在Tensorflow里:

o 使用张量(tensor)表示数据.
o 使用图(graph)来表示计算任务.
o 在被称之为会话(Session)的上下文 (context)中执行图.
o 通过变量 (Variable)维护状态.
o 使用feed和fetch可以为任意的操作(arbitrary operation)赋值或者从其中获取数据.

2.关于张量(Tensor)

o 张量可以用多维数组来表示
o Numpy vs Tensorflow


o Tensorflow需要显示地输出tensor

3. Tensorflow的“计算图”

o Tensorflow一般可分为2部分:1)构造部分,包含计算流图 2)执行部分,通过session来执行图中的计算
o 构建图:1)创建源节点(source op) 2)源节点输出传递给其他节点(op)做运算
o TF默认图: 1)TensorFlow Python库有一个默认图(default graph) 2)节点构造器(op构造器)可以增加节点

3. Tensorflow的“会话”

4. Tensorflow的“变量”

5. 关于多GPU/CPU

6. TensorBoard可视化

三、facebook的Pytorch + caffe2:研究+产品应用组合

高速计算、自动求导

MxNet:对显存利用率高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值