翼度科技»论坛 编程开发 python 查看内容

tensorflow之如何使用GPU而不是CPU问题

9

主题

9

帖子

27

积分

新手上路

Rank: 1

积分
27
如何使用GPU而不是CPU


首先查看设备
  1. from tensorflow.python.client import device_lib
  2. print(device_lib.list_local_devices()) 
复制代码
如果发现只有一个CPU可用

则说明可能存在一下情况:
1 tensorflow-gpu是否安装,版本查看,如果版本低于tensorflow,则默认启动CPU(t-gpu版本最好高于t)
  1. pip install tensorflow-gpu==2.3.0 -i https://pypi.douban.com/simple/
复制代码
2 CUDA初始化
在开始训练的前面输入如下:
  1. # 使用CPU:
  2. import os
  3. os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
  4. os.environ["CUDA_VISIBLE_DEVICES"] = "-1" # 这一行注释掉就是使用cpu,不注释就是使用gpu
  5. # 使用GPU:
  6. import os
  7. os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
  8. # os.environ['CUDA_VISIBLE_DEVICES'] = "0" #这个是仅选择使用GPU 0
  9. # os.environ['CUDA_VISIBLE_DEVICES'] = "1" #这个是仅选择使用GPU 1
  10. # os.environ['CUDA_VISIBLE_DEVICES']  = “0,1” #设置当前使用的GPU设备为0,1号
复制代码
tensorflow使用GPU的设置方式


方法一
  1. Config=tf.ConfigProto(allow_soft_placement=True)  ##:如果你指定的设备不存在,允许TF自动分配设备
  2. Config.gpu_options.allow_growth=True  ##动态分配内存
  3. sess=tf.session(config=config)
复制代码
方法二
  1. gpu_options = tf.GPUOptions(allow_growth=True)
  2. gpu_options =tf.GPUOptions(per_process_gpu_memory_fraction=0.8,allow_growth=True) ##每个gpu占用0.8的显存
  3. config=tf.ConfigProto(gpu_options=gpu_options,allow_soft_placement=True)
  4. sess=tf.session(config=config)##如果电脑有多个GPU,tensorflow默认全部使用。如果想只使用部分GPU,可以设置CUDA_VISIBLE_DEVICES。
复制代码
控制使用哪个gpu
  1. os.environ[“CUDA_DEVICE_ORDER”] = “PCI_BUS_ID” ##指定的设备名称
  2. os.environ[‘CUDA_VISIBLE_DEVICES'] = ‘0' #使用 GPU 0
  3. os.environ[‘CUDA_VISIBLE_DEVICES'] = ‘0,1' # 使用 GPU 0,1
复制代码
总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

来源:https://www.jb51.net/article/283942.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具