【问题标题】: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)

【问题讨论】:

    标签: tensorflow machine-learning google-colaboratory tpu google-cloud-tpu


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-10
      • 1970-01-01
      • 2012-03-10
      • 2019-12-06
      • 2020-09-11
      • 2022-11-16
      相关资源
      最近更新 更多