更多框架

文章目录

    • 关于框架
    • 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#前言关于昨天的文章…

斗地主游戏小结

文章目录程序简介程序的实现程序中使用到的类Card:一副扑克牌。CardGroup:Player:玩家Game:游戏主程序Scene:游戏界面人工智能部分实现分析选牌牌型分析手牌并拆分成有效牌型出牌/跟牌分析拆牌原则:程序简介…

201671010144 2016-2017 《java程序设计》--对象与类!

随着学习的逐渐深入,java语言的独特之处与其他语言的区别慢慢显现了出来。我认为java的独特之处就在于它处理事件的思维,即面向对象,而非面向过程。初次接触到类的概念,比较难懂,后面练习过几次后,有了初步…

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

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

为什么需要超出48K的音频采样率,以及PCM到DSD的演进

网上很多观点说,根据采样定理,48K的音频采样率即可无损的表示音频模拟信号(人耳最多可以听到20K的音频),为何还需要96K, 192K等更高的采样率呢?最先我也有这样的疑问,毕竟采样定理是…

171. Excel Sheet Column Number (Easy)

Given a column title as appear in an Excel sheet, return its corresponding column number. For example: A -> 1B -> 2C -> 3...Z -> 26AA -> 27AB -> 28 思路:1.26进制转化为十进制,ord()函数;2.逐个读入字符串中的每…

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

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

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

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

HDU 2859 Phalanx(二维DP)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid2859 题目大意:对称矩阵是这样的矩阵,它由“左下到右”线对称。 相应位置的元素应该相同。 例如,这里是3 * 3对称矩阵: cbx     cpb     zcc 给出任意的…

Linux io内存存在的意义~

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

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

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

android设置访问internet权限

如果在app中访问网络&#xff0c;提示internet permission denied&#xff0c;即是没有设置访问网络的权限 在AndroidManifest.xml文件中添加如下一行即可 <uses-permission android:name"android.permission.INTERNET" />转载于:https://www.cnblogs.com/Awan…

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

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

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

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

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

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

部署nexus服务

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

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

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

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

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

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

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