使用Google CloudML例子

简介

Google推出了CloudML深度学习服务,并在Github开源了对应的examples代码例子,地址在 https://github.com/GoogleCloudPlatform/cloudml-samples

Xiaomi Cloud-ML服务支持标准的TensorFlow应用,同样使用标准的Python打包方式,支持把Google CloudML的代码例子直接提交到Xiaomi Cloud-ML服务中训练。

运行CloudML代码实例

我们可以在本地测试Google CloudML代码示例,下载源码后直接运行TensorFlow应用模块,为了避免耗时的下载时间我们这里使用fake data。

git clone https://github.com/GoogleCloudPlatform/cloudml-samples

cd ./cloudml-samples/mnist/trainable/

python -m trainer.task --fake_data True

打包TensorFlow应用

在Google CloudML代码例子中已经提供setup.py,我们可以直接打包成标准的Python压缩包形式,这样就可以直接提交给Google CloudML或者Xiaomi Cloud-ML服务。

python setup.py sdist --format=gztar

使用Xiaomi Cloud-ML服务

为了测试Xiaomi Cloud-ML服务的兼容性,我们把Google CloudML开源的代码示例直接打包上传到小米对象存储服务中,然后把压缩包中的TensorFlow应用直接提交到Xiaomi Cloud-ML并在云端训练。

cloudml jobs submit -n mnist1 -m trainer.task -u fds://cloud-ml/google_cloudml_mnist_trainable/trainer-1.0.tar.gz -a "--fake_data True"

任务提交后,我们可以查看训练的日志,可以看到无论是参数注入、模型训练还是日志输出都与本地一样,这个文件同样可以提交到Google CloudML服务得到类似的结果。

总结

最后总结下,得益于标准的Python打包方式,我们可以对TensorFlow甚至是其他深度学习框架的应用进行统一的抽象,而Google CloudML和Xiaomi Cloud-ML对这种格式的支持也让用户不被服务提供商绑定,甚至可以使用同一套代码在不同的服务厂商中无缝切换或进行容灾测试。

支持开源的标准TensorFlow应用,让用户可以把本地运行的TensorFlow代码直接搬到云端训练,从而利用云计算中资源共享、按需计费、GPU高性能计算等优势,而兼容Google CloudML的应用代码,让算法和应用本身更容易在云服务商中迁移和共享。

results matching ""

    No results matching ""