人工智能

应用机器学习和深入学习

深度学习gpu和MATLAB

大家好!虽然大多数的信息在这篇文章中是正确的,这是一个原始的文章2017和gpu迅速变化的世界。我鼓励你去看看新资源在gpu上:https://explore.mathworks.com/all-about-gpus

MATLAB对gpu用户问我们很多问题,今天我要回答一些。我希望你能有基本的如何选择GPU卡帮你在MATLAB与深度学习。

我问本Tordoff寻求帮助。我第一次见到本大约12年前,当他给图像处理工具箱开发大量的反馈关于我们的功能。从那时起,他已经进入软件开发,和他现在的领导团队负责GPU,分布式和高数组支持在MATLAB和并行计算工具。金宝app

内容

让你的GPU卡信息

这个函数gpuDevice告诉你关于你的GPU硬件。我问本的带我走过整个输出gpuDevice在我的电脑。

gpuDevice
ans = CUDADevice属性:名称:“泰坦Xp”指数:1 ComputeCapability:“6.1”SupportsDouble: 1 DriverVersi金宝appon: 9 ToolkitVersion: 8 MaxThreadsPerBlock: 1024 MaxShmemPerBlock: 49152 MaxThreadBlockSize: [1024 1024 64] MaxGridSize: [2.1475 e + 09年65535 65535]SIMDWidth: 32 TotalMemory: 1.2885 e + 10 AvailableMemory: 1.0425 e + 10 MultiprocessorCount: 30 ClockRateKHz: 1582000 ComputeMode:“违约”GPUOverlapsTransfers: 1 KernelExecutionTimeout: 1 CanMapHostMemory: 1 DeviceSupported: 1 DeviceSelected: 1

本:“这是一个泰坦Xp的名片。你有一个不错的GPU,比我的好多了,至少对于深度学习。”(I'll explain this comment below.)

“索引为1意味着NVIDIA驱动程序认为这GPU是最强大的一个安装在你的电脑上。和ComputeCapability指的是一代的计算能力得到这张卡片的支持。金宝app第六代被称为帕斯卡。”As of the R2017b release, GPU computing with MATLAB and Parallel Computing Toolbox requires aComputeCapability至少3.0。

提供的其他信息gpuDevice主要是有用的开发人员编写低级GPU计算例程,或故障排除。还有一个号码,不过,可能对你有用时比较gpu。的MultiprocessorCount实际上是在GPU芯片的数量。“高端卡的区别和低端卡在同一个一代往往归结为可用芯片的数量。”

GPUBench

接下来本和我讨论GPUBench的输出,GPU性能测量工具由本的维护团队。你可以得到它的MATLAB中央文件交换。这是一个部分的报告:

GFLOP是一个单位的计算速度。1 GFLOP大约是每秒10亿次浮点运算。该报告措施为单精度和双精度浮点运算速度。一些卡片擅长双精度,有些做得更好在单精度。报告显示最好的双精度卡片顶部,因为这是最重要的对于一般MATLAB计算。

报告包括三个不同的计算基准:MTimes(矩阵乘法),反斜杠(线性系统解决),和FFT。矩阵乘法基准测量纯计算速度是最好的,所以它具有最高的GFLOP数字。FFT和反斜杠基准,另一方面,涉及更多的计算和I / O,因此报道GFLOP率较低。

我的泰坦Xp卡比我的CPU(“主机PC”在上面的表中)为双精度计算,但它肯定是低于卡上市。所以,本告诉我,为什么我的名片是深度学习好吗?这是因为右侧栏的报告,重点关注单精度计算。图像处理和深度学习单精确速度比双精度的速度更重要。

和泰坦Xp是快得多的单精度计算、与11000 GFLOPS大矩阵的矩阵乘法。如果你有兴趣,可以钻到GPUBench报告更多细节,像这样:

类型的NVIDIA GPU卡

我问本一些帮助理解各种各样的由NVIDIA GPU卡。“嗯,深入学习,你可能只关注三行卡:GeForce,泰坦,特斯拉。与体面的GeForce卡最便宜的计算性能,但你必须记住,他们不工作如果您使用的是远程桌面软件。泰坦是一个加强版的GeForce确实有远程桌面支持。金宝app和特斯拉卡的目的是作为高性能卡在双精度计算服务器应用程序。”

比较CPU和GPU深度学习的速度

许多深度学习功能的神经网络工具箱和其他产品现在支持一个选项下载188bet金宝搏金宝app“ExecutionEnvironment”。的选择是:“汽车”,“cpu”,“图形”,“multi-gpu”,“平行”。你可以使用这个选项来尝试一些网络训练和预测计算来衡量实际GPU影响深度学习在您自己的计算机。

我将尝试使用这个选项“火车的卷积神经网络回归”的例子。我要做这里的训练步骤,而不是完整的示例。首先,我将使用我的GPU。

选择= trainingOptions (“个”,“InitialLearnRate”,0.001,“MaxEpochs”15);网= trainNetwork (trainImages、trainAngles层,选择);
培训单一的GPU。初始化图像正常化。| = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | | | |时代迭代时间| Mini-batch | Mini-batch |基地学习| | | | | |(秒)损失RMSE |率| | = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | | 1 | 1 | 0.01 | 352.3131 | 26.54 | 0.0010 | | 2 | 50 | 0.75 | 114.6249 | 15.14 | 0.0010 | | 3 | 100 | 1.40 | 69.1581 | 11.76 | 0.0010 | | 4 | 150 | 2.04 | 52.7575 | 10.27 | 0.0010 | | 6 | 200 | 2.69 | 54.4214 | 10.43 | 0.0010 | | 250 | | 3.33 | 40.6091 | 9.01 | 0.0010 | | 300 | | 3.97 | 29.9065 | 7.73 | 0.0010 | | 350 | | 4.63 | 28.4160 | 7.54 | 0.0010 | | 400 | | 5.28 | 28.4920 | 7.55 | 0.0010 | | 450 | | 5.92 | 21.7896 | 6.60 | 0.0010 | | 500 | | 6.56 | 22.7835 | 6.75 | 0.0010 | | 550 | | 7.20 | 24.8388 | 7.05 | 0.0010 | | 585 | | 7.66 | 17.7162 | 5.95 | 0.0010 | | = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = |

你可以看到在“运行时间”列培训对于这个简单的示例花了8秒。

现在让我们重复训练仅使用CPU。

选择= trainingOptions (“个”,“InitialLearnRate”,0.001,“MaxEpochs”15岁的“ExecutionEnvironment”,“cpu”);网= trainNetwork (trainImages、trainAngles层,选择);
初始化图像正常化。| = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | | | |时代迭代时间| Mini-batch | Mini-batch |基地学习| | | | | |(秒)损失RMSE |率| | = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | | 1 | 1 | 0.17 | 354.9253 | 26.64 | 0.0010 | | 2 | 50 | 6.74 | 117.6613 | 15.34 | 0.0010 | | 3 | 100 | 13.31 | 92.0581 | 13.57 | 0.0010 | | 4 | 150 | 20.10 | 57.7432 | 10.75 | 0.0010 | | 6 | 200 | 26.66 | 50.4582 | 10.05 | 0.0010 | | 250 | | 33.35 | 35.4191 | 8.42 | 0.0010 | | 300 | | 40.06 | 30.0699 | 7.75 | 0.0010 | | 350 | | 46.70 | 24.5073 | 7.00 | 0.0010 | | 400 | | 53.35 | 28.2483 | 7.52 | 0.0010 | | 450 | | 59.95 | 23.1092 | 6.80 | 0.0010 | | 500 | | 66.54 | 18.9768 | 6.16 | 0.0010 | | 550 | | 73.10 | 15.1666 | 5.51 | 0.0010 | | 585 | | 77.78 | 20.5303 | 6.41 | 0.0010 | | = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = |

了约10倍的时间比使用GPU培训。现实的网络,我们期望的差别更大。与更强大的深度学习网络,花数小时或数天的火车,你可以看到为什么我们建议使用好GPU大量深度学习工作。

我希望你找到这些信息有帮助。建立自己的好运深度学习与MATLAB系统!

PS。谢谢,本!




发表与MATLAB®R2017b

|
  • 打印
  • 发送电子邮件

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。