我可以使用计算集群将作业提交到azureml服务。它工作得很好,自动缩放与良好的灵活性相结合的定制环境似乎正是我所需要的。然而,到目前为止,所有这些作业似乎只使用集群的一个计算节点。理想情况下,我希望使用多个节点进行计算,但我看到的所有方法都依赖于与azureml服务的深度集成。你知道吗
我的模特案例有点非典型。从以前的实验中,我确定了一组工作良好的架构(预处理步骤管道+sciketlearn中的估计器)。 其中一个估计器的超参数调整可以用RandomizedSearchCV相当快地执行(几分钟)。因此,将这一步并行化似乎不太有效。你知道吗
现在我要调整和训练整个体系结构列表。 这应该很容易并行化,因为所有架构都可以独立训练。你知道吗
理想情况下,我会喜欢这样的东西(在伪代码)
tuned = AzurePool.map(tune_model, [model1, model2,...])
但是,我找不到任何关于如何使用azureml计算集群实现这一点的资源。 一个可接受的替代方案是以即插即用的形式替代sklearn的CV调优方法,类似于dask或spark中提供的方法。你知道吗
有很多方法可以用AzureML解决这个问题。最简单的方法是使用azuremlpythonsdk启动一些作业(底层示例取自here)
以上要求您将培训与所需的python包一起考虑到一个脚本(或文件夹中的一组脚本)中。上面的估计器是使用sciket Learn的方便包装器。Tensorflow、Pytorch、Chainer和一个泛型(
azureml.train.estimator.Estimator
)也有估算器,它们在使用的Python包和基本docker中都有所不同。你知道吗第二个选项是,如果您确实在调整参数,那么可以像这样使用HyperDrive服务(使用与上面相同的
SKLearn
估计器):或者你可以用DASK来安排你刚才提到的工作。下面是一个如何在和AzureML Compute Cluster上设置DASK的示例,这样您就可以对它进行交互式操作:https://github.com/danielsc/azureml-and-dask
相关问题 更多 >
编程相关推荐