『cs231n』卷积神经网络工程实践技巧_下

概述

计算加速

方法一:

由于计算机计算矩阵乘法速度非常快,所以这是一个虽然提高内存消耗但是计算速度显著上升的方法,把feature map中的感受野(包含重叠的部分,所以会加大内存消耗)和卷积核全部拉伸成为向量,组成两个矩阵相乘,再想办法恢复为输出的feature map。

方法二:

 

利用傅里叶变换的特性加速计算,思路来源于信号处理,只对大卷积核有效。

方法三:

 

思路来源于经典算法,用的人很少,老师也没怎么介绍,个人亦是不太感兴趣,需要的时候自己查资料吧。

总结:

比较简要的总结就是,如果真的需要自己实现卷积层的时候,那就使用im2col提高效率吧。

 

GPU/CPU

这一部分老师天南海北的扯了不少,中心思想就是:深度学习使用GPU分布式计算效果更好,英伟达伟光正(历史局限性问题,现在的谷歌的TPU貌似也有崛起的可能)。

不过下图还是展示了,即使GPU在并行计算领域效能非凡(相对应的CPU很擅长顺序处理),面对深度学习的海量数据计算还是力不从心,而且,好的GPU价格往往不菲(不是我吐槽,这是老师说的),

 

 

性能瓶颈

虽然GPU计算速度极其高效,但GPU和CPU数据相互拷贝过程还是会消耗大量时间

 

文件读取,比如打开批量jpg时,由于不同图片存放于硬盘不同位置,随机索引会消耗大量时间,而解压缩也会消耗大量时间,所以一般的做法是进行预处理,解压为顺序存储的像素文件,一般各个框架都有自己的标准文件格式

 

 网瘾少年都知道,GPU么,内存越大(价格越贵)越好,(逃...

 

 浮点类型

深度学习常使用单精度(32位)浮点数,

1.节省内存,可以存储更多的数据

2.更少的位数,更少的计算量,更快的运算速度

 

在课程中的程序中,由于numpy默认精度是64位,一般都给出了显示的类型转换。

 

实际上有很多16位的尝试,也有一些取得了不错的结果,但是16位的表示范围和精度是个问题,有人做过尝试:正常的16位运算由于误差积累较难收敛,如果运算结果使用高精度暂存,然后随机四舍五入(具体怎么随机不太明晰)的话,结果不错,还有人使用10位激活函数+12位参数更新的精度组合进行计算,结果也不错,还有极端人士使用1位(1或-1)进行计算,老师说很酷,我觉得这只是他的中性的口头禅吧... ...

总之,现在老老实实的使用32位即可,以后说不定会使用16位计算。

总结

 

转载于:https://www.cnblogs.com/hellcat/p/7218439.html

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

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

相关文章

Spring属性占位符配置器–一些不太明显的选项

Spring的PropertySourcesPlaceholderConfigurer用于从XML或Java Config中定义的Spring bean定义外部化属性。 PlaceholderConfigurer支持的一些选项在文档中并不明显,但是很有趣并且可能有用。 首先,以Spring文档中的示例为例,考虑一个属性文…

计算机扬天m400c联想,【联想扬天M参数】联想扬天M系列台式电脑参数-ZOL中关村在线...

CPU型号内存容量硬盘容量屏幕尺寸显卡类型 价格详细对比Intel 奔腾双核 E52002GB DDRII 667MHz250GB SATAII 7200转高速防震硬盘集成显卡对比Intel 奔腾4 631512MBGB 512MB DDRII53380GB 7200转集成显卡对比Intel Atom 2301GBGB DDRII160GB 7200转高速防震硬盘集成显卡对比Inte…

SqlServer知识点

在公司天天写Sql写,存储过程,但是公司工具模板把创建的语句都写好了,只负责写里面的逻辑,久而久之,创建语句都不会写了。还有一些知识点都很模糊,平常使用的时候都不清楚,稀里糊涂的就在用。在这里整理一下。巩固复习。 一.存储过程。 1.存储过程类似编程语言的里面的函数,方法…

css3 flex 布局

今天做一个小实战,需要让一个登录框始终保持水平和垂直居中,第一个想到的就是通过定位(要想让一个div居中,采用定位可以解决,示例), 然后开始接触flex布局,学完感觉真的好用&#x…

ios wkweb设置图片_iOS WKWebView的使用

WKWebView的使用前言最近项目中的UIWebView被替换为了WKWebView,因此来总结一下。示例Demo:WKWebView的使用本文将从以下几方面介绍WKWebView:1、WKWebView涉及的一些类2、WKWebView涉及的代理方法3、网页内容加载进度条和title的实现4、JS和…

元组的详细操作

一、创建元组 name(chinese,gansu,beijing)创建空元组name()元组中只包含一个元素时,需要在元素后面添加逗号消除歧义name(chinese,) 二、访问元组 元组可以使用下标索引来访问元组中的值name(chinese,gansu,beijing)假如要访问chinese则使用name[0] 三、修改元组 元…

Spring Data JDBC通用DAO实现–迄今为止最轻量的ORM

我很高兴宣布Spring Data JDBC存储库项目的第一个版本。 这个开放源代码库的目的是为基于Spring框架中 JdbcTemplate关系数据库提供通用,轻量且易于使用的DAO实现,与项目的Spring Data 框架兼容。 设计目标 轻巧,快速且开销低。 只有少数几个…

【Spark】SparkStreaming-加载外部配置文件

SparkStreaming-加载外部配置文件 spark加载配置文件_百度搜索Spark加载外部配置文件 - CSDN博客spark读取配置文件中的配置 - CSDN博客spark加载properties配置文件方法 - u013013024的博客 - CSDN博客Spark 官方文档(4)——Configuration配置 - bigbi…

对计算机财务管理的理解,计算机财务管理

计算机财务管理1、引用(P4-P5);易出名词解释、选择题。应识记、理解。答:(1)相对引用(2)绝对引用(3)混合引用2、IF、SUM、VLOOKUP、DGET函数的使用方法(P22、P28、P30、P31) 识记、理解用途,能应用。答:IF函数用逻辑表达式来判断指…

卡盟主站搭建_搭建卡盟主站下载|搭建卡盟主站教程 (附带源码)百度云_ - 极光下载站...

最近,很多小伙伴们都在想搭建一个卡盟的主站,但是鉴于很多人都不太懂编程,也不知道如何找到源码。所以现在小编就为大家带来搭建卡盟主站教程,而且还把源码也一起送来了,想要搭建卡盟主站的话就记得一定要下载哦&#…

【期望DP】

【总览】 【期望dp】 求解达到某一目标的期望花费:因为最终的花费无从知晓(不可能从$\infty$推起),所以期望dp需要倒序求解。 设$f[i][j]$表示在$(i, j)$这个状态实现目标的期望值(相当于是差距是多少)。 首…

复习HTML CSS(2)

n 项目符号嵌套编号思路 标签的内容&#xff08;文本、项目符号、表格、图片等&#xff09;必须放在最底层标记中。 n 图片标记&#xff08;行内元素&#xff0c;单边标记&#xff09; l 语法&#xff1a;<img 属性 “值”> l 常用属性 Width&#xff1a;图片宽…

Spring MVC:使用基于Java的配置创建一个简单的Controller

这是我博客上与Spring MVC相关的第一篇文章。 开端总是令人兴奋的&#xff0c;因此我将尽量简洁明了。 Spring MVC允许以最方便&#xff0c;直接和快速的方式创建Web应用程序。 开始使用这项技术意味着需要Spring CORE的知识。 在文章中&#xff0c;您将了解有关创建简单的Spri…

中鸣循迹机器人_自动循迹机器人控制系统的设计

马家庆,于兆勤,刘建群,黄惠敬,陈炜楠摘要&#xff1a;循迹机器人是智能机器人领域内非常重要且被广泛研究的一种智能移动装置&#xff0c;国内许多重要的比赛都以循迹机器人为核心进行开展的。本文设计的智能循迹避障机器人的控制系统主要由四个模块组成&#xff1a;最小系统模…

2、创建分类器笔记

创建分类器 简介&#xff1a;分类是指利用数据的特性将其分类成若干类型的过程。分类与回归不同&#xff0c;回归的输出是实数。监督学习分类器就是用带标记的训练数 据建立一个模型&#xff0c;然后对未知的数据进行分类。分类器可以实现分类功能的任意算法&#xff0c;最简单…

天刀现在最新服务器,天涯明月刀8.21服务器更新公告

原标题&#xff1a;天涯明月刀8.21服务器更新公告青龙乱舞区、大地飞鹰区、天命风流区、沧海云帆区、边城浪子区全部服务器将在8月21日6:00~12:00停机维护更新&#xff0c;维护完成后上述各服务器客户端版本更新至2.0.95.5。本次维护主要调整和修改内容如下&#xff0c;给您带来…

复习上学期的HTML CSS(1)

自己跟着网上教程复习上学期的HTML CSS&#xff0c;因为已经忘得差不多了&#xff0c;而且现在学的js也要以HTML CSS为基础&#xff0c;坚持每天持续更新。 n B/S 网络结构 Browser/Server 浏览器/服务器&#xff0c;这是现在最流行的网络模式。如新浪网、凤凰网等。 C/S Clie…

XAML或JavaFx?

这是使用XAML和JavaFx构建应用程序的快速&#xff0c;主观&#xff0c; 无权且非常不科学的比较。 比较是基于我与每个人合作的个人经验。 在XAML方面&#xff0c;这意味着WPF和Win8存储应用程序 。 在JavaFx方面&#xff0c;这意味着Windows 7应用程序。 JavaFX JavaFx被Orac…

java面试2

1、list中去重&#xff08;无序&#xff0c;有序&#xff09; 2、list中记录每个出现次数&#xff0c;并去重 public static void main(String[] args) { List<String> li2 new ArrayList<String>(); li2.add("11"); l…

mongodb修改数据语句_MongoDB 之 手把手教你增删改查 MongoDB - 2

如果没看到我的金玉良言的话,就重新打开一次客户端和服务端吧本章我们来学习一下关于 MongoDB的增删改查一.MongoDB操作 之 原生ORM,根本不存在SQL语句创建数据库:这里和一般的关系型数据库一样,都要先建立一个自己的数据库空间嗯嗯嗯嗯,我感受到了你内心的惊呼,瞅瞅你们这些没…