主要内容

与大数据深度学习

通常,深层神经网络需要大量的训练数据通常不适合在内存中。你不需要多台计算机解决问题使用数据集太大装入内存。相反,你可以把你的训练数据分为mini-batches包含一部分数据集。通过遍历mini-batches,网络可以从大型数据集,而不需要所有数据加载到内存中。

如果您的数据是装入内存太大,使用数据的数据存储与mini-batches培训和推理。MATLAB®提供了许多不同类型的数据存储为不同的应用程序。关于数据存储为不同的应用程序的更多信息,请参阅数据存储深度学习

augmentedImageDatastore专门设计的预处理,增加批量图像数据的机器学习和计算机视觉应用。一个例子,演示如何使用augmentedImageDatastore图像数据管理培训期间,看到的列车网络的增强图像

并行处理大数据

如果您想要使用大量的数据来训练一个网络,它可以帮助训练并行。这样做可以减少所花费的时间训练一个网络,因为你可以同时使用多个mini-batches训练。

建议使用GPU火车或多个GPU。如果你只使用单个CPU或多个CPU没有GPU。cpu通常要慢得多,gpu进行训练和推理。通常运行在一个单独的GPU提供了更好的性能比运行在多个CPU核心。

并行有关培训的更多信息,请参阅并行扩展深度学习,在gpu上,在云端

后台数据进行预处理

当你并行训练,你可以在后台获取和预处理数据。这可能特别有用如果你想进行预处理mini-batches培训期间,如在使用变换功能应用mini-batch预处理数据存储功能。

当你训练一个网络使用trainNetwork功能,您可以获取和预处理数据在后台通过启用背景调度:

在培训期间,一些工人被用于计算预处理数据,而不是网络培训。你可以调整训练之间调度负荷计算和数据工人通过指定WorkerLoad培训的选择使用trainingOptions函数。高级选项,你可以试着修改平行池的工人的数量。

您可以使用一个内置mini-batch数据存储,如augmentedImageDatastore,denoisingImageDatastore(图像处理工具箱),或pixelLabelImageDatastore(计算机视觉工具箱)。您还可以使用一个定制的mini-batch启用背景数据存储与调度。创建自定义mini-batch数据存储的更多信息,请参阅开发自定义Mini-Batch数据存储

更多背景信息数据存储要求调度,明白了使用数据存储并行调度培训和背景

处理大数据在云中

将数据存储在云端可以方便您访问云应用程序,而不需要上传或下载大量数据每次创建云资源。两个AWS®和Azure®提供数据存储服务,比如AWS S3和Azure Blob存储,分别。

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

从MATLAB访问数据存储在云端,您必须配置您的机器和你的访问凭证。您可以配置使用环境变量访问从MATLAB。有关如何设置环境变量的更多信息从您的客户端访问云数据MATLAB,明白了使用远程数据。有关如何设置环境变量的更多信息在平行的工人在一个偏远的集群中,看到的设置环境变量的工人(并行计算工具箱)

一个例子,演示如何上传数据到云,看到的深度学习的数据上传到云

关于深度学习的更多信息在云中,明白了云中的深度学习

预处理数据定制培训循环

当你训练一个网络使用自定义训练循环,您可以在后台处理你的数据通过使用minibatchqueue并使背景调度。一个minibatchqueue对象遍历数据存储定制培训mini-batches循环做准备。使背景分派当你mini-batches需要沉重的预处理。

让背景调度,您必须:

  • 设置DispatchInBackground属性的数据存储真正的

  • 设置DispatchInBackground财产的minibatchqueue真正的

当您使用这个选项,MATLAB打开一个本地平行池用于预处理数据。支持自定义培训数据预处理循环训练时只使用本地资源。金宝app例如,使用这个选项当训练使用单一GPU在您的本地机器上。

更多背景信息数据存储要求调度,明白了使用数据存储并行调度培训和背景

另请参阅

||

相关的话题