测试笔记本是否在Google Colab上运行

Tom*_*ale 6 google-colaboratory

如何测试我的笔记本是否在Google Colab上运行?

我需要进行此测试,因为在便携式计算机或Colab上运行时,获取/解压缩训练数据的方式有所不同。

Kor*_*ich 13

尝试导入google.colab

try:
  import google.colab
  IN_COLAB = True
except:
  IN_COLAB = False
Run Code Online (Sandbox Code Playgroud)

或者只是检查它是否在sys.modules中

import sys
IN_COLAB = 'google.colab' in sys.modules
Run Code Online (Sandbox Code Playgroud)

  • 当使用 IPython 方式执行命令 `!python foo.py` 时,第一个 try- except 解决方案适用于 Google Colab,但也适用于 `os.system('python foo.py')`。但是,使用 sys.modules 的第二个解决方案对我不起作用。 (2认同)

G M*_*G M 13

还可以检查使用的 ipython 解释器。我认为它更清楚一点,您不必导入任何模块。

if 'google.colab' in str(get_ipython()):
  print('Running on CoLab')
else:
  print('Not running on CoLab')
Run Code Online (Sandbox Code Playgroud)

如果您需要多次执行此操作,您可能需要分配一个变量,这样您就不必重复str(get_ipython()).

RunningInCOLAB = 'google.colab' in str(get_ipython())
Run Code Online (Sandbox Code Playgroud)

RunningInCOLAB 如果在 Google Colab notebook 中运行,则为 True。


Min*_*ing 6

你可以这样检查环境变量:

import os
if 'COLAB_GPU' in os.environ:
   print("I'm running on Colab")
Run Code Online (Sandbox Code Playgroud)

实际上你可以打印出 os.environ 来检查与 colab 关联的内容,然后检查密钥


Han*_*son 6

适用于所有 Python 环境的改进解决方案

因为这里给出的其他答案都不适合我,而且我没有使用 iPython。我检查了他们在 Colab 中使用的环境变量,因此,以下内容最适合检查环境:

import os

if os.getenv("COLAB_RELEASE_TAG"):
   print("Running in Colab")
else:
   print("NOT in Colab")
Run Code Online (Sandbox Code Playgroud)