主要内容

大数据深入学习

通常,训练深度神经网络需要大量的数据,这些数据通常不适合记忆。您不需要多台计算机来使用太大而无法适合内存的数据集解决问题。相反,您可以将培训数据分为包含数据集的一部分的迷你批次。通过在迷你批次上进行迭代,网络可以从大型数据集中学习,而无需一次将所有数据加载到内存中。

如果您的数据太大而无法容纳内存,请使用数据存储与小型数据进行培训和推理。MATLAB®提供针对不同应用程序量身定制的许多不同类型的数据存储。有关不同应用程序数据存储的更多信息,请参见深度学习的数据存储

增生模构达塔斯塔尔专门设计用于预处理和增强机器学习和计算机视觉应用程序的图像数据。为了显示如何使用的示例增生模构达塔斯塔尔要在培训期间管理图像数据,请参见带有增强图像的火车网络

并行使用大数据

如果您想使用大量数据来训练网络,那么并行训练可能会有所帮助。这样做可以减少训练网络所需的时间,因为您可以同时使用多个迷你批次训练。

建议使用GPU或多个GPU训练。如果您没有GPU,则仅使用单个CPU或多个CPU。CPU通常在训练和推理方面比GPU要慢得多。在单个GPU上运行通常比在多个CPU内核上运行的性能要好得多。

有关并行培训的更多信息,请参阅并行扩展深度学习,在GPU和云中扩展

背景中的预处理数据

当您并行训练时,您可以在后台获取和预处理数据。如果您想在培训期间预处理小批次,例如在使用时,这可能特别有用转换功能将迷你批次预处理功能应用于数据存储。

当您使用网络训练网络时火车网函数,您可以通过启用背景调度来获取和获取预处理数据:

在培训期间,一些工人用于预处理数据,而不是网络培训计算。您可以通过指定工人之间的培训计算和数据调度负载工人负载培训选项使用训练功能。对于高级选项,您可以尝试修改并行池的工人数量。

您可以使用内置的迷你批次数据存储增生模构达塔斯塔尔,,,,DeNoisingImagedAtatastore(图像处理工具箱), 或者Pixellabelimagedatastore(计算机视觉工具箱)。您还可以使用启用背景调度的自定义迷你批次数据存储。有关创建自定义迷你批次数据存储的更多信息,请参见开发自定义迷你批次数据存储

有关背景调度的数据存储要求的更多信息,请参阅使用数据存储进行并行培训和背景调度

在云中使用大数据

将数据存储在云中可以使您更容易访问云应用程序,而无需每次创建云资源时上传或下载大量数据。两个AWS®和Azure®分别提供数据存储服务,例如AWS S3和Azure Blob存储。

为了避免与传输大量数据相关的时间和成本,建议您使用相同的云提供商和您用于将数据存储在云中的相同云提供商和区域为深度学习应用程序设置云资源。

要访问MATLAB中存储在云中的数据,您必须使用访问凭据配置计算机。您可以使用环境变量从内部MATLAB配置访问。有关如何设置环境变量以访问客户端MATLAB访问云数据的更多信息,请参见使用远程数据。有关如何在远程群集中的并行工人上设置环境变量的更多信息,请参见将环境变量设置为工人(并行计算工具箱)

有关显示如何将数据上传到云的示例,请参阅将深度学习数据上传到云

有关云中深度学习的更多信息,请参阅云中的深度学习

定制培训循环的预处理数据

当您使用自定义培训循环训练网络时,您可以在后台处理数据Minibatchqueue并启用背景调度。一个Minibatchqueue对象在一个上迭代数据存储为定制培训循环准备迷你批次。当您的迷你批次需要大量预处理时,启用背景调度。

要启用背景调度,您必须:

  • 设置dispatchinbackground数据存储的属性真的

  • 设置dispatchinbackground属性Minibatchqueue真的

当您使用此选项时,MATLAB将打开一个本地并行池,用于预处理数据。仅使用本地资源培训时,支持用于定制培训循环的数据预处理。金宝app例如,在本地计算机中使用单个GPU训练时使用此选项。

有关背景调度的数据存储要求的更多信息,请参见使用数据存储进行并行培训和背景调度

也可以看看

||

相关话题