【python基础】python开启GPU加速
前言
训练时使用GPU可以加速程序运行,本文介绍如何使用GPU加速。
前提条件
1. 机子有GPU显卡,并安装GPU显卡驱动;
2. 安装GPU的使用环境,CUDA等;
3. 打开nvidia-smi中的PM属性;
4. 程序中指定使用的GPU设备;
本文主要讲解如何指定GPU设备开启GPU进行加速。
操作过程
方法一:
看了好多教程都提到了使用 os.environ["CUDA_VISIBLE_DEVICES"] = "1" 或者export CUDA_VISIBLE_DEVICES=1,但是我加进代码里面速度并没有提高,查了很久才找到问题所在,当你的电脑有两块以上GPU时,上面这两句代码才起作用!如果电脑只有一块GPU,需要将参数的“1”改成“0”才可以,否则找不到“1”号设备,它就会默认使用CPU,速度不会提高。
方法二:
如果是在终端中运行python程序,使用命令:CUDA_VISIBLE_DEVICES=0 python filename.py即可
方法三:
如果有多块卡,想要指定多个gpu训练,可以这样设置:
def set_gpus(gpu_index):
if type(gpu_index) == list:
gpu_index = ','.join(str(_) for _ in gpu_index)
if type(gpu_index) ==int:
gpu_index = str(gpu_index)
os.environ["CUDA_VISIBLE_DEVICES"] = gpu_index
通过调用set_gpu函数即可实现。
将set_gpu函数加在程序入口文件很前面的位置,保证程序能执行这句;另外,第一块GPU如果利用率低,可以通过设置tf.Session()的config参数来指定gpu显存利用率,第二块卡没有用的原因有可能是代码本身是不支持多GPU的,需要修改代码。
另外, 打开nvidia-smi中的PM属性,可以使用命令
nvidia-smi -pm
参考
1. python开启GPU加速;
完
【python基础】python开启GPU加速的更多相关文章
- 开启gpu加速的高性能移动端相框组件!
通过设置新的css3新属性translateX来代替传统的绝对定位改变left值的动画原理,新属性translateX会开启浏览器自带的gpu硬件加速动画性能,提高流畅度从而提高用户体验, 代码有很详 ...
- ubuntu 15 安装cuda,开启GPU加速
1 首先要开启GPU加速就要安装cuda.安装cuda,首先要安装英伟达的驱动.ubuntu有自带的开源驱动,首先要禁用nouveau.这儿要注意,虚拟机不能安装ubuntu驱动.VMWare下显卡只 ...
- 使用css3实现动画来开启GPU加速
参考文章: https://www.w3cplus.com/css3/introduction-to-hardware-acceleration-css-animations.html http:// ...
- python基础---->python的使用(三)
今天是2017-05-03,这里记录一些python的基础使用方法.世上存在着不能流泪的悲哀,这种悲哀无法向人解释,即使解释人家也不会理解.它永远一成不变,如无风夜晚的雪花静静沉积在心底. Pytho ...
- Python基础--Python简介和入门
☞写在前面 在说Python之前,我想先说一下自己为什么要学Python,我本人之前也了解过Python,但没有深入学习.之前接触的语言都是Java,也写过一些Java自动化用例,对Java语言只能说 ...
- python基础-python解释器多版本共存-变量-常量
一.编程语言的发展史 机器语言-->汇编语言-->高级语言,学习难度及执行效率由高到低,开发效率由低到高 机器语言:二进制编程,0101 汇编语言:用英文字符来代替0101编程 高级语言: ...
- python基础--python基本知识、七大数据类型等
在此申明一下,博客参照了https://www.cnblogs.com/jin-xin/,自己做了部分的改动 (1)python应用领域 目前Python主要应用领域: 云计算: 云计算最火的语言, ...
- python开启GPU加速
看了好多教程都提到了使用 os.environ["CUDA_VISIBLE_DEVICES"] = "1" 或者export CUDA_VISIBLE_DEVI ...
- python基础===Python性能优化的20条建议
优化算法时间复杂度 算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1).不同的场 ...
随机推荐
- 快排算法Java版-每次以最左边的值为基准值手写QuickSort
如题 手写一份快排算法. 注意, 两边双向找值的时候, 先从最右边起找严格小于基准值的值,再从最左边查找严格大于基准base的值; 并且先右后左的顺序不能反!!这个bug改了好久,233~ https ...
- js实现文本框自动显示两位小数
转自https://blog.csdn.net/qiji2011/article/details/81270552 1.js: //保留2位小数,如:2,会在2后面补上00.即2.00 functio ...
- ThreadLocal(在一个线程中共享数据)
ThreadLocal 在"事务传递Connection"参数案例中,我们必须传递Connection对象,才可以完成整个事务操作.如果不传递参数,是否可以完成?在JDK中给我们提 ...
- 运行pyqt4生成py文件增加代码
if __name__ == "__main__": import sys app = QtGui.QApplication(sys.argv) Form = QtGui.QWid ...
- ThinkPHP远程调用模块的操作方法 URL 参数格式
* 远程调用模块的操作方法 URL 参数格式 [项目://][分组/]模块/操作 * @param string $url 调用地址 * @param string|array $vars 调用参数 ...
- Spring源码窥探之:AOP注解
AOP也就是我们日常说的@面向切面编程,看概念比较晦涩难懂,难懂的是设计理念,以及这样设计的好处是什么.在Spring的AOP中,常用的几个注解如下:@Aspect,@Before,@After,@A ...
- 导出服务器Oracle数据库为dmp文件
本文链接:https://blog.csdn.net/rensheng_ruxi/article/details/79877267一.前提:本机安装有Oracle客户端,并且是正确安装. 二.导出Or ...
- Tips on Probability Theory
1.独立与不相关 随机变量X和Y相互独立,有:E(XY) = E(X)E(Y). 独立一定不相关,不相关不一定独立(高斯过程里二者等价) .对于均值为零的高斯随机变量,“独立”和“不相关”等价的. 独 ...
- laravel使用手札——使用PHPStorm提升开发速度
laravel使用手札——使用PHPStorm提升开发速度 phpstormphplaravel 阅读约 4 分钟 PHPStorm安装 PHPStorm 使用手札——安装看这里 代码自动提示支持 ...
- POJ P3009 Curling 2.0 题解
深搜,向四个方向,在不越界的情况下一直闷头走,直到撞墙.到达终点就输出,没到就回溯. #include<iostream> #include<cstring> #include ...