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

xiaoxiao2021-02-27  156

一、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:对显存利用率高

转载请注明原文地址: https://www.6miu.com/read-15963.html

最新回复(0)