Google cloud tpu 使用云TPU时,数据缓存在哪里?

Google cloud tpu 使用云TPU时,数据缓存在哪里?,google-cloud-tpu,Google Cloud Tpu,我有一个关于使用TPU的问题。当我对dataset使用.cache()时,数据缓存在哪里?它是缓存在租用的VM实例的RAM中(例如n1-standard-2)还是TPU的内存中。换句话说,如果我有一个~30G的数据集,我是否需要租用一个RAM>30G的VM实例来有效地缓存数据,或者数据缓存在TPU内存中,我不需要担心VM实例的大小 同样的问题也涉及到在哪里进行数据扩充,在VM实例的CPU中还是在TPU中的CPU中 谢谢 当您调用.cache()时,它将尝试在TPU虚拟机上缓存数据集,而不是在GC

我有一个关于使用TPU的问题。当我对dataset使用.cache()时,数据缓存在哪里?它是缓存在租用的VM实例的RAM中(例如n1-standard-2)还是TPU的内存中。换句话说,如果我有一个~30G的数据集,我是否需要租用一个RAM>30G的VM实例来有效地缓存数据,或者数据缓存在TPU内存中,我不需要担心VM实例的大小

同样的问题也涉及到在哪里进行数据扩充,在VM实例的CPU中还是在TPU中的CPU中

谢谢

当您调用
.cache()
时,它将尝试在TPU虚拟机上缓存数据集,而不是在GCE虚拟机(例如n1-standard-2)上,在这种情况下,它应该能够很好地适应,因为TPU虚拟机的可用RAM远远大于此。但是,一般来说,当在TPU上运行时,您不想调用它,因为我们使用GCSFileSystem,它在TFRecord碎片的后台进行缓存:

当您调用
.cache()
时,它将尝试在TPU VM上缓存数据集,而不是在GCE VM上(例如n1-standard-2),在这种情况下,它应该能够很好地适应,因为TPU VM的可用RAM要比这多得多。但是,通常在TPU上运行时,您不希望调用该函数,因为我们使用GCSFileSystem,它在TFRecord碎片的后台进行缓存: