零、总览
也就是自己写着玩,做了笔记,方便复习,也会记录一些自己学习遇到的坑嘞。
* 图像处理的问题caffe较为方便,目前产品化最多的库
* tensorflow,google老大哥,社区发达,资源多
* facebook的pytorch +caffe2,研究+产品应用组合
* mxnet对显存利用率高,且Amazon大力支持
一、caffe
高效,没有必要手写大量代码,有python、matlab的接口,对于卷积神经网络的训练和fine-tuning非常方便。
1、安装(建议ubuntu下)
a、windows如下--3.21:win10caffe配置
b、ubuntu17:ubuntu下配置
2、使用方法
a、图片一般转换为lmdb格式,定义网络结构(prototxt),定义solver,一行命令运行即可。
b、定义层结构
c、solver
d、运行
train -gpu -1 (cpu下运行)
3、模型库model zoo
a、AlexNet、 VGG、 GoogLeNet、 ResNet等,用在自己的小项目训练
二、tensorflow
tf的小项目:tf的小项目
1、小概念
o 使用张量(tensor)表示数据.
o 使用图(graph)来表示计算任务.
o 在被称之为会话(Session)的上下文 (context)中执行图.
o 通过变量 (Variable)维护状态.
o 使用feed和fetch可以为任意的操作(arbitrary operation)赋值或者从其中获取数据
2、对比numpy
3、计算图
o Tensorflow一般可分为2部分
Ø 构造部分, 包含计算流图
Ø 执行部分, 通过session来执行图中的计算
o 构建图
Ø 创建源节点(source op)
Ø 源节点输出传递给其他节点(op)做运算
o TF默认图
Ø TensorFlow Python库有一个默认图(default graph)
Ø 节点构造器(op构造器)可以增加节点
三、 MxNet
1、直达官网:直达官网
2、简单介绍
o 深度学习系统, 在编程接口设计上, 都采用将一个领域特定语言(domain specific language)嵌入到一个主语言中。例如numpy将矩阵运算嵌入到python中。
o 浅嵌入 => 命令式编程(imperative programming) Numpy 和 Torch
o 提供(针对应用)迷你语言 => 声明式语言(declarativeprograming) Caffe/theano/tensorflow
o 在命令式编程上MXNet提供张量运算, 声明式编程中MXNet,支持符号表达式,将两者衔接。
3、MxNet实现MLP
ps:目前我还没用到mxnet呢,所以只是简单的记录下,以后也主要用到tf,不过会抽时间来玩玩这个。
网友评论