【蜂口 | AI人工智能】caffe框架的使用——龙鹏的一站式caffe工程实践连载(三)...

知识引入      

这一次我将给大家带来Caffe基本使用的一个分享。本次分享将包含以下几个内容,首先Caffe的框架的介绍,我们将简单介绍一下Caffe框架的一些基本信息。然后介绍Caffe的基本使用,包含数据格式等等。接下来我们再详细的分析一下Caffe的一个网络配置文件。最后我们将详细的介绍一下Caffe训练的参数。

Caffe基本信息

Caffe,它是一个以C++和Cuda代码为主的一个开源框架。笔者比较推荐这样的一个开源框架进行学习,因为对于初学者来说,他可以接触到大量非常优秀的CI的代码,这对于大家巩固自己的代码基础是非常有用的。Caffe这个框架非常的灵活,它可以支持命令行python和Matlab等接口。多机多卡的使用也非常方便, GPU和CPU的切换也是非常的灵活。Caffe的开发者大家想必不陌生,贾扬清他在知乎上面也是一个大V,另外它还有一个另外的一个核心开发者,大家可以去Github上面关注一下他。

支持Caffe的主要平台

包括Linux mac,windows。笔者比较用的比较多的是Linux。

Caffe的依赖环境

Caffe依赖的开源库比较多,包括Cuda、Protobuf、Opencv等等。

Cuda是一个用于加速GPU训练的一个库。Protobuf是用于做序列化文件的,Opencv是一些数据读取接口,更多的这个依赖环境,我们在前面Caffe的编译,一种详细的说明,大家可以回过头去看。笔者非常喜欢Caffe这个开源框架的一个主要原因,是因为Caffe将数据和网络的定义与训练和测试代码进行了完整的分离。

与Tensorflow对比

当我们使用Tensorflow这样一个框架的时候,我们一般会将数据的读取,网络的配置,网络的训练和测试,完整地写在一个Python文件里面。在笔者看来,这里显得有点混乱,不够灵活。而Caffe不一样,Caffe将数据和网络定义写在了一个网络配置文件里面,将训练和测试代码与之完全进行分离。具体来说,我们使用Caffe是这样的一个流程,首先我们准备好数据,它可以是Image的格式或者Lmdb的格式,然后我们定义好网络的文件,包含网络结构的配置,以及输入数据的路径的配置。然后我们定义好一些训练参数,包括学习率优化方法等等。最后我们使用一些接口进行训练和测试,可以使用C++接口或者Python接口或者Matlab接口。

Caffe使用流程

主要包括以下四个步骤,如下图所示:

项目里我们会解读Caffe的数据格式。其实现在主流的开源框架,采用的数据存储格式都是类似的,他们都是采用一个四维张量来进行存储,这也符合卷积神经网络的数据格式的基本要求。

完整内容及视频解读,请微信搜索:蜂口,关注蜂口小程序~

蜂口小程序将持续为你带来最新技术的落地方法,欢迎随时关注了解~

转载于:https://my.oschina.net/u/3962502/blog/2056181

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值