如何使用共享存储 ============================= 如果您想在使用 NNI 期间使用自己的存储,共享存储可以满足您的需求。 与使用训练平台本机存储不同,共享存储可以为您带来更多便利。 Experiment 生成的所有信息都将存储在共享存储的 ``/nni`` 文件夹下。 Trial 产生的所有输出将位于共享存储中的 ``/nni/{EXPERIMENT_ID}/trials/{TRIAL_ID}/nnioutput`` 文件夹下。 这就避免了在不同地方寻找实验相关信息的麻烦。 Trial 工作目录是 ``/nni/{EXPERIMENT_ID}/trials/{TRIAL_ID}``,因此如果您在共享存储中上载数据,您可以像在 Trial 代码中打开本地文件一样打开它,而不必下载它。 未来我们将开发更多基于共享存储的实用功能。 配置参考在 `这里 <../reference/experiment_config.html#sharedstorageconfig>`_。 .. note:: 共享存储目前处于实验阶段。 共享存储目前处于实验阶段。 我们建议在 Ubuntu/CentOS/RHEL 下使用 AzureBlob,在 Ubuntu/CentOS/RHEL/Fedora/Debian 下使用 NFS 进行远程访问。 确保您的本地机器可以挂载 NFS 或 fuse AzureBlob,并在远程运行时具有 sudo 权限。 我们目前只支持使用重用模式的训练平台下的共享存储。 我们目前只支持使用重用模式的训练平台下的共享存储。 示例 ------- 如果要使用 AzureBlob,请在配置中添加以下内容。完整的配置文件请参阅 :githublink:`mnist-sharedstorage/config_azureblob.yml `。 .. code-block:: yaml sharedStorage: storageType: AzureBlob localMountPoint: ${your/local/mount/point} remoteMountPoint: ${your/remote/mount/point} storageAccountName: ${replace_to_your_storageAccountName} storageAccountKey: ${replace_to_your_storageAccountKey} # 如果未设置 storageAccountKey,则首先需要在 Azure CLI 中使用 `az login` 并设置 resourceGroupName。 # resourceGroupName: ${replace_to_your_resourceGroupName} containerName: ${replace_to_your_containerName} # usermount 表示已将此存储挂载在 localMountPoint 上 # nnimount 表示 NNI 将尝试将此存储挂载在 localMountPoint 上 # nomount 表示存储不会挂载在本地机器上,将在未来支持部分存储。 localMounted: nnimount 如果要使用 NFS,请在配置中添加以下内容。完整的配置文件请参阅 :githublink:`mnist-sharedstorage/config_nfs.yml `。 .. code-block:: yaml sharedStorage: storageType: NFS localMountPoint: ${your/local/mount/point} remoteMountPoint: ${your/remote/mount/point} nfsServer: ${nfs-server-ip} exportedDirectory: ${nfs/exported/directory} # usermount 表示已将此存储挂载在 localMountPoint 上 # nnimount 表示 NNI 将尝试将此存储挂载在 localMountPoint 上 # nomount 表示存储不会挂载在本地机器上,将在未来支持部分存储。 localMounted: nnimount