1 TensorFlow设置方法

1.1 指定GPU

法1

import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "1"

上边表示使用第二块GPU运行程序,如果要使用多块,如第一块和第三块,可使用如下方法指定

os.environ["CUDA_VISIBLE_DEVICES"] = "0,2"

如果想屏蔽输出信息,使用以下设置

os.environ['TF_CPP_MIN_LOG_LEVEL']='3' #close log output

法2

import tensorflow as tfwith tf.device('/gpu:1'):v1 = tf.constant([1.0, 2.0, 3.0], shape=[3], name='v1')v2 = tf.constant([1.0, 2.0, 3.0], shape=[3], name='v2')sumV12 = v1 + v2with tf.Session(config=tf.ConfigProto(log_device_placement=True)) as sess:print sess.run(sumV12)

1.2 设置GPU比例

选择GPU后,可以设置每块占用的比例,因为tensorflow默认占用全部

gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.2)
with tf.Session(graph=detection_graph,config=tf.ConfigProto(gpu_options=gpu_options)) as sess:

也可以设置按需分配显存

gpu_options = tf.GPUOptions(allow_growth=True)
with tf.Session(graph=detection_graph,config=tf.ConfigProto(gpu_options=gpu_options)) as sess:

1.3 指定CPU

如果想强制使用CPU运行tensorflow,只需要将CUDA_VISIBLE_DEVICES这个参数设为空即可,如下

os.environ["CUDA_VISIBLE_DEVICES"] = " "

如果想要指定CPU核数,使用如下方法

cpu_num=10#指定使用的CPU个数
config = tf.ConfigProto(device_count={"CPU": cpu_num},inter_op_parallelism_threads = cpu_num,intra_op_parallelism_threads = cpu_num,log_device_placement=True)
# 开始训练
with tf.Session(config=config) as sess:#以下编写自己的代码

log_device_placement = True可以把程序运行时跑的设备情况给输出

2 PyTorch 设置方法

PyTorch默认使用从0开始的GPU,如果GPU0正在运行程序,需要指定其他GPU。

有如下两种方法来指定需要使用的GPU。

2.1 CUDA_VISIBLE_DEVICES。

类似tensorflow指定GPU的方式,使用CUDA_VISIBLE_DEVICES。

2.1.1 直接终端中设定:

CUDA_VISIBLE_DEVICES=1 python my_script.py

2.1.2 python代码中设定:

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "2"

见网址:http://www.cnblogs.com/darkknightzh/p/6591923.html

2.2. 使用函数 set_device

import torch
torch.cuda.set_device(id)

该函数见 pytorch-master\torch\cuda\__init__.py。

不过官方建议使用CUDA_VISIBLE_DEVICES,不建议使用 set_device 函数。

深度学习之选择GPU或CPU方法相关推荐

  1. [AI开发]深度学习如何选择GPU?

    机器推理在深度学习的影响下,准确性越来越高.速度越来越快.深度学习对人工智能行业发展的贡献巨大,这得益于现阶段硬件计算能力的提升.互联网海量训练数据的出现.本篇文章主要介绍深度学习过程中如何选择合适的 ...

  2. 怎样为深度学习系统选择GPU

    转载自: https://timdettmers.wordpress.com/2014/08/14/which-gpu-for-deep-learning/ Which GPU(s) to Get f ...

  3. 深度学习框架:GPU

    深度学习框架:GPU Deep Learning Frameworks 深度学习框架通过高级编程接口为设计.训练和验证深度神经网络提供了构建块.广泛使用的深度学习框架如MXNet.PyTorch.Te ...

  4. 想知道深度学习卷积在GPU上如何优化吗?“大神”赵开勇带你深入浅出

    想知道深度学习卷积在GPU上如何优化吗?"大神"赵开勇带你深入浅出 2016-08-19 11:54 转载 陈杨英杰 0条评论 雷锋网(搜索"雷锋网"公众号关注 ...

  5. 结合语言知识和深度学习的中文文本情感分析方法

    结合语言知识和深度学习的中文文本情感分析方法 徐康庭, 宋威 北方工业大学信息学院 摘要:在目前的中文文本情感分析研究中,基于语义规则和情感词典的方法通常需要人工设置情感阈值:而基于深度学习的方法由于 ...

  6. 环境搭建:docker + nvidia-docker 深度学习框架(GPU)

    docker + nvidia-docker 深度学习框架(GPU) 文章目录 docker + nvidia-docker 深度学习框架(GPU) 1. Docker CE 2. nvidia-do ...

  7. 深度学习中的GPU与CUDA

    对应视频教程:https://www.bilibili.com/video/BV1S5411X7FY/ 文章目录 1. 显卡(GPU)与驱动 2. 显卡与CUDA 3. 如何查看自己的显卡 1. 显卡 ...

  8. [caffe]深度学习之CNN检测object detection方法摘要介绍

    [caffe]深度学习之CNN检测object detection方法摘要介绍  2015-08-17 17:44 3276人阅读 评论(1) 收藏 举报 一两年cnn在检测这块的发展突飞猛进,下面详 ...

  9. Colaboratory:手把手教你使用Google免费的云端IDE进行深度学习(免费的GPU加速)的详细攻略

    Colaboratory:手把手教你使用Google免费的云端IDE进行深度学习(免费的GPU加速)的详细攻略 目录 Colaboratory简介 Colaboratory使用步骤 (1).首先登陆谷 ...

最新文章

  1. iphone11系统输入框的光标位置不正常
  2. Ansible-Playbook-template算数运算以及流程控制
  3. 只要200页!火爆全网的Python学习知识手册!拿走不谢!
  4. rk3288 android4.4,ubuntu16.04下firefly rk3288的编译安卓4.4
  5. jboss fuse 教程_JBoss Fuse –使用MVEL将您的静态配置转换为动态模板
  6. ssh 端口_【科普】SSH都不懂,还搞什么网络
  7. 【Go语言】集合与文件操作
  8. java selenium环境安装
  9. 用pyqt5做一个能python程序能插入图片的ide
  10. redux-effect
  11. 适合计算机社团活动的游戏,适合大学社团活动“游戏”有哪些?
  12. Python基于OpenCV的土壤裂缝分割系统[源码&部署教程]
  13. ios string转dic_如何在Swift(iOS,Xcode)中将NSDictionary转换为Json String?
  14. 感谢生命中的每一次遇见
  15. 如梦若梦,肾盂肾炎似烟火
  16. 使用TensorFlow调用PTB数据集并且搭建基于LSTM的PTB语言模型
  17. 怎么用matlab求特征向量,MATLAB用eig()函数求【特征值】【特征向量】【归一化
  18. 爬取大西洋月刊每日新闻
  19. 手势操作各个方法的含义
  20. 年底程序员好找工作吗_博客和意见-“查看者邮件”,这是年底的一种邪恶方式吗? 还是开始新年的好方法......

热门文章

  1. 如何生成多个互不重叠的不同半径圆(逻辑)
  2. 个人计算机视觉学习路线
  3. 群发邮件 (20 分)
  4. 双 JK 触发器 74LS112 逻辑功能。真值表_触发器的工作原理是什么
  5. 移动硬盘无法被识别怎么办?
  6. R 中关闭科学记数法
  7. 爬虫I号 :获取免费代理服务器进行代理验证
  8. 依赖倒转原则与里氏代换原则
  9. FPGA实现的SPI协议(一)----SPI驱动
  10. slot卡槽封装公共组件