【问题标题】:Limiting GPU memory usage by Keras / TF 2019?Keras / TF 2019 限制 GPU 内存使用?
【发布时间】:2019-09-11 07:41:51
【问题描述】:

我已经阅读了类似的答案:

import tensorflow as tf
from keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.2
set_session(tf.Session(config=config))

但这只是行不通。 keras 和 TF 似乎都有很多更新,以至于 2017 年编写的几乎所有内容都不起作用! 那么,如何限制内存使用呢?

【问题讨论】:

    标签: tensorflow keras deep-learning gpu


    【解决方案1】:

    看来我也有同样的问题。你试过吗?

    import tensorflow as tf
    from keras.backend.tensorflow_backend import set_session
    
    config = tf.ConfigProto()
    config.gpu_options.allow_growth = True
    sess = tf.Session(config=config)
    set_session(sess)
    

    此方法将使应用程序仅根据运行时分配分配尽可能多的 GPU 内存。

    【讨论】:

      【解决方案2】:

      限制在 tensorflow 中保留所有 GPU RAM 的一种方法是增加保留量。此方法允许您使用相同的 GPU 训练多个 NN,但您无法设置要保留的内存量的阈值。

      在导入 keras 之前使用以下 sn-p 或仅使用 tf.keras 代替。

      import tensorflow as tf
      gpus = tf.config.experimental.list_physical_devices('GPU')
      if gpus:
          try:
              for gpu in gpus:
                  tf.config.experimental.set_memory_growth(gpu, True)
      
          except RuntimeError as e:
              print(e)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-30
        • 1970-01-01
        • 2019-04-15
        • 2017-04-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多