在MATLAB中通过Nvidia GeForce GPU加速深度学习计算

0. 前言

笔者用的是华硕飞行堡垒电脑,自带2G的GPU

1. 基本环境


软件:MATLAB 2018a  (当前最新的matlab版本,提供了很多关于深度学习(常见的卷积神经网络和循环神经网络)的接口)

据说matlab现在只支持NVIDIA系列的显卡,matlab 2018a Neural Network Toolbox关于深度神经网络在GPU上的加速计算有以下要求:

Using a GPU requires a CUDA® enabled NVIDIA® GPU with compute capability 3.0 or higher.

即需要一个计算能力在3.0以上的带CUDA驱动的NVIDIA系列GPU才能实现GPU加速,
在matlab命令行窗口内通过‘gpuDevice’查看显卡是否具备加速功能,

笔者的显卡的计算能力是5.0,满足要求。

2. 显卡测试


关于GPU的基本信息和基本测试流程在这里可以找到:https://ww2.mathworks.cn/help/parallel-computing/gpu-computing.html

本篇博客的目的主要是如何实现GPU对深度神经网络训练过程的加速计算。为实现GPU的加速过程,不同版本的matlab对GPU的计算能力有不同的要求:

CUDA-enabled NVIDIA GPUs with compute capability 3.0 or higher. For releases 17b and earlier, compute capability 2.0 is sufficient. For releases 14a and earlier, compute capability 1.3 is sufficient.

扫描二维码关注公众号,回复: 10681615 查看本文章

以Create Simple Deep Learning Network for Classification示例程序为例,https://ww2.mathworks.cn/help/deeplearning/examples/create-simple-deep-learning-network-for-classification.html;jsessionid=b3ffae289605ec143885daccfff2

options = trainingOptions('sgdm', ...
    'InitialLearnRate',0.01, ...
    'MaxEpochs',4, ...
    'Shuffle','every-epoch', ...
    'ValidationData',imdsValidation, ...
    'ValidationFrequency',30, ...
    'Verbose',false, ...
    'ExecutionEnvironment','cpu',...
    'Plots','training-progress');

'ExecutionEnvironment'可以设置为cpu、gpu或者auto

示例程序以CPU进行网络训练的过程如下图所示,费时45 sec

笔者以GPU进行加速训练的过程如下图所示,费时21 sec

GPU加速了计算,相比较于CPU解决了一半时间

PS:有定制开发需求,可以QQ联系:2472853871

淘宝链接:https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.53dc1deb1wXtAp&ft=t&id=605209523883

提供matlab simulink 培训 1v1教学 或者思路沟通 答疑等咨询服务,尤其擅长汽车控制、信号处理、数学建模、电机领域

发布了96 篇原创文章 · 获赞 66 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/qingfengxd1/article/details/104619417