转载请注明出处:

http://www.cnblogs.com/darkknightzh/p/6591923.html

参考网址:

http://stackoverflow.com/questions/36668467/change-default-gpu-in-tensorflow

http://stackoverflow.com/questions/37893755/tensorflow-set-cuda-visible-devices-within-jupyter

1 终端执行程序时设置使用的GPU

如果电脑有多个GPU,tensorflow默认全部使用。如果想只使用部分GPU,可以设置CUDA_VISIBLE_DEVICES。在调用python程序时,可以使用(见第一个参考网址Franck Dernoncourt的回复):

CUDA_VISIBLE_DEVICES= python my_script.py
Environment Variable Syntax      Results

CUDA_VISIBLE_DEVICES=1           Only device 1 will be seen
CUDA_VISIBLE_DEVICES=0,1 Devices 0 and 1 will be visible
CUDA_VISIBLE_DEVICES="0,1" Same as above, quotation marks are optional
CUDA_VISIBLE_DEVICES=0,2,3 Devices 0, 2, 3 will be visible; device 1 is masked
CUDA_VISIBLE_DEVICES="" No GPU will be visible

2 python代码中设置使用的GPU

如果要在python代码中设置使用的GPU(如使用pycharm进行调试时),可以使用下面的代码(见第二个参考网址中Yaroslav Bulatov的回复):

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

3 设置tensorflow使用的显存大小

3.1 定量设置显存

默认tensorflow是使用GPU尽可能多的显存。可以通过下面的方式,来设置使用的GPU显存:

gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.7)
sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))

上面分配给tensorflow的GPU显存大小为:GPU实际显存*0.7。

可以按照需要,设置不同的值,来分配显存。

========================================================================

170703更新:

3.2 按需设置显存

上面的只能设置固定的大小。如果想按需分配,可以使用allow_growth参数(参考网址:http://blog.csdn.net/cq361106306/article/details/52950081):

gpu_options = tf.GPUOptions(allow_growth=True)
sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))

170703更新结束

========================================================================

最新文章

  1. Ubuntu Install Java
  2. Java经典实例:使用正则表达式:测试模式
  3. windows python3.2 shell环境(python叫做解释器)
  4. Android 软键盘弹出时把布局顶上去,控件乱套解决方法
  5. POJ3122Pie(二分)
  6. Java面试指导
  7. 优化Servlet:(利用反射的思想)
  8. C#总结(一)AutoResetEvent的使用介绍(用AutoResetEvent实现同步)
  9. HttpWebRequest 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系
  10. Vue-Cli 搭建项目 小白
  11. ubuntu上安装boost库
  12. sklearn_SVM
  13. 通过IP地址进行精准定位
  14. golang (5) ---工程管理
  15. Android XListView下拉刷新、上拉载入更多
  16. nutz 结合QueryResult,Record 自定义分页查询,不构建pojo 整合
  17. Flex页面跳转的五种实现方式
  18. Spring帖子汇总
  19. Codeforces 1154G(枚举)
  20. 【java基础 4】树形结构数据呈现的非递归算法(循环)实现

热门文章

  1. Java中如何输出对勾,ASCII编码与字符串相互转换
  2. [hgoi#2019/2/24]玄学考试
  3. emwin 解决在A窗口上新建B窗口后‘只激活’B窗口问题
  4. matplotlib 28原则
  5. Python(四)——PyCharm的安装和使用
  6. (erase) Mispelling4 hdu1984
  7. 五个免费UML建模工具
  8. linux配置无秘钥登陆
  9. CentOS 6.9/7通过yum安装指定版本的MySQL
  10. Makefile 中符合的使用