Caffe、Tensorflow、MxNet 深度学习框架 & 简单应用

零、总览

也就是自己写着玩,做了笔记,方便复习,也会记录一些自己学习遇到的坑嘞。

* 图像处理的问题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、定义层结构

Caffe、Tensorflow、MxNet 深度学习框架 & 简单应用_第1张图片
Caffe、Tensorflow、MxNet 深度学习框架 & 简单应用_第2张图片
Caffe、Tensorflow、MxNet 深度学习框架 & 简单应用_第3张图片
Caffe、Tensorflow、MxNet 深度学习框架 & 简单应用_第4张图片
Caffe、Tensorflow、MxNet 深度学习框架 & 简单应用_第5张图片

c、solver

Caffe、Tensorflow、MxNet 深度学习框架 & 简单应用_第6张图片

d、运行

train  -gpu -1   (cpu下运行)

3、模型库model zoo

a、AlexNet、 VGG、 GoogLeNet、 ResNet等,用在自己的小项目训练

Caffe、Tensorflow、MxNet 深度学习框架 & 简单应用_第7张图片


二、tensorflow

tf的小项目:tf的小项目

1、小概念

o  使用张量(tensor)表示数据.

o  使用图(graph)来表示计算任务.

o  在被称之为会话(Session)的上下文 (context)中执行图.

o  通过变量 (Variable)维护状态.

o  使用feed和fetch可以为任意的操作(arbitrary operation)赋值或者从其中获取数据

2、对比numpy

Caffe、Tensorflow、MxNet 深度学习框架 & 简单应用_第8张图片

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,不过会抽时间来玩玩这个。

Caffe、Tensorflow、MxNet 深度学习框架 & 简单应用_第9张图片

你可能感兴趣的:(Caffe、Tensorflow、MxNet 深度学习框架 & 简单应用)