tensorflow指定GPU与动态分配GPU memory设置
在tensorflow中,默认指定占用所有的GPU,如需指定占用的GPU,可以在命令行中:
export CUDA_VISIBLE_DEVICES=1
这样便是只占用1号GPU,通过命令
nvidia-smi
可以查看各个GPU的使用情况。
另外,也可以在python程序中指定GPU,并且动态分配memory,代码如下
import os import sys os.environ['CUDA_VISIBLE_DEVICES'] = sys.argv[1] import tensorflow as tf from keras.backend.tensorflow_backend import set_session config = tf.ConfigProto() config.gpu_options.allow_growth = True set_session(tf.Session(config=config))
这样,占用的GPU就是sys.argv[1]了,并且会按需分配memory。
以上这篇tensorflow指定GPU与动态分配GPU memory设置就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
tensorflow-gpu安装的常见问题及解决方案
装tensorflow-gpu的时候经常遇到问题,自己装过几次,经常遇到相同或者类似的问题,所以打算记录一下,也希望对其他人有所帮助 基本信息 tensorflow-gpu pip安装(virtualenv等虚拟安装实质也是pip安装,只是建了个独立的环境,不会影响系统环境,查问题比较容易,最多重新再创建一个干净的环境再来) 安装完之后会用import tensorflow看是否安装成功,结果报错,主要有碰到下面两大类报错信息: 1.ImportError: DLL load failed: 找
-
在pytorch中为Module和Tensor指定GPU的例子
pytorch指定GPU 在用pytorch写CNN的时候,发现一运行程序就卡住,然后cpu占用率100%,nvidia-smi 查看显卡发现并没有使用GPU.所以考虑将模型和输入数据及标签指定到gpu上. pytorch中的Tensor和Module可以指定gpu运行,并且可以指定在哪一块gpu上运行,方法非常简单,就是直接调用Tensor类和Module类中的 .cuda() 方法. import torch from PIL import Image import torch.nn as
-
解决Tensorflow占用GPU显存问题
我使用Pytorch进行模型训练时发现真正模型本身对于显存的占用并不明显,但是对应的转换为tensorflow后(权重也进行了转换),发现Python-tensorflow在使用时默认吃掉所有显存,并且不手动终结程序的话显存并不释放(我有两个序贯的模型,前面一个跑完后并不释放占用显存)(https://github.com/tensorflow/tensorflow/issues/1727),这一点对于后续的工作有很大的影响. 后面发现python-tensorflow限制显存有两种方法: 1.
-
Tensorflow实现多GPU并行方式
Tebsorflow开源实现多GPU训练cifar10数据集:cifar10_multi_gpu_train.py Tensorflow开源实现cifar10神经网络:cifar10.py Tensorflow中的并行分为模型并行和数据并行.模型并行需要根据不同模型设计不同的并行方式,其主要原理是将模型中不同计算节点放在不同硬件资源上运算.比较通用且能简便地实现大规模并行的方式是数据并行,同时使用多个硬件资源来计算不同batch的数据梯度,然后汇总梯度进行全局更新. 数据并行几乎适用于所有深度学
-
检测tensorflow是否使用gpu进行计算的方式
如下所示: import tensorflow as tf sess = tf.Session(config=tf.ConfigProto(log_device_placement=True)) 查看日志信息若包含gpu信息,就是使用了gpu. 其他方法:跑计算量大的代码,通过 nvidia-smi 命令查看gpu的内存使用量. 以上这篇检测tensorflow是否使用gpu进行计算的方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
解决TensorFlow GPU版出现OOM错误的问题
问题: 在使用mask_rcnn预测自己的数据集时,会出现下面错误: ResourceExhaustedError: OOM when allocating tensor with shape[1,512,1120,1120] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc [[{{node rpn_model/rpn_conv_shared/convolution}} =
-
tensorflow指定GPU与动态分配GPU memory设置
在tensorflow中,默认指定占用所有的GPU,如需指定占用的GPU,可以在命令行中: export CUDA_VISIBLE_DEVICES=1 这样便是只占用1号GPU,通过命令 nvidia-smi 可以查看各个GPU的使用情况. 另外,也可以在python程序中指定GPU,并且动态分配memory,代码如下 import os import sys os.environ['CUDA_VISIBLE_DEVICES'] = sys.argv[1] import tensorflow a
-
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
在Python代码中指定GPU import os os.environ["CUDA_VISIBLE_DEVICES"] = "0" 设置定量的GPU使用量: config = tf.ConfigProto() config.gpu_options.per_process_gpu_memory_fraction = 0.9 # 占用GPU90%的显存 session = tf.Session(config=config) 设置最小的GPU使用量: config =
-
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
1. 在终端执行时设置使用哪些GPU(两种方式) (1) 如下(export 语句执行一次就行了,以后再运行代码不用执行) (2) 如下 2. 代码中指定(两种方式) (1) import os os.environ["CUDA_VISIBLE_DEVICES"] = "1" (2) # Creates a graph. with tf.device('/gpu:1'): a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0],
-
tensorflow指定CPU与GPU运算的方法实现
1.指定GPU运算 如果安装的是GPU版本,在运行的过程中TensorFlow能够自动检测.如果检测到GPU,TensorFlow会尽可能的利用找到的第一个GPU来执行操作. 如果机器上有超过一个可用的GPU,除了第一个之外的其他的GPU默认是不参与计算的.为了让TensorFlow使用这些GPU,必须将OP明确指派给他们执行.with......device语句能够用来指派特定的CPU或者GPU执行操作: import tensorflow as tf import numpy as np w
-
在tensorflow中设置使用某一块GPU、多GPU、CPU的操作
tensorflow下设置使用某一块GPU(从0开始编号): import os os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" os.environ["CUDA_VISIBLE_DEVICES"] = "1" 多GPU: num_gpus = 4 for i in range(num_gpus): with tf.device('/gpu:%d',%i): ... 只是用cpu的
-
运行tensorflow python程序,限制对GPU和CPU的占用操作
一般情况下,运行tensorflow时,默认会占用可以看见的所有GPU,那么就会导致其它用户或程序无GPU可用,那么就需要限制程序对GPU的占用.并且,一般我们的程序也用不了所有的GPU资源,只是强行霸占着,大部分资源都不会用到,也不会提升运行速度. 使用nvidia-smi可以查看本机的GPU使用情况,如下图,这里可以看出,本机的GPU型号是K80,共有两个K80,四块可用(一个K80包括两块K40). 1.如果是只需要用某一块或某几块GPU,可以在运行程序时,利用如下命令运行:CUDA_VI
-
Window10上Tensorflow的安装(CPU和GPU版本)
之前摸索tensorflow的时候安装踩坑的时间非常久,主要是没搞懂几个东西的关系,就在瞎调试,以及当时很多东西不懂,很多报错也一知半解的.这次重装系统后正好需要再配置一次,把再一次的经历记录一下.我的电脑是华为的matebook13,intel i5-8625U,MX250显卡,win10系统.(不得不吐槽很垃圾,只能满足测试测试调调代码的需求) 深度学习利用Tensorflow平台,其中的Keras Sequential API对新用户非常的友好,可以将各基础组件组合在一起来构建模型. (官
-
基于Tensorflow使用CPU而不用GPU问题的解决
之前的文章讲过用Tensorflow的object detection api训练MobileNetV2-SSDLite,然后发现训练的时候没有利用到GPU,反而CPU占用率贼高(可能会有Could not dlopen library 'libcudart.so.10.0'之类的警告).经调查应该是Tensorflow的GPU版本跟服务器所用的cuda及cudnn版本不匹配引起的.知道问题所在之后就好办了. 检查cuda和cudnn版本 首先查看cuda版本: cat /usr/local/
-
Tensorflow中使用cpu和gpu有什么区别
目录 使用cpu和gpu的区别 一些术语的比较(tensorflow和pytorch/cpu和gpu/) tensorflow和pytorch cpu和gpu cuda 使用cpu和gpu的区别 在Tensorflow中使用gpu和cpu是有很大的差别的.在小数据集的情况下,cpu和gpu的性能差别不大. 不过在大数据集的情况下,cpu的时间显著增加,而gpu变化并不明显. 不过,我的笔记本电脑的风扇终于全功率运行了. import tensorflow as tf import timeit
-
windows下指定IP地址远程访问服务器的设置方法
我们有很多服务器经常受到外界网络的干扰,入侵者们通过扫描3389端口爆破密码非法进入我们的服务器,这时,我们可以配置服务器IP 安全策略来限制一些IP访问,大大提高了服务器的安全. 实验环境: 服务端:server 2008R2 IP(192.168.0.103) 客户端:win 7 IP(192.168.0.105) 具体配置如下操作: 1.首先打开ip安全策略:控制面板–管理工具–本地安全策略–IP安全策略,在本地计算机上.在右侧空白处右击,选择创建IP安全策略 点击下一步,完成. 然后点击
随机推荐
- 利用正则表达式将字符串分组示例代码
- AngularJS实现数据列表的增加、删除和上移下移等功能实例
- 永远不要因为工作不好而辞职
- C#实现窗体中的各个控件同比自动放缩大小
- jquery+正则实现统一的表单验证
- 详解Vue双向数据绑定原理解析
- php将数据库中所有内容生成静态html文档的代码
- 关于mysql create routine 权限的一些说明
- 加载 Javascript 最佳实践
- JQquery的一些使用心得分享
- 解决MSSQL2005远程连接sql2000非默认端口数据库的问题
- C++实现合并排序的方法
- php准确获取文件MIME类型的方法
- Firefox和IE浏览器兼容JS脚本写法小结
- 互斥量mutex的简单使用(实例讲解)
- 路由器原理及路由协议
- Android 8.0 中如何实现视频通话的画中画模式的示例
- 深入浅析Spring-boot-starter常用依赖模块
- 使用C++实现顺序链表
- 基于IOS端微信分享失效的踩坑及解决方法