通过谷歌Colab与GPU连接本地运行时

6
我的目标是通过Jupyter Notebook从本地计算机连接到Google Colab GPU。
根据文档完成以下步骤: 1. 安装jupyter_http_over_ws:`pip install jupyter_http_over_ws` 2. 启用jupyter_http_over_ws:`jupyter serverextension enable --py jupyter_http_over_ws` 3. 使用以下命令打开Jupyter Notebook:`jupyter notebook --NotebookApp.allow_origin='https://colab.research.google.com' --port=8888 --NotebookApp.port_retries=0` 4. 从终端使用URL连接到Colab。例如:enter image description here 5. 终端显示:[I 18:12:04.374 NotebookApp] 302 GET /?token=这里是我的TOKEN(我的IP)0.000000ms。不确定302 GET是什么意思。 6. 在Colab中使用os.getcwd()得到的是本地PC的当前目录,并且print(torch.cuda.is_available())返回False。 我成功地从本地计算机连接到Colab,但目标是相反的:在本地计算机上获取GPU。可能出现了问题,请帮助检查。

你看到这个了吗?https://dev59.com/orzpa4cB1Zd3GeqPJmLn - Roman Czerwinski
是的,但它对我来说似乎没有用处 :( - germanjke
302 means redirection for one addres to another - I see it always when I run in console on local computer because it redirects from localhost to localhost/?token=... - furas
我不知道你是否可以同时拥有本地运行时/文件和外部硬件/GPU。当你从外部的“Colab”连接到本地运行时,你就可以访问本地文件和本地硬件。如果你运行本地的“jupyter lab”(而不是“jupyter notebook”),并且你可以连接到外部运行时(在Google服务器上),那么你将可以访问外部文件和外部硬件。 - furas
1
我认为你理解错了。Colab只是在Web浏览器和普通服务器上运行的GUI,而不是在带有GPU的服务器上运行的,它可以连接到hosted runtime,这意味着Google服务器(硬件)带有GPU - 然后您可以直接访问此服务器上的文件,并且可以在带有GPU的硬件上运行代码。或者它可以连接到local runtime,这意味着没有GPU的本地计算机(硬件)-然后您可以直接访问本地文件,并且只能在本地硬件上运行代码。您无法同时访问两个运行时(硬件)。 - furas
1个回答

20
我认为您误解了。 Colab只是一种运行在Web浏览器中的GUI,在普通的Google Web服务器上运行(具有对Google Drive的某些访问权限),而不是在特殊的使用GPU的Google服务器上运行。 Colab可以连接到hosted runtime,这意味着连接到带有GPU的Google服务器(硬件) - 然后您可以直接访问此服务器上的文件,并且可以在具有GPU的硬件上运行代码。 或者它可以连接到local runtime,这意味着连接到您的本地计算机(硬件)没有GPU - 然后您可以直接访问本地文件,并且只能在本地硬件上运行代码。 您无法同时访问两个运行时(硬件)。
以下是我的理解: 连接到带有GPU/TPU的Google服务器: enter image description here 连接到没有GPU的本地计算机: enter image description here

我有点困惑。为什么会出现两个“我的电脑”? - Cyber Avater
1
@CyberAvater,其中一个显示您可以直接在本地计算机上运行它,另一个显示您可以使用ssh重定向到云中的服务器并在服务器上运行。也许我应该创建第三个图像,仅具有指向第二个“我的计算机”的绿色箭头。 - furas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接