gpt4 book ai didi

python - Tensorflow:使用不适合单个 GPU 内存的图形训练模型

转载 作者:行者123 更新时间:2023-12-01 09:15:14 24 4
gpt4 key购买 nike

MemoryError 在构建图表时以及在将任何内容传输到 GPU 之前引发。 MemoryError 是由于尝试分配比机器可用的内存更多的内存而引起的。

  • 我拥有:多个 GPU
  • 我没有什么:内存不够大,无法在任何单个 GPU 上容纳图表
  • 我想要做的:在单个 GPU 中分多次训练模型,或者更好的是,同时使用所有 GPU 来训练模型的不同部分(如果可能的话)。

但是如何训练需要将大量图形加载到内存中(它不适合)的模型?零件培训?卡住层?快速谷歌搜索根本没有给出任何提示:/

什么是正确的、也许是最好的方法?

最佳答案

完全有可能!

图表的不同部分可以分配给不同的 GPU(和 CPU)。灵感来自Using GPUs ,您应该能够执行以下操作:

`with tf.device('/device:GPU:2'):`
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')

`with tf.device('/device:GPU:1'):`
c = tf.matmul(a, b)

操作和张量可以任意分配给 CPU 和 GPU(当然,请注意,由于必须在不同硬件之间洗牌大量数据,您的性能可能会受到显着影响)。

此外,Distributed Tensorflow允许您在网络上的多个系统周围分配操作和张量,并为您处理管道。

关于python - Tensorflow:使用不适合单个 GPU 内存的图形训练模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51333501/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com