与深度学习在Azure Blob存储数据
这个例子展示了如何设置,写入和读取Azure®Blob存储。
之前,你可以训练你的神经网络在云深处,你需要上传数据到云上。这个例子展示了如何设置一个云存储资源,上传数据的标记图像到云,和阅读数据从云到MATLAB®。使用CIFAR-10数据集的例子中,这是一个标记图像数据为基准图像分类设置常用的网络。
数据集下载到本地机器上
指定一个本地目录中下载数据集。下面的代码创建了一个文件夹在您的当前目录包含所有的图像数据集。
目录= pwd;[trainDirectory, testDirectory] = downloadCIFARToFolders(目录);
下载CIFAR-10数据集……。CIFAR-10复制到文件夹……。
上传本地数据集Azure Blob存储
使用云中的数据,你可以上传到Azure Blob存储,然后访问数据从您的本地MATLAB会话或集群的工人。下面的步骤描述如何设置云存储和上传CIFAR-10数据集从本地机器Azure Blob容器。
1。注册一个Microsoft®Azure帐户。看到微软Azure。
2。有效的文件传输和从Azure Blob存储、下载和安装Azure命令行接口工具Azure CLI如何安装。
3所示。登录到Azure在Windows®命令提示符(CMD)或Linux®终端。
阿兹登录
4所示。创建一个资源组,指定资源组的名称和地理位置。
阿兹集团创建——位置<你的存储位置>名称<您的资源组名称>
资源组是一个容器,Azure拥有资源的解决方案。看到一个位置列表,使用命令阿兹账户list-locations
。
5。创建一个存储账户在你的资源组,指定存储账户的名称。
阿兹存储帐户创建名称<存储帐户名称>——资源组<您的资源组名称>
Azure存储账户包含你所有的Azure存储数据对象,包括blob、文件共享、队列、表和磁盘。
6。创建一个存储容器存储账户,指定的名称存储容器。
阿兹存储容器创建名称<存储容器名称>——帐户名称<存储帐户名称>
7所示。上传CIFAR-10数据容器,指定源目录。使用——递归
国旗上传文件在源目录的子目录。
阿兹存储fs目录上传文件系统<存储容器名称>——帐户名称<存储帐户名称>源“路径/ / CIFAR10 / / /地方/机器”——递归
在MATLAB中访问数据集
默认情况下,MATLAB没有权限访问数据存储在Azure Blob存储。能给予MATLAB对数据的访问通过生成共享访问签名(SAS)令牌和提供MATLAB。
在Windows®命令提示符(CMD)或Linux®终端,生成一个SAS令牌。你可以改变权限令牌提供的令牌使用的截止日期——权限
和——到期
参数。
az存储容器generate-sas——帐户名称<存储帐户名称>——名称<存储容器名称>——权限rwl到期2023-06-01
在MATLAB中,设置环境变量MW_WASB_SAS_TOKEN
生成的SAS令牌。
SASToken =“<生成SAS牌>”;setenv (“MW_WASB_SAS_TOKEN”,SASToken);
更改环境变量之间不存在MATLAB会话。永久指定一个环境变量,设置在您的用户或系统环境。当你卸下工人在一个集群中,客户端会话MATLAB和工人有不同的环境变量。如何复制环境变量信息从客户机向工人,工人可以访问云存储,明白了设置环境变量的工人(并行计算工具箱)。
你可以读或写数据云存储使用MATLAB函数和对象,如文件I / O函数和一些数据存储对象。指定数据的位置时,您必须指定完整路径文件或文件夹使用统一资源定位符(URL)的形式wasbs: / / container@account / path_to_file / file.ext
。
URL =“wasbs: / / <存储容器名称> @ <存储帐户名称>.blob.core.windows.net/cifar10/train”;
创建一个数据存储指向容器的URL和显示图像的数量在每个类别。
ds =数据存储(URL,…类型=“图像”,…IncludeSubfolders = true,…LabelSourc =“foldernames”);countEachLabel (ds)
ans =10×2表标签数_____ _____飞机5000汽车5000只5000只猫5000只鹿5000狗5000只青蛙5000马5000船5000卡车5000
现在CIFAR-10数据集存储在Azure Blob存储,你可以试着任何的例子并行计算和云显示如何使用在不同的情况下的数据集。注意,训练一个网络总是更快如果你有本地托管训练数据。