使用Azure机器学习服务训练大型模型时如何克服TrainingException?

时间:2019-04-04 21:50:42

标签: python azure azure-machine-learning-service

我正在训练一个大型模型,试图在Azure笔记本中用于Azure Machine Learning service

因此,我创建了一个Estimator进行本地培训:

from azureml.train.estimator import Estimator

estimator = Estimator(source_directory='./source_dir',
                      compute_target='local',
                      entry_script='train.py')

(我的train.py应该从大的单词矢量文件开始加载和训练)。

一起运行时
run = experiment.submit(config=estimator)

我知道

  

TrainingException:

     

================================================ =====================

     

尝试拍摄以下内容的快照时   / data / home / username / notebooks / source_dir您的总数   快照大小超过了300.0 MB的限制。请参阅   http://aka.ms/aml-largefiles介绍如何处理大文件。

     

================================================ =====================

错误中提供的链接可能是broken。 我的./source_dir中的内容确实超过了300 MB。
我该怎么解决?

2 个答案:

答案 0 :(得分:1)

您可以将培训文件放置在source_dir之外,以免在提交实验时将它们上传,然后将它们分别上传到数据存储区(基本上是使用与您的关联的Azure存储空间工作区)。然后,您所需要做的就是参考train.py中的培训文件。

有关如何将数据上传到数据存储,然后从训练文件访问数据的示例,请参见Train model tutorial

答案 1 :(得分:0)

在阅读GitHub问题Encounter |total Snapshot size 300MB while start logging和Azure ML服务的官方文档Manage and request quotas for Azure resources之后,我认为这是一个未知的问题,需要一些时间来等待Azure修复。

同时,我建议您尝试将当前工作迁移到其他服务Azure Databricks,上传数据集和代码,然后在HDInsight Spark群集上托管的Azure Databricks笔记本中运行它们,而无需不用担心内存或存储限制。您可以参考these samples来了解Azure Databricks上的Azure ML。