更多框架

文章目录

    • 关于框架
    • Caffe
    • 基于层的设计思路
    • Protocol Buffer 技术
    • prototxt .caffemodel文件
    • caffe的训练
    • 主要特点
    • Torch
    • LUA语言
    • 主要特点
    • Tensorflow
    • computation graphs
    • MXNET

关于框架

Caffe

依赖大量第三方库
为了读取图像,以及简单的图像处理,连接很重的Opencv库
boost来实现一些C++特征
HD5/LMDB/LEVELDB来做数据IO
ProBuffer使用随处可见

基于层的设计思路

Blob模块:实现了tensor功能,保存数据和梯度值
Layer模块:根据输入(bottom)blog计算输出(top)blog,同时保存权重/梯度
NET模块:有多个layer组成,实现forward/backward计算
SOLVER模块:最优化模块,利用梯度值更新权重

Protocol Buffer 技术

引入Protocol Buffer 技术,省去编写大量描述性的c++代码,比如配置参数,属性变量等等
方便序列化,用户可以直接阅读protext文件,来了解网络结构

prototxt .caffemodel文件

protxt描述网络,通过google的protobuffer编译器直接读取/序列化c++对象
caffemodel权重文件

caffe的训练

需要做数据准备,保存为LMDB/Leveidb格式
不用编写C++代码,直接编写.prototxt定义net对象
直接编写.protoxt定义net对象
通过参数直接执行caffe命令进行训练
第一部数据准备
准备数据文件:
通过tools/create命令产生LMDB/LEVEidb格式数据文件
第二步:编写网络文件
规则简单的,可以直接用文本编辑器生成
网络结构复杂的,利用python脚本生成
注意net protoxt文件描述的是有向无环图
复杂的网络
网络结构复杂:残差网路
层数比较多,手写非常低效
网络结构无法复用,prototxt不具备可编程性
第三步:定义solver文件
简单手动编写
第四步:训练

主要特点

技术细节全面采用c++实现
依赖proto buffer/boost开发库
gpu加速采用cuda开发
opencv仅仅是补充功能,非核心模块
Layer based
采用DSL定义网络结构
layer/blob/net/solver结构

Torch

最灵活最容易学习的深度框架

LUA语言

类似javascript动态语言,LuaJit性能高与大多数脚本语言
结合c语言开发非常简单,通过Luaffi直接调用c编写模块

主要特点

灵活的框架
使用Lua语言作为控制应用层,彻底模块化设计
友好的交互
快速学习深度学习中各个组件的功能
全程可控的训练过程
适合实验新的网络类型

Tensorflow

google研发
基于computer graphs计算模型
python/c++语言
tensorboard可视化工具
多机多卡支持

computation graphs

首先构造好整个计算链路
可以对链路进行优化
分布式调度容易实现

MXNET

与tensorflow类似,但在支持图计算的基础上,增加过程模拟,支持两种计算模型
比tensorflow更轻量
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467685.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.net的label的背景如何设置成为透明_css如何设置背景图片?background属性添加背景图片...

在前端开发过程中,为了页面的美观,往往都会给html页面添加背景图片。那么如何利用css设置html中用图片做背景?本章就给大家介绍css怎样设置背景图片。有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。程…

苹果uwb定位技术

昨天的文章简单说明了手机定位的技术,文章写的比较简单,但是阅读量却还可以,这篇文章转一个uwb定位技术的文章,让更多的人了解这项技术。相关阅读:手机是怎么确定位置信息的?载波和LoRa#前言关于昨天的文章…

springboot导包显示不存在_(一)SpringBoot搭建基本后端应用

boot在计算机术语中是启动的意思,SpringBoot也就是Spring的启动器。稍有经验的JavaWeb程序员对于传统SSM结构的MVC应用,大多数最不好的体验就是搭建一个项目需要进行大量的配置。稍有不慎就可能采坑。更关键的是有些配置基本就不会去进行定制化修改。为了…

f12获取网页文本_8招教你快速搞定网页内容禁止复制粘贴,想怎么复制就怎么复制...

大家平时在搜索资料、浏览网页时,经常会复制一些内容。尤其是文字比较多时,比起一个个字手打,复制能省下不少功夫。可有时候好不容易找到资料了,却发现有些网站上的内容文本复制不了?甚至右键菜单都打不开!…

为什么需要超过48k的采样音频?

最近在看音频的事情,随便拿点东西出来聊一下,如果说的不对,请用棒槌来打我,这样我晚上睡觉就不用数绵羊了。我播放一个20HZ~20KHZ的音频,如下图我使用16K的采样率来采集它是声音信号,获取音频如下图我使用4…

Linux io内存存在的意义~

今天是母亲节,首先祝各位读者的母亲节日快乐,祝你们的母亲年轻健康。母亲节是一个亘古的话题,我本来想写个文章,但是想起来这周就一个周末,要花点时间陪下家人,昨天我们老大开会,特别说了&#…

imx6 配置串口波特率_RS232串口多机通信

一、基本原理1、主从多机通信拓扑图2、主从多机通信的具体过程 1)使所有的从机的SM2位置1,以便接收主机发来的地址;2)主机发出一帧地址信息,其中包括8位需要与之通信的从机地址,第9位为1;3)所有从机接收到地址帧后&…

一个故事讲完CPU的工作原理

上二年级的小明正坐在教室里。现在是数学课,下午第一节,窗外的蝉鸣、缓缓旋转的吊扇让同学们昏昏欲睡。此时,刘老师在黑板上写下一个问题:6324 244675 ?小明抬头看了一眼,觉得这两个数字挺眼熟。他昨天翘…

axure弹窗关闭_干货来袭,Axure插入图标的几种办法

前言在日常绘制原型的时候,经常会需要插入相应的图标(icon)到Axure中,但是看似好像很简单的事情也给蛮多小伙伴造成了困扰。现在很多开发团队都会用一些比较常见的前端框架来搭建后台管理系统,例如常见的Element-UI&am…

用指针实现高低位倒序,疯了吧

昨晚在微信群看到一个读者发的面试题目,从网上截图出来的,我百思不得其解,题目如图。幸好,我学过栈栈,C语言实现然后我写了个小程序第一个方法比较笨,当我写完自己的代码后,看到有同学发了自己的…

部署nexus服务

一、安装和启动 官网下载nexus-2.12安装包,地址:https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.12.0-01-bundle.tar.gz 此版本需要预先安装jdk1.7 解压后,用命令【./bin/nexus start】来启动 nexus有如下一些控制命令&…

天然气表怎么看多少方_上海考大学难度怎么样?看2019上海高考“成绩分布表”和“本科分数线”就知道了!...

参加高考的同学和家长们注意了~上海市教育考试院近日发布本市普通高等学校秋季招生本科各批次录取控制分数线和成绩分布表。艺术类、体育类本科文化控制分数线也同步公布。(鲁申君注:上海2019年高考本科总分660,专科总分450,不分文…

关于Linux内核代码不使用typedef的讨论?

C语言关键字 -(typedef关键字)typedef有点像火隐忍者里面的万花筒写轮眼,用起来非常炫酷有型,使你的代码更加简短,让你穿上你亲妈都认不出你的马甲…比如这样一段代码typedef struct point{int x, y;} Points;Points f…

基于深度学习模型的花卉图像分类代码_华为不止有鸿蒙!教你快速入门华为免编程深度学习神器ModelArts...

引言:本文介绍利用华为ModelArts进行深度学习的图像分类任务,不用一行代码。今年8月9日,在华为史上规模最大的开发者大会上,华为正式发布全球首个基于微内核的全场景分布式OS——鸿蒙操作系统(HarmonyOS)。但你知道吗?…

天线的原理

关注、星标公众号,不错过精彩内容来源:中兴文档小时候家里的收音机、电视机,都带着可以灵活转动拉伸的杆子,大家一定对这个可以转来转去的杆子记忆犹新,或许也好奇的发现这个杆子的长度与方向和收音机、电视的接收效果…

2d 蓝图_“蓝图”卷积--对深度可分离卷积的再思考

论文:Rethinking Depthwise Separable Convolutions: How Intra-Kernel Correlations Lead to Improved MobileNetshttps://arxiv.org/pdf/2003.13549.pdf​arxiv.org代码地址:zeiss-microscopy/BSConv​github.com一、背景一些轻量级的网络,…

原来你也在写公众号

现在凌晨1点,我睡不着,因为今天打球了,每次打球回来我总是睡得很奇怪,奇怪有时候打球回来一躺下就睡着了,有时候打球回来就会习惯性失眠。脑海里总是浮现各种打球的进球动作,然后各种幻想,再加上…

中的数组怎么转成结构体_PLC知识,什么是数组和结构体?

今天给大家介绍一下什么是数组,什么是结构体,关于数组我们会介绍数组的定义、它的使用方法,关于结构体我们会介绍结构体的使用、怎么去建立一个结构体等知识,之前也是有部分学员有问过这些问题的,那么都一块儿给大家讲…

MMU那些事儿

最近在重新看这部分知识点,内存管理和进程调度应该是Linux下最核心的两个东西,不管你做得多牛逼了,这两点拿出来讨论,总是会让人眼前一亮,或者是可以讨论很久很久,这篇文章,读完后可能也可以让大…

C语言、嵌入式中几个非常实用的宏技巧

宏打印函数 在我们的嵌入式开发中,使用printf打印一些信息是一种常用的调试手段。但是,在打印的信息量比较多的时候,就比较难知道哪些信息在哪个函数里进行打印。特别是对于异常情况的打印,我们需要快速定位到异常情况的位置。这时…