首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tensorflow 2.0 gpu集可用gpu?

tensorflow 2.0 gpu集可用gpu?
EN

Stack Overflow用户
提问于 2019-11-17 12:14:54
回答 2查看 1.7K关注 0票数 1
代码语言:javascript
复制
from tensorflow.python.client import device_lib

def get_available_gpus():
    local_device_protos = device_lib.list_local_devices()
    return [x.name for x in local_device_protos if x.device_type == 'GPU']
get_available_gpus()

'/device: gpu :0',/device: gpu :1‘当我用tensorflow 2.0 gpu训练和编译cnn时,我想设置可用的gpu 我该怎么做?

代码语言:javascript
复制
os.environ["CUDA_VISIBLE_DEVICES"]="1";  
from keras.backend.tensorflow_backend import set_session
config = tf.compat.v1.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.8
tf.compat.v1.Session(config=config)

有些人认为这段代码是不可靠的

tf.‘2.0’

EN

回答 2

Stack Overflow用户

发布于 2019-11-19 00:29:50

据我在你的脚本中所看到的,它看起来已经相当正确了。据我所知,tensorflow 2.x的keras有自己的高级API,称为keras。我也用

代码语言:javascript
复制
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "1"

代码语言:javascript
复制
try:
  %tensorflow_version 2.x
except Exception:
  pass
import tensorflow as tf
tf.keras.backend.clear_session()

另外,您可能需要切换到

代码语言:javascript
复制
from tensorflow import keras
from tensorflow.keras.optimizers import Adam
from tensorflow.keras import layers

您可以从这个链接中找到原因。我认为首先,您可以使用预先构建的(例如VGG或ResNet)模型进行测试,以查看您的GPU是否运行。我非常肯定,我的一些定制构建模型并不真正使用GPU。但是当我和另一种型号一起跑的时候,它就起作用了。这有点奇怪,问题就在我假设的模型上。

票数 0
EN

Stack Overflow用户

发布于 2020-06-11 09:44:52

使用with tf.device():

因此,您现在有两个具有名称的GPU:

代码语言:javascript
复制
['/device:GPU:0', '/device:GPU:1'] 

然后在您的代码中,例如您的主要工作:

代码语言:javascript
复制
def main():
    # do somthing here...

主要():

代码语言:javascript
复制
if __name__ == "__main__":
    with tf.device('/device:GPU:0'): # select device here...
        main()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58900322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档