首页 > 其他分享 >数据分析(1) --在MATLAB中通过Nvidia GeForce GPU加速深度学习计算

数据分析(1) --在MATLAB中通过Nvidia GeForce GPU加速深度学习计算

时间:2022-10-02 19:31:28浏览次数:62  
标签:... -- capability matlab GeForce 显卡 GPU 加速 MATLAB

0. 前言

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

数据分析(1) --在MATLAB中通过Nvidia GeForce GPU加速深度学习计算_深度神经网络

1. 基本环境

软件:MATLAB 2020a  (当前最新的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’查看显卡是否具备加速功能,

数据分析(1) --在MATLAB中通过Nvidia GeForce GPU加速深度学习计算_html_02

笔者的显卡的计算能力是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.

以Create Simple Deep Learning Network for Classification示例程序为例,https://ww2.mathworks.cn/help/deeplearning/examples/create-simple-deep-learning-network-for-classification.html;jsessinotallow=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

数据分析(1) --在MATLAB中通过Nvidia GeForce GPU加速深度学习计算_示例程序_03

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

数据分析(1) --在MATLAB中通过Nvidia GeForce GPU加速深度学习计算_深度神经网络_04

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

数据分析(1) --在MATLAB中通过Nvidia GeForce GPU加速深度学习计算_深度神经网络_05

标签:...,--,capability,matlab,GeForce,显卡,GPU,加速,MATLAB
From: https://blog.51cto.com/domi/5729378

相关文章

  • python matplotlib 画图神器
    Matplotlib是Python的一个绘图库。它包含了大量的工具,你可以使用这些工具创建各种图形,包括简单的散点图,正弦曲线,甚至是三维图形。Matplotlib 和Matlab的绘图功能相似,但......
  • tushare使用
    tushare简介平台链接:https://tushare.protushare有个积分制度,具备一定积分级别的用户才能调用该等级的api。流程大概就是:注册,完善信息,然后加tushare的群。完成这个流程......
  • IfcEnergyMeasure
    IfcEnergyMeasure类型定义IfcEnergyMeasure是对所需或使用能量的度量。通常以焦耳(J,Nm)计量。类型:REALIFC2.0中的新类型。 EXPRESSSpecificationTYPEIfcEnergyMe......
  • 25.移动端像素比
    像素简介1.基本概念像素屏幕是由一个一个发光的小点构成,这一个个小点就是像素分辨率:1920x1080说的就是屏幕中小点的数量在前端开发中像素分成两种情况讨论,css像素......
  • 【Linux】学习-03-文件属性查看及修改
       以上命令中,最左边的一列,第一个字母【d】表示文件类型为【目录文件】,之后的字母,三个字母为一组,其意义如下图所示:第一个字母如果是【l】表示该文件类型为【连接文......
  • 保研回忆录
    简短自述哈尔滨工业大学(深圳)机电学院自动化系大四在读。先简单介绍一下我们学校的控制学科建设。哈工大的控制科学与工程在全国第四轮学科评估中为A+。在三所A+院校中,清......
  • 手把手教你做一个天猫精灵(三)
    上一章展示了如何将智能终端部署到树莓派中,从而实现按钮唤醒智能终端的功能。本章将介绍如何通过智能终端控制硬件。硬件准备ESP8266WiFi模块(NodeMCU板载ESP-12F芯......
  • 《程序员修炼之道:从小工到专家》阅读笔记三
    第二章:注重实效的途径生活在一个时间与资源有限的世界。七、重复的危害知识变化,对需求的理解与客户会谈发生变化,政策更改--维护上更花时间。维护:整个开发工程的例行事......
  • 题目集1-3
    前言:三次题目集中前两次的题目较为容易,与C语言相差不大,用面向过程的思维基本可以解决,但第三次的题目需要用面向对象的思维,且目前对java的掌握不太够,所以感觉会有点困难,甚至......
  • mysql绿色版在windows系统中的启动
      1、下载mysql免安装版例如:mysql-5.7.11-winx642、修改配置文件,my-default.ini名称改为:my.ini,文件里面的参数配置:[mysqld]#skip-grant-tables#Thesearecommo......