这篇文章主要介绍了tensorflow之如何使用GPU而不是CPU问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
如何使用GPU而不是CPU
首先查看设备
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
如果发现只有一个CPU可用
则说明可能存在一下情况:
1 tensorflow-gpu是否安装,版本查看,如果版本低于tensorflow,则默认启动CPU(t-gpu版本最好高于t)
pip install tensorflow-gpu==2.3.0 -i https://pypi.douban.com/simple/
2 CUDA初始化
在开始训练的前面输入如下:
# 使用CPU:
import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "-1" # 这一行注释掉就是使用cpu,不注释就是使用gpu
# 使用GPU:
import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
# os.environ['CUDA_VISIBLE_DEVICES'] = "0" #这个是仅选择使用GPU 0
# os.environ['CUDA_VISIBLE_DEVICES'] = "1" #这个是仅选择使用GPU 1
# os.environ['CUDA_VISIBLE_DEVICES'] = “0,1” #设置当前使用的GPU设备为0,1号
tensorflow使用GPU的设置方式
方法一
Config=tf.ConfigProto(allow_soft_placement=True) ##:如果你指定的设备不存在,允许TF自动分配设备
Config.gpu_options.allow_growth=True ##动态分配内存
sess=tf.session(config=config)
方法二
gpu_options = tf.GPUOptions(allow_growth=True)
gpu_options =tf.GPUOptions(per_process_gpu_memory_fraction=0.8,allow_growth=True) ##每个gpu占用0.8的显存
config=tf.ConfigProto(gpu_options=gpu_options,allow_soft_placement=True)
sess=tf.session(config=config)##如果电脑有多个GPU,tensorflow默认全部使用。如果想只使用部分GPU,可以设置CUDA_VISIBLE_DEVICES。
控制使用哪个gpu
os.environ[“CUDA_DEVICE_ORDER”] = “PCI_BUS_ID” ##指定的设备名称
os.environ[‘CUDA_VISIBLE_DEVICES'] = ‘0' #使用 GPU 0
os.environ[‘CUDA_VISIBLE_DEVICES'] = ‘0,1' # 使用 GPU 0,1
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程学习网。
沃梦达教程
本文标题为:tensorflow之如何使用GPU而不是CPU问题
猜你喜欢
- 搭建单机Redis缓存服务的实现 2023-07-13
- Numpy中如何创建矩阵并等间隔抽取数据 2023-07-28
- 基于Python制作一个简单的文章搜索工具 2023-07-28
- 在阿里云CentOS 6.8上安装Redis 2023-09-12
- Mongodb启动报错完美解决方案:about to fork child process,waiting until server is ready for connections. 2023-07-16
- redis清除数据 2023-09-13
- Oracle 删除大量表记录操作分析总结 2023-07-23
- SQL Server 2022 AlwaysOn新特性之包含可用性组详解 2023-07-29
- SQLSERVER调用C#的代码实现 2023-07-29
- MySQL8.0.28安装教程详细图解(windows 64位) 2023-07-26