为啥 Google Colab TPU 和我的电脑一样慢?
Posted
技术标签:
【中文标题】为啥 Google Colab TPU 和我的电脑一样慢?【英文标题】:Why is Google Colab TPU as slow as my computer?为什么 Google Colab TPU 和我的电脑一样慢? 【发布时间】:2021-03-26 04:44:47 【问题描述】:由于我有一个大型数据集并且我的 PC 中没有太多功能,我认为在 Google Colab 上使用 TPU 是一个好主意。
所以,这是我的 TPU 配置:
try:
tpu = tf.distribute.cluster_resolver.TPUClusterResolver()
print('Running on TPU ', tpu.master())
except ValueError:
tpu = None
if tpu:
tf.config.experimental_connect_to_cluster(tpu)
tf.tpu.experimental.initialize_tpu_system(tpu)
strategy = tf.distribute.experimental.TPUStrategy(tpu)
else:
strategy = tf.distribute.get_strategy()
print("REPLICAS: ", strategy.num_replicas_in_sync)
这是我的训练:
hist = model.fit(train_dataset, epochs=10, verbose=1, steps_per_epoch=count_data_items(filenames)//64)
【问题讨论】:
【参考方案1】:仅制定策略是不够的。您应该正确使用此策略。
您可能需要调整管道、增加批量大小等。
看看这里:https://cloud.google.com/tpu/docs/performance-guide
另一个重要的一点是TPU
有一个预热期——它在第一次调用(每次调用都具有新的输入形状)期间花费大量时间来构建计算图。
【讨论】:
+1。如果您不使用大批量,则 TPU 没有得到充分利用。我还建议使用experimental_steps_per_execution
标志(查看更多信息here),它可以降低回调运行的频率。【参考方案2】:
目前可用于 Colab 笔记本的 TPU 内核数量为 8 个。要点:从观察训练时间可以看出,当批量较小时,TPU 比 GPU 花费的训练时间要多得多。但是当批量大小增加时,TPU 性能与 GPU 相当。go through this link for more details
【讨论】:
以上是关于为啥 Google Colab TPU 和我的电脑一样慢?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Google Colab 中查找 TPU 名称和区域?
Google Colab TPU 中未实现文件系统方案“[本地]”