Pr如何删除卷积内核效果

作者&投稿:扶叔 (若有异议请与网页底部的电邮联系)
深度学习卷积在GPU上如何优化吗~

提到人工智能领域,现在最热的词之一就是深度学习Deep Learning(下文简称DL)。近年来,深度学习成为了学术界乃至整个工业领域视觉计算方面的绝对主流。除了传统的计算机几何处理、专业渲染、医疗、生命科学、能源、金融服务、汽车、制造业以及娱乐业纷纷着力深度学习应用和技术优化,避免在企业竞争中失利。在群雄逐鹿的技术比拼中,GPU扮演着至关重要的角色,与其相关的技术优化也是研发人员关注的焦点之一。
“深度学习技术已经可以用于解决实际的问题,而不是停留在Demo演示阶段”
如微软的语音翻译、Google的猫识别,再到最近很火的人脸识别,还有自动驾驶等等,这些都是深度学习的典型应用。Alibaba、Baidu、Facebook、Google、IBM等大公司都在DL方面有很大的投入。这里必须强调一句,目前很多主流的DL框架和算法基本上都是华人主导开发的,DL的复兴,离不开华人研究者。
“在进行深度学习训练之前,你需要考虑的两件事”
一个是软件框架,例如Caffe,Tensorflow,Mxnet等等。
另一个就是硬件。硬件方面,目前有多种异构形式,cpu,fpga,dsp等等,但是最主流的还是GPU,真正能在DL当中快速形成战斗力的也是CUDA硬件(NVIDIA GPU)+CUDA的DL学习软件(cuDNN),这也是NVIDIA多年研发与培育的结果。
工欲善其事,必先利其器
现在主流的DL开发训练平台一般都用NVIDIA的显卡,比如NVIDIA TITAN系列就是非常好的工具。为了加快训练速度,一般选择在配备多个GPU的高性能计算机或集群上面进行训练,训练好的网络也很容易移植到采用NVIDIA Tegra处理器的嵌入式平台上面,如NVIDIA Jetson TX1,它们拥有相同的架构,所以移植起来会非常方便。
Jetson TX1基于NVIDIA Tegra X1处理器打造,它采用和超级计算机完全相同的Maxwell架构256核心GPU,可提供高达1T-Flops的计算性能并完整支持CUDA(Compute Unified Device Architecture)技术,配合预装的开发工具,非常适合基于深度学习的智慧型嵌入式设备的打造。前不久就有用户通过配备Tegra处理器的Jetson平台,检测自家花园是否有小猫闯入。
重头戏:卷积神经网络CNN算法优化
检测小猫闯入花园的视频红遍网络,这一应用就用到了卷积神经网络(Convolutional Neural Network,简称CNN)的分类,在台式机或者集群上学习,然后porting(移植)到Tegra上,CNN算法起了关键作用。而CNN最关键的部分就是卷积层。在图像识别,图像分类领域来讲大多数问题之所以CNN能起作用,关键就是卷积。它从两个方面演变而来,一个是声音处理的延时网络,一个是图像处理的特征点提取算法。对后者而言,卷积就是对图像做滤波,简单说,就是做一些特征值提取。常见的有sobel做边缘提取,还有hog,高斯滤波等等,这些都是二维卷积。
卷积形状优化
虽然现在大家做卷积都是方块的,但其实这只是定义,你完全可以不遵循这个标准,可以用其他的形状来代替卷积,去更好的适应你的运算方式,尤其是卷积核心比较大的时候,这也是对卷积做出优化的一种方式。 一般来说,目前比较流行的CNN网络,卷积部分会占用70%以上的计算时间,优化卷积部分就是很有必要的。你需要从算法角度、并行化角度,以及GPU硬件特性等诸多方面做出考量。 GPU本身是一种可编程的并行计算架构,它有很多很好的算法,同时NVIDIA也提供了相应的工具,帮你去进行优化。

打开“应用程序”,然后在弹出菜单中点击“附件”,选择并打开“终端”,打开终端命令窗口

在终端命令窗口中输入并执行下面的命令:uname -a,查看我们当前使用的内核,不要删除错误了,或者当我们使用的是旧内核进入系统,想删除这个内核启动项,这样也是不能删除的。只能在开机时选择别的内核启动项进入系统才能删除

输入下面的命令,查看当前我们系统中有哪些内核启动项,同时也可以方便我们复制的操作,具体命令是:
dpkg --get-selections | grep linux

下面就开始删除内核启动项,先选择内核启动项,然后复制,这样方便操作,然后输入下面的命令:
sudo apt-get remove linux-image-2.6.32.21-generic

执行过程中会警告我们确实要执行这个操作,输入字母y,然后回车,就开始卸载旧内核了

之后就是一些具体的卸载过程的提示,已经更新系统启动项的信息

我们再次使用命令:dpkg --get-selections | grep linux 来查看当前的内核情况:
在 linux-image-2.6.32.21-generic 后面显示deinstall,表示已经卸载了

linux-headers-2.6.32.21和 linux-headers-2.6.32.21-generic是之前我们卸载的内核相关联的头文件,现在对于我们也没有用,也可以卸载了,卸载了可以帮我们清理出不少磁盘空间,具体命令是:
sudo apt-get remove linux-headers-2.6.32-21
sudo apt-get remove linux-headers-2.6.32-21-generic

删除完后,再用命令:dpkg --get-selections | grep linux 查看当前内核启动选项相关信息:

linux-headers-2.6.32-21 已经没有了,被删除了
linux-headers-2.6.32-21-generic已经没有了,被删除了
linux-image-2.6.32-21-generic 显示为deinstall,表示被卸载删除了

虽然在卸载旧内核的时候提示信息说已经帮我们更新了系统启动项,但为了保险起见我们执行sudo update-grub更新开机启动控制文件。

调整效果

自动颜色、自动对比度和自动色阶效果

自动颜色、自动对比度和自动色阶效果对剪辑进行快速全局调整。“自动颜色”通过对中间调进行中和并剪切黑白像素,来调整对比度和颜色。“自动对比度”在无需增加或消除色偏的情况下调整总体对比度和颜色混合。“自动色阶”自动校正高光和阴影。由于“自动色阶”单独调整每个颜色通道,因此可能会消除或增加色偏。
每个效果各有一项或多项以下设置:

瞬时平滑
相邻帧相对于其周围帧的范围(以秒为单位),通过分析此范围可以确定每个帧所需的校正量。如果“瞬时平滑”为 0,将独立分析每个帧,而不考虑周围的帧。“瞬时平滑”可使校正随时间的推移看起来更平滑。

场景检测
如果选择此选项,在效果分析周围帧的瞬时平滑时,超出场景变化的帧将被忽略。

对齐中性中间调(仅自动颜色)
标识帧中近乎中性颜色的平均值,然后调整灰度系数值以使颜色成为中性。

减少黑色像素、减少白色像素
有多少阴影和高光被剪切到图像中新的极端阴影和高光颜色。注意不要将剪切值设置得太大,因为这样做会降低阴影或高光中的细节。建议设置为 0.0% 到 1% 之间的值。默认情况下,阴影和高光像素将被剪切 0.1%,也就是说,当发现图像中最暗和最亮的像素时,将会忽略任一极端的前 0.1%;这些像素随后映射到输出黑色和输出白色。此剪切可确保输入黑色和输入白色值基于代表像素值而不是极端像素值。

与原始图像混合
确定效果的透明度。效果的结果与原始图像混合,合成的效果结果位于顶部。此值设置得越高,效果对剪辑的影响越小。例如,如果将此值设置为 100%,效果对剪辑没有可见结果;如果将此值设置为 0%,原始图像不会显示出来。

卷积内核效果

卷积内核效果根据称为卷积的数学运算来更改剪辑中每个像素的亮度值。卷积将数值矩阵叠加到像素矩阵上,将每个底层像素的值乘以叠加它的数值,并将中心像素的值替换为所有这些乘积的总和。对于图像中的每个像素,都要执行此项操作。
卷积内核设置包括一组控件,各控件表示 3x3 像素亮度乘数网格中的单元格。控件上的标签以字母“M”开头,表示在矩阵中的位置。例如,M11 控件影响网格第一行第一列中的单元格;M32 控件影响第三行第二列中的单元格。所计算的像素会进入网格的中心,位于 M22 位置。使用此效果可对各种浮雕、模糊和锐化效果的属性进行微调控制。对于给定的效果,应用卷积内核预设之一并对其进行修改比使用卷积内核效果本身从头开始创建效果更方便。

“卷积内核”像素网格,显示矩阵中的每个控件的位置

提取效果


常用的十大python图像处理工具
该库包含基本的图像处理功能,包括点操作、使用一组内置卷积内核进行过滤以及颜色空间转换。OpcenCV-Python: 是计算机视觉应用中使用最广泛的库之一 ,不仅速度快,也易于编码和部署,这使其成为执行计算密集型计算机视觉程序的绝佳选择。SimpleCV:用于构建计算机视觉应用程序的开源框架。通过它可以访问如 OpenCV 等高性能的...

10 个 Python 图像编辑工具
Pillow 包含了图像的基础处理功能,包括像素点操作、使用内置卷积内核进行滤波、颜色空间转换等等。Pillow 的 官方文档 提供了 Pillow 的安装说明自己代码库中每一个模块的示例。使用 Pillow 中的 ImageFilter 模块实现图像增强:OpenCV(Open Source Computer Vision 库)是计算机视觉领域最广泛使用的库之一,...

求TMS320c6416的原理和使用方法
由于TMS320C6416采用了新型芯片制造工艺,I\/O电压为3.3V,内核电压仅为1.2V。当时钟频率为600MHz时,DSP的最大功耗小于1.6W。2 Viterbi译码协处理器VCP在WCDMA系统中,语音和低速信令传输采用卷积码。卷积码译码方法有门限译码、硬判断Viterbi译码和软判断Viterbi译码。TMS320C6416中的VCP可进行硬判决Viterbi译码或办判决...

这5种计算机视觉技术,刷新你的世界观
换句话说,更快的R-CNN可能不是最简单或最快的目标检测方法,但它仍然是表现最好的方法之一。近年来的主要目标检测趋势已转向更快,更有效的检测系统。这在诸如You Only Look Once(YOLO),Single Shot MultiBox Detector(SSD)和基于区域的完全卷积网络(R-FCN)等方法中可见,作为在整个图像上共享计算的一种方法。

MCU可10年不换电池?日本最大的半导体厂商瑞萨是如何做到的?
此外,2017年瑞萨发布了一个ADAS及自动驾驶平台Renesas Autonomy,同时发布的还有R-CarV3M SoC,该芯片配有2颗ARM CortexA53、双CortexR7锁步内核和1个集成ISP,可满足符合ASIL-C级别功能安全的硬件要求,能够在智能摄像头、全景环视系统和雷达等多项ADAS应用中进行扩展。除了R-Car系列产品外,瑞萨也有针对...

png怎么转sc
matlab图像去模糊原始码1Shot-MaxPol 用于自然图像反卷积的MATLAB软件包 一般用途 您可以使用此源代码对自然模糊的图像进行反卷积 示范范例 ---原始图像---去模糊--- 要求 MATLAB R2015b(最低) 应该安装 ...全能图片格式转换器&绿色版全能图片转换软件图片格式相互转换\/可以预览,并且支持多种常用的图片格式文件...

什么叫高级处理器
DSP控制器能够直接向内核写入内容,而来自表中的数据则可以根据需要被调入数据高速缓存。每个循环执行多个操作 处理器的衡量标准通常是每秒所能执行的百万条指令数(MIPS)。然而,对于现在的处理器而言,这一标准则会由于组成每条指令含混的内涵而引起误解。例如,过去因用于高端并行处理器而保留的多事件指令现在仍然用于低...

明光市17229979254: 如何删除内核dmesg后的信息 -
溥蔡左甲: 方法/步骤 打开“应用程序”,然后在弹出菜单中点击“附件”,选择并打开“终端”,打开终端命令窗口 在终端命令窗口中输入并执行下面的命令:uname -a,查看我们当前使用的内核,不要删除错误了,或者当我们使用的是旧内核进入系统

明光市17229979254: 如何通俗的理解图像处理中常见的去卷积(反卷积 or -
溥蔡左甲: 为啥反褶? 因为卷积的定义,由卷积的定义式可知:积分号f(#)*g(t--#)d# 注意这是对谁积分!!!!是对#积分(书上那个 tao 打不出来) 于是 积分步骤: 1. 写画出来f(#)和g(#), 2. 为啥反褶呢????此步 就是要画出反褶的g(-#) 3. 然后开始平移g(-#) ?比如 平移t个单位,则得到g(-#+t) 4. 一定要注意对谁积分,对谁做平移!!! 多做几道题,练习一下就行了,卷积和跟卷积积分类似!!!

明光市17229979254: 如何用ORIGIN去卷积,并输出去卷积后的图形 -
溥蔡左甲: 很简单的,你先输入数据,点菜单“analysise”---“deconvolute”就可以了.结果在原来工作表后面增加2列,第二列是去卷积值,用其画图就可以了.

明光市17229979254: 内核升级后,如何删除原有内核? -
溥蔡左甲: ),刚开始我也没在意,后来受不了了,就到/boot/grub中修改了grub.cfg这个文件(很容易改的,文本文件,英文懂一点的应该就自己直接可以看懂并更改),可是,当下一次更新内核时,以前所有的内核选项都出来了(变本加厉了),没办法...

明光市17229979254: 电脑蓝屏 -
溥蔡左甲: 记住蓝屏后的代码 然后在我发的信息里 根据代码找答案 你不说代码 我们也不能知道你是哪里出毛病..常见蓝屏案例我常遇到的蓝屏就是0X0000008E, 0X0000000A,0X00000050,0X0000009F┌—┐│ 1│└—┘0x0000000A:IRQL_NOT_...

明光市17229979254: 关于电脑蓝屏 -
溥蔡左甲: 蓝屏代码含义和解决方案使用windows出现蓝色屏幕是经常的事,而且每每因为不清楚错误的来源而频繁重新安装系统,劳神费时.下列收集了一些windows死机密码,供大家参考.1、0x0000000A:IRQL_NOT_LESS_OR_EQUAL◆错误分...

明光市17229979254: 我想问一下:怎么用matlab编写函数对图像进行高斯滤波以去除噪声? -
溥蔡左甲: 2. 噪声及其噪声的 Matlab 实现 imnoise 函数格式:J=imnoise(I,type) J=imnoise(I,type,parameter)说明:J=imnoise(I,type) 返回对...

明光市17229979254: 如何完全删除另一个内核的相关推荐 -
溥蔡左甲: 方法1.首先随意进入某一操作系统,对“我的电脑”右击,选择“管理”选项;2.在管理窗口中选“磁盘管理”,等待几秒后,在磁盘管理中可以看到两个系统占用的盘符,假设当前的系统所在盘符为X盘,另外一个系统所在盘符为Y盘;3.这里如果需要删除Y盘系统,只需要选中Y盘的图标,然后右击选择“格式化”即可.(注意:格式化磁盘前,选备份好有用的磁盘文件.)4.基本设置完成后,需要对开机启动项进行修复,不然开机时候还是会有启动系统选择的.这里我们需要用到NTbootatuofix这款小软件来实现自动修复或手动修复,将那个已删除的系统的启动项引导删除即可.

明光市17229979254: 求助啊!!!怎样删除内核booting? -
溥蔡左甲: 首先删除zip里面的boot.img和devtree.img两个,然后再在META-INF/com/google/android/update-script脚本里面删除boot.img内核代码和devtree.img硬件描述代码,具体的我也不是太清楚.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网