卷积神经网络在ARM-CPU上的推断计算综述

摘要


  深度学习在计算机视觉领域大放异彩,许多在传统方法下无法解决的问题正在被一一攻克。然而,高昂的计算成本也极大地限制了深度学习的使用,在移动端设备、嵌入式设备等计算资源比较拮据的平台上其计算密集的特性尤为突出。本文对现阶段,工业界所使用的深度学习推断阶段的软件操作库、计算框架等,做了充分调研,由底向上勾勒出深度学习推断阶段的技术轮廓。本文主要工作如下:

  1. 总结深度学习推断阶段的主要操作,指出其性能瓶颈所在;
  2. 从软件库层面总结现阶段可用的开源库;
  3. 对比各层次的软件库,做出总结。

深度学习推断的主要操作


  对于大部分的卷积神经网络而言,卷积层是最消耗时间的部分,而全连接层则是参数量最多的部分[2]。 如下图所示[10]为 2012 年获得imagenet冠军的深度神经网络结构Alexnet分别在GPU和CPU进行推断的性能benchmark,由图可以看出,在CPU上卷积层和全连接层占用了95%的计算时间,而在CPU上卷积层和全连接层占用了89%的时间,如何高效地进行卷积层和全连接层的计算成为提升深度学习推断性能的关键点。

继续阅读卷积神经网络在ARM-CPU上的推断计算综述

OpenMediaVault 4.1.26省电设置

目前版本的OpenMediaVault 4.1.26缺乏必要的电源管理,但是对于NAS来说,电源管理是非常必要的,尤其是其会进行7x24小时的连续运行的时候。

当前找到的是tlp,这个工具据说不错,在此试用一段时间看看效果。

参考链接


玩转HTML5 Video视频WebVTT字幕使用样式与制作

一、HTML5 Video视频与WebVTT字幕

HTML5 Video视频支持支持外挂字幕,文件后缀名是.vtt,称为WebVTT格式,专门的web字幕格式。使用很简单,用一个<track>元素即可,例如:

只要src属性地址OK,同时有default属性,字幕就会生效。

您可以狠狠地点击这里:HTML5 video视频track加载WebVtt字幕demo

继续阅读玩转HTML5 Video视频WebVTT字幕使用样式与制作

卷积与反卷积、步长(stride)与重叠(overlap)及output的大小

1. 卷积神经网络的基础概念

        卷积神经网络是一种专门用来处理具有类似网络结果的数据的神经网络。至少在网络的一层中使用卷积运算来替代一般的矩阵乘法运算的神经网络。

        最核心的几个思想:稀疏交互、参数共享、等变表示(通俗成为平移不变性)。根本目的说白了就是为了节省运算时间和空间。那接下来看一下是怎么实现的。

1.0 卷积

         用一张图展示一下,卷积的计算。element-wise multiply 然后再相加。

继续阅读卷积与反卷积、步长(stride)与重叠(overlap)及output的大小

在Ubuntu 18.04系统中的Apache Tomcat上部署Apache Archiva

目前的Apache Archiva 2.x版本是不支持JDK 11的,但是Ubuntu 18.04系统上使用的Open JDK 11是不能正常启动Apache Archiva 2.x的,原因在于Apache Archiva 2.x版本使用的Spring Framework 4.x版本不能完全支持JDK 11。最低需要Spring Framework 5.1才算是完整支持。

暂时等待官方发布新版本吧,下面是编译过程,但是一般都编译不通过!

参考链接


树莓派4B使用ARM Compute Library运行AlexNet

参考链接


MySQL 5.7.27创建用户并授权

参考链接


macOS Catalina卸载XQuartz

目前macOS使用XQuartz实现X11相关的API,需要卸载的时候,执行如下命令即可:

参考链接


macOS卸载xquartz

macOS Catalina卸载CUDA

对于CUDA 8.0建议优先执行/Developer/NVIDIA/CUDA-8.0/bin/uninstall_cuda_8.0.pl,进行卸载操作。

对于CUDA 9.0建议优先执行/Developer/NVIDIA/CUDA-9.0/bin/uninstall_cuda_9.0.pl,进行卸载操作。

当执行上面的脚本失败的时候,删除以下两个文件路径即可卸载该驱动:

参考链接


Mac卸载CUDA