我正在使用谷歌的人工智能平台进行一些实验,并对此提出一些问题。
基本上,我的项目是按照文档来构造的,其中包含一个训练器任务和一个单独的批预测任务。我想了解AI平台如何分配资源给我执行的任务。将其与目前的SOTA解决方案进行比较,如Spark、Tensorflow和Py手电筒,这是我怀疑的地方。
这些引擎/库使用专用的协调系统来分发工作人员,并且对所有机器学习算法都有单独的分布式实现。既然我的任务是使用ScikitLearn编写的,那么这些计算是如何在AI平台提供的集群中并行化的,因为sklearn没有任何这样的分布式计算能力?
跟踪docs 这里。我用的命令,
gcloud ai-platform jobs submit training $JOB_NAME \
--job-dir $JOB_DIR \
--package-path $TRAINING_PACKAGE_PATH \
--module-name $MAIN_TRAINER_MODULE \
--region $REGION \
--runtime-version=$RUNTIME_VERSION \
--python-version=$PYTHON_VERSION \
--scale-tier $SCALE_TIER如有任何帮助或澄清,将不胜感激!
发布于 2019-08-05 17:16:17
唉,人工智能平台的培训不能自动分发你的科学学习任务。它基本上只是设置集群,将包部署到每个节点,并运行它。
您可能需要尝试一个分布式后端,比如Dask来扩展任务--它有一个替代J强有力的插件,可以在集群上运行scikit学习管道。
我在这里找到了一个教程:https://matthewrocklin.com/blog/work/2017/02/07/dask-sklearn-simple
希望这能帮上忙!
https://stackoverflow.com/questions/57359456
复制相似问题