ROCm:AMD系开源HPC/超规模GPU计算/深度学习平台

ROCm的英文全称Radeon Open Compute platform,它是AMD在去年12月推出的一款开源GPU运算平台,目前已经发展到了1.3版本。MIOpen则是AMD为此开发的软件库,其作用是将程序设计语言和ROCm平台连接,以充分利用GCN架构。

本次发布的版本包括以下内容:

  • 深度卷积解算器针对前向和后向传播进行了优化
  • 包括Winograd和FFT转换在内的优化卷积
  • 优化GEMM深入学习
  • Pooling、Softmax、Activations、梯度算法的批量标准化和LR规范化
  • MIOpen将数据描述为4-D张量 - Tensors 4D NCHW格式
  • 支持OpenCL和HIP的框架API
  • MIOpen驱动程序可以测试MIOpen中任何特定图层的向前/向后网络
  • 二进制包增加了对Ubuntu 16.04和Fedora 24的支持
  • 源代码位于https://github.com/ROCmSoftwarePlatform/MIOpen
  • 参考文档

继续阅读ROCm:AMD系开源HPC/超规模GPU计算/深度学习平台

卷积神经网络CNN总结

卷积神经网络依旧是层级网络,只是层的功能和形式做了变化,可以说是传统神经网络的一个改进。卷积网络在本质上是一种输入到输出的映射,它能够学习大量的输入与输出之间的映射关系,而不需要任何输入和输出之间的精确的数学表达式,只要用已知的模式对卷积网络加以训练,网络就具有输入输出对之间的映射能力。

继续阅读卷积神经网络CNN总结

「一图看懂」计算机视觉识别简史:从AlexNet ResNet到Mask RCNN

最近,物体识别已经成为计算机视觉和AI最令人激动的领域之一。即时地识别出场景中所有的物体的能力似乎已经不再是秘密。随着卷积神经网络架构的发展,以及大型训练数据集和高级计算技术的支持,计算机现在可以在某些特定设置(例如人脸识别)的任务中超越人类的识别能力。

继续阅读「一图看懂」计算机视觉识别简史:从AlexNet ResNet到Mask RCNN

Ubuntu 16.04开启dlib对于AVX或者CUDA的支持

最近在使用openface来测试人脸识别,实际过程中发现识别速度非常缓慢,平均每帧的识别速度达到了秒级水平,这个是不可接受的。跟踪代码性能,发现是dlib部分非常缓慢。

根据dlib的文档,默认使用

安装的dlib库,由于对具体硬件的要求(CPU需要支持AVX指令集),是没有开启AVX指令加速的,另外由于显卡的要求,也是默认不开启CUDA的支持。

如果想要开启这部分加速,需要手工编译安装才可以,具体操作如下:

上面的命令是使用AVX指令加速功能的,如果机器上安装了CUDA,则需要正确安装cuDNN 5.0以上的版本,否在编译的时候会报告

对于使用

安装的CUDA-7.5来说,可以从这里下载cuDNN v6.0 (April 27, 2017), for CUDA 7.5,下载完成后,整个目录中的include目录中的文件解压缩到/usr/local/include/目录下,lib64目录中的内容整个解压缩到/usr/lib/目录下,并且在/usr/local/lib/目录下建立libcudnn.so的软链接

都配置正确后,使用如下编译命令安装:

相关链接


Easily Create High Quality Object Detectors with Deep Learning

执行"luarocks install cutorch"发生错误"error: implicit declaration of function 'THLongStorage_calculateExpandGeometry'"

执行

发生如下错误:

解决方法为:

参考链接


error: implicit declaration of function ‘THLongStorage_calculateExpandGeometry’

编译Torch 7时遇到错误"make[2]: *** [lib/THNN/CMakeFiles/THNN.dir/init.c.o] Error 1"

编译Torch 7时执行

遇到如下错误信息:

原因是缺少依赖包torch导致的,在安装nn之前需要先安装torch即可解决问题。

如下方式执行:

参考链接


使用torch遇到的一些问题

编译Torch 7时执行luarocks install提示"Error: No results matching query were found."

编译Torch 7时执行luarocks install 提示错误信息:

这个是由于系统上安装了多个luarocks而执行安装命令的并不是Torch 7代码目录下自带的luarocks导致的。
修正的办法就是设置搜索路径,把Torch 7代码目录下的install/bin/放到搜索目录(PATH)的最前面。

参考链接


luarocks install *错误之Error: No results matching query were found.

ubuntu 16.04 LTS使用开源面部识别库Openface

Openface是一个基于深度神经网络的开源人脸识别系统。该系统基于谷歌的文章FaceNet: A Unified Embedding for Face Recognition and ClusteringOpenface是卡内基梅隆大学的Brandon Amos主导的。

1.准备系统环境

如果是服务器版本的ubuntu,可能默认Python都没有安装

2.下载代码

3.安装opencv

4.安装依赖的python

5.安装Torch7

参考链接 ubuntu 16.04 LTS上安装Torch7

编译完成后,路径变量被加入了.bashrc,我们需要刷新一下Shell的环境变量

6.安装依赖的lua

7.编译代码

8.下载预训练后的数据

9.执行测试Demo

执行的脚本face_detect.py代码如下:

Shell中如下执行代码:

识别完成后会弹出识别到的面部图片。

ubuntu 16.04 LTS上安装Torch7

1.安装luarocks

2.安装torch

如果要使用NVIDIA CUDA加速版本的Torch7则使用如下方法

1.安装luarocks

2.下载NVIDIA CUDA适配的代码

3.安装编译依赖的库

4.编译代码

参考链接