当前位置 : 主页 > 编程语言 > python >

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

来源:互联网 收集:自由互联 发布时间:2023-05-14
目录 如何使用GPU而不是CPU 首先查看设备 如果发现只有一个CPU可用 tensorflow使用GPU的设置方式 方法一 方法二 总结 如何使用GPU而不是CPU 首先查看设备 from tensorflow.python.client import device
目录
  • 如何使用GPU而不是CPU
    • 首先查看设备
    • 如果发现只有一个CPU可用
  • tensorflow使用GPU的设置方式
    • 方法一
    • 方法二
  • 总结

    如何使用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

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

    网友评论