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设置就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 解决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并行方式

    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进行计算的方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 在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安装的常见问题及解决方案

    装tensorflow-gpu的时候经常遇到问题,自己装过几次,经常遇到相同或者类似的问题,所以打算记录一下,也希望对其他人有所帮助 基本信息 tensorflow-gpu pip安装(virtualenv等虚拟安装实质也是pip安装,只是建了个独立的环境,不会影响系统环境,查问题比较容易,最多重新再创建一个干净的环境再来) 安装完之后会用import tensorflow看是否安装成功,结果报错,主要有碰到下面两大类报错信息: 1.ImportError: DLL load failed: 找

  • 解决Tensorflow占用GPU显存问题

    我使用Pytorch进行模型训练时发现真正模型本身对于显存的占用并不明显,但是对应的转换为tensorflow后(权重也进行了转换),发现Python-tensorflow在使用时默认吃掉所有显存,并且不手动终结程序的话显存并不释放(我有两个序贯的模型,前面一个跑完后并不释放占用显存)(https://github.com/tensorflow/tensorflow/issues/1727),这一点对于后续的工作有很大的影响. 后面发现python-tensorflow限制显存有两种方法: 1.

  • 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安全策略 点击下一步,完成. 然后点击

随机推荐