在处理Udacity深度学习作业时,我遇到了内存问题。我需要切换到云平台。我以前在AWS EC2工作,但现在我想尝试谷歌云平台(GCP)。我需要至少8GB的内存。我知道如何在本地使用docker,但从未在云上尝试过。
- 在GCP上运行Tensorflow有现成的解决方案吗
- 如果没有,哪个服务(计算引擎或容器引擎)会更容易启动
- 任何其他提示也将不胜感激
总结答案:
- 人工智能平台笔记本-点击Jupyter实验室环境
- 深度学习虚拟机镜像-预装ML库的原始虚拟机
- 深度学习容器映像-DLVM映像的容器化版本
- Cloud ML
- 在计算引擎上手动安装。请参阅以下说明
在计算引擎上手动运行TensorFlow的说明:
- 创建项目
- 打开云外壳(顶部的按钮)
- 列出机器类型:
gcloud compute machine-types list
。您可以在下一个命令中更改我使用的机器类型 - 创建实例:
gcloud compute instances create tf
--image container-vm
--zone europe-west1-c
--machine-type n1-standard-2
- 运行
sudo docker run -d -p 8888:8888 --name tf b.gcr.io/tensorflow-udacity/assignments:0.5.0
(将图像名称更改为所需名称) - 在仪表板中找到您的实例并编辑
default
网络 - 添加防火墙规则以允许您的IP以及协议和端口
tcp:8888
- 从仪表板中查找实例的外部IP。在浏览器上打开
IP:8888
。完成 - 完成后,删除创建的群集以避免收费
我就是这样做的,而且效果很好。我相信有一种更简单的方法可以做到
更多资源
您可能有兴趣了解更多关于的信息
- 谷歌云外壳
- 容器优化的谷歌计算引擎图像
- Google Cloud SDK提供响应更灵敏的shell等
很高兴知道
- "即使在虚拟机终止并重新启动后,云外壳主目录的内容也会在所有云外壳会话之间的项目中保持不变"
- 列出所有可用的图像版本:
gcloud compute images list --project google-containers
感谢@user728291、@MattW、@CJCullen和@zain-rizvi
谷歌云机器学习今天以测试版的形式向世界开放。它提供TensorFlow即服务,因此您不必管理机器和其他原始资源。作为Beta版的一部分,Datalab已经更新,为机器学习提供命令和实用程序。请访问:http://cloud.google.com/ml.
谷歌在有限的Alpha中有一个Cloud ML平台。
这是一篇关于在Kubernetes/Google Container Engine上运行TensorFlow的博客文章和教程。
如果这些不是你想要的,TensorFlow教程应该都能在AWS EC2或谷歌计算引擎上运行。
您现在还可以使用预先配置的深度学习图像。他们拥有TensorFlow所需的一切。
这是一个老问题,但现在有了新的、更容易的选择:
如果您想使用Jupyter Lab运行TensorFlow
GCP AI平台笔记本,让您可以点击访问预装了Tensorflow的Jupyter实验室笔记本(如果您愿意,也可以使用Pytorch、R或其他一些库)。
如果您只想使用原始虚拟机
如果你不关心Jupyer Lab,只想预装一个Tensorflow的原始虚拟机,你可以使用GCP的深度学习虚拟机映像创建一个虚拟机。这些DLVM映像为您提供了一个预装了Tensorflow的VM,如果您愿意,它们都设置为使用GPU。(AI平台笔记本电脑在引擎盖下使用这些DLVM图像)
如果你想在你的笔记本电脑和云上运行它
最后,如果你想在个人笔记本电脑和云中运行tensorflow,并且能够舒适地使用Docker,你可以使用GCP的深度学习容器图像。它包含与DLVM映像完全相同的设置,但打包为一个容器,因此您可以在任何您喜欢的地方启动这些映像。
额外好处:如果你在笔记本电脑上运行这个容器映像,它是100%免费的:D
我不确定你是否需要留在谷歌云平台上。如果你能使用其他产品,你可能会节省很多时间和金钱。
如果您正在使用TensorFLow,我建议您使用一个名为TensorPort的平台。它是TesnorFlow的专属平台,是我所知道的简单平台。代码和数据是用git加载的,它们提供了一个python模块,用于在远程机器和本地机器之间自动切换路径。如果你需要的话,他们还提供了一些建立分布式计算的锅炉板代码。希望这能有所帮助。