【问题标题】:Share GPU memory for different users in keras and tensorflow在 keras 和 tensorflow 中为不同用户共享 GPU 内存
【发布时间】:2018-06-17 03:42:43
【问题描述】:

我们只安装了一个带有 CUDA 驱动程序的 GPU,每当一个用户运行代码时,整个内存都会分配给该用户。其他用户无法使用 GPU。有没有办法摆脱这种行为?

【问题讨论】:

    标签: tensorflow keras gpu theano-cuda


    【解决方案1】:

    如果您使用的是keras,请将其添加到脚本的开头:

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

    这将阻止tensorflow 占用所有内存,如here 所示。

    如果您使用 tensorflow 而不使用 keras,请添加:

    config = tf.ConfigProto()
    config.gpu_options.allow_growth = True
    session = tf.Session(config=config, ...)
    

    如图here

    【讨论】:

    • 感谢您的回复。但是如何限制GPU只运行tensorflow(只用tensorflow编写的代码),没有任何keras环境。
    • @Rajesh 我根据您的需要修改了我的答案
    • @vinzee 如果我不使用 tf.Session 怎么办?因为tf2.1 让我们可以直接用tf.Keras.Models.Compile 制作trians
    猜你喜欢
    • 2018-05-31
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    • 2019-08-24
    • 1970-01-01
    • 2017-08-28
    相关资源
    最近更新 更多