在Google Colab Pro中使用TPU v3

问题描述

是否可以在Google Colab Pro中使用TPU v3代替TPU v2?

不幸的是,我在TPU v2上收到一条错误消息Compilation failure: Ran out of memory in memory space hbm. Used 8.29G of 7.48G hbm. Exceeded hbm capacity by 825.60M.,但在TPU v3上却不再收到此消息。因为TPU v3具有更多的内存。

有人知道可能性/选择吗?

以此我启动TPU

try:
  tpu = tf.distribute.cluster_resolver.TPUClusterResolver()  # TPU detection
  print('Running on TPU ',tpu.cluster_spec().as_dict()['worker'])
except ValueError:
  raise BaseException('ERROR: Not connected to a TPU runtime; please see the prevIoUs cell in this notebook for instructions!')


tf.config.experimental_connect_to_cluster(tpu)
tf.tpu.experimental.initialize_tpu_system(tpu)
#tpu_strategy = tf.distribute.experimental.TPUStrategy(tpu)
strategy = tf.distribute.TPUStrategy(tpu)

解决方法

简短的回答是“否”。无法指定所需的特定TPU版本。我相信Kaggle提供了v3-8 TPU(由于它是免费的,它可能也会发生变化)。另外,正如其他答案所指出的,您也可以自己启动付费Cloud TPU,并为其指定特定的硬件。

,

据我所知,免费版本的Colab并没有提供选择GPU和TPU的任何方式。和专业版一样。

如果确实需要,您可以以每小时$ 8.00的价格从CloudTPU购买特定的TPU v3。

来自Colab常见问题解答的报价:

无法选择在任何给定时间可以在Colab中连接的GPU类型。对更可靠地访问Colab最快的GPU感兴趣的用户可能对Colab Pro感兴趣。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...