我正在尝试在GCP上学习ML。一些Qwiklabs和教程从Cloud Shell开始,以设置env变量和安装Python包,而其他Qwiklabs和教程则从在VM中打开SSH终端开始执行这些预备步骤。
我真的无法分辨这两种方法之间的区别,除了在第二种情况下需要首先预配 VM 的事实。据推测,当您使用 Cloud Shell 时,无论如何都会在后台为您配置某种 VM 实例。
那么这两种方法有何不同呢?
CloudShell是一款产品,旨在提供大量预配置的工具,这些工具保持更新,并且可以快速启动,可从UI访问且免费。 基本上,这是获取交互式外壳的快速方法。 您可以从其文档中了解有关此环境的更多信息。
Cloud Shell 也有限制——你每周只能使用它 60 小时,如果你闲置,你的会话就会终止,只有 5GB 的存储空间。 它也只是一个f1-micro实例,IIRC。 因此,虽然它是为您配置的(并且免费!(,但它除了交互式 shell 之外并没有真正有用的东西。
另一方面,SSH进入虚拟机会将您直接放置在该虚拟机上的终端中,就像在任何特定主机上一样 - 您只有安装在该虚拟机上的映像提供的任何工具(许多虚拟机都非常简陋,这取决于映像(。 但是,您现在位于主机上的终端中,该终端可能正在执行要使用的代码,并且它具有与您在该实例中配置的一样多的 CPU 和 RAM。
至于指南将您指向一个或另一个 - 这真的取决于他们,但我怀疑他们会将客户端/工具类型的工作指向云外壳(因为它简单且合理标准的环境,甚至可以使用教程编写脚本(,而他们可能会指出如何安装必要的软件以用于生产到"真正的"VM。