展开

关键词

keras实现多GPU指定GPU的使用介绍

1. keras新版本中加入多GPU并行使用的函数 下面程序段即可实现一个或多个GPU加速: 注意:使用多GPU加速时,Keras版本必须是Keras2.0.9以上版本 from keras.utils.training_utils import multi_gpu_model #导入kerasGPU函数 import VGG19 #导入已经写好的函数模型,例如VGG19 if G <= 1: print("[INFO ) model = multi_gpu_model(model1, gpus=G) 2.指定使用某个GPU 首先在终端查看主机中GPU编号: watch -n -9 nvidia-smi 显示主机中只有一块GPU,编号为0 2.1 下面方法是直接在终端运行时加入相关语句实现指定GPU的使用 export CUDA_VISIBLE_DEVICES=0 python test.py # 表示运行 以上这篇keras实现多GPU指定GPU的使用介绍就是小编分享给大家的全部内容了,希望能给大家一个参考。

63710

KerasGPU训练

Keras 2.X版本后可以很方便的支持使用多GPU进行训练了,使用多GPU可以提高我们的训练过程,比如加速和解决内存不足问题。 多GPU其实分为两种使用情况:数据并行和设备并行。 Keraskeras.utils.multi_gpu_model 中提供有内置函数,该函数可以产生任意模型的数据并行版本,最高支持在8片GPU上并行。 数据并行是指将我们的模型放到多个GPU上去跑,来处理数据集的不同部分,Keraskeras.utils.multi_gpu_model支持任意模型的数据并行,最多支持8个GPU。 这里就给出数据并行的多GPU训练示例: from keras.utils.training_utils import multi_gpu_model #导入kerasGPU函数 model = GPU来跑: import os os.environ["CUDA_VISIBLE_DEVICES"] = "3,5" 使用命令“nvidia-smi”可以查看各GPU的使用情况和序号,上面代码就是指定用序号为

18530
  • 广告
    关闭

    【玩转 Cloud Studio】有奖调研征文,千元豪礼等你拿!

    想听听你玩转的独门秘籍,更有机械键盘、鹅厂公仔、CODING 定制公仔等你来拿!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Keras学习笔记(六)——如何在 GPU 上运行 Keras?以及如何在多 GPU 上运行 Keras 模型?,Keras会不会自动使用GPU

    如何在 GPU 上运行 Keras? 如果你以 TensorFlow 或 CNTK 后端运行,只要检测到任何可用的 GPU,那么代码将自动在 GPU 上运行。 THEANO_FLAGS=device=gpu,floatX=float32 python my_keras_script.py "gpu" 可能需要根据你的设备标识符(例如gpu0,gpu1等)进行更改 ' theano.config.floatX = 'float32' 如何在多 GPU 上运行 Keras 模型? Keras 有一个内置的实用函数 keras.utils.multi_gpu_model,它可以生成任何模型的数据并行版本,在多达 8 个 GPU 上实现准线性加速。 这里是一个快速的例子: from keras.utils import multi_gpu_model # 将 `model` 复制到 8 个 GPU 上。

    1.2K20

    为tensorflow指定GPU

    为tensorflow指定GPU,原因是,默认创建session时,会将所有显存占满,发现有人在用的时候,就会session不能创建而报错。 首先nvidia-smi查看显卡的编号,最左边一列,看看哪个空的 2.在终端设置使用的GPU 如果用方法一,虽然方便,但有的时候还是需要指定其他的GPU,这时可以这样,例如 CUDA_VISIBLE_DEVICES =2 python test.py 这样就只会使用序号为2的GPU 3.在程序中指定使用的GPU import os os.environ["CUDA_VISIBLE_DEVICES"]=‘2’ 这里仅做一下记录 linux,GPU, py2.7 pip install \ -i https://pypi.tuna.tsinghua.edu.cn/simple/ \ https://mirrors.tuna.tsinghua.edu.cn /tensorflow/linux/gpu/tensorflow_gpu-1.4.0-cp27-none-linux_x86_64.whl

    94530

    ·TensorFlow&Keras GPU使用技巧

    [开发技巧]·TensorFlow&Keras GPU使用技巧 ? 首先介绍下TensorFlow&Keras GPU使用的机制:TensorFlow&Keras会在有GPU可以使用时,自动将数据与运算放到GPU进行训练(这个不同于MXNet与PyTorch处理方式不同 ,MXNet与PyTorch需要手动编程去指定数据与运算的Device,这里不讨论这些方法之间的优劣,选择适合自己的就好了),默认充满GPU所有显存。 GPU显存的时候,用户可以设定此任务占用的GPU显存大小,现在再使用GPU进行新的任务时,就可以并行运行了 如果有多个GPU可以默认指定任务在不同GPU上。 capability: 6.1) 3.解决方法三:多个GPU指定在不同GPU运行 如果条件允许,拥有多个,就可以把不同任务放置在不同GPU上,要注意如果是和同事共用,要约定好如何分配,免得大家都用了同一个

    80020

    GPU加速Keras模型——Colab免费GPU使用攻略

    本文将介绍对Keras模型训练过程进行加速的方法。重点介绍Google 的Colab平台的免费GPU资源使用攻略。 4,上传训练数据 我们使用《Keras图像数据预处理范例——Cifar2图片分类》文章中提到的Cifar2数据集的分类项目来演示GPUKeras模型训练过程的的加速效果。 当存在可用的GPU时,如果不特意指定device,keras的后端tensorflow(GPU版本)会自动优先选择使用GPU来创建张量和执行张量计算。 "] = "0" #有多个GPU时可以指定只使用第几号GPU config = tf.ConfigProto() config.allow_soft_placement=True #允许动态放置张量和操作符 ["CUDA_VISIBLE_DEVICES"] = "0" #有多个GPU时可以指定只使用第几号GPU config = tf.ConfigProto() config.allow_soft_placement

    1.4K31

    kerasgpu并行运行案例

    一、多张gpu的卡上使用keras 有多张gpu卡时,推荐使用tensorflow 作为后端。使用多张gpu运行model,可以分为两种情况,一是数据并行,二是设备并行。 利用multi_gpu_model实现 keras.utils.multi_gpu_model(model, gpus=None, cpu_merge=True, cpu_relocation=False 返回 一个 Keras Model 实例,它可以像初始 model 参数一样使用,但它将工作负载分布在多个 GPU 上。 例子 import tensorflow as tf from keras.applications import Xception from keras.utils import multi_gpu_model import backend as K K.set_session(sess) 以上这篇kerasgpu并行运行案例就是小编分享给大家的全部内容了,希望能给大家一个参考。

    1.1K20

    Keras - GPU ID 和显存占用设定

    Keras - GPU ID 和显存占用设定 初步尝试 Keras (基于 Tensorflow 后端)深度框架时, 发现其对于 GPU 的使用比较神奇, 默认竟然是全部占满显存, 1080Ti 跑个小分类问题 服务器上的多张 GPU 都占满, 有点浪费性能. 因此, 需要类似于 Caffe 等框架的可以设定 GPU ID 和显存自动按需分配. 实际中发现, Keras 还可以限制 GPU 显存占用量. -- coding: utf-8 --*-- import tensorflow as tf import keras.backend.tensorflow_backend as ktf # GPU -- coding: utf-8 --*-- import tensorflow as tf import keras.backend.tensorflow_backend as ktf # 设定 GPU = 0.3 session = tf.Session(config=config) ktf.set_session(session) # 指定GPUID, 第一块GPU可用 os.environ["

    1.1K160

    linux安装keras+tensorflow-gpu步骤

    最近从网上下载了一个代码是keras+tensorflow的,第一次运行python代码有点激动,中间遇见了一些坑,记录一下解决方案。 最主要的是keras和tensorflow-gpu的版本不匹配造成的。 python==3.6.7(这个环境以前以为要和以前安装的python版本对应,其实是不必要的,这个版本可以根据代码要求设定,比如可以3.5或3.6.)2.安装tensorflow,因为自己用的服务器可以使用GPU ,所以这里安装tensorflow-gpu版本:conda install tensorflow-gpu==1.12.0(这一步会自动安装 cudatoolkit 9.2 和 cudnn 7.6.0)3 .安装kerasconda install keras==2.2.44.降低一下numpy的版本conda numpy==1.16.0

    62710

    keras系列︱keras是如何指定显卡且限制显存用量

    keras在使用GPU的时候有个特点,就是默认全部占满显存。 若单核GPU也无所谓,若是服务器GPU较多,性能较好,全部占满就太浪费了。 于是乎有以下三种情况: - 1、指定GPU - 2、使用固定显存的GPU - 3、指定GPU + 固定显存 一、固定显存的GPU 本节来源于:深度学习theano/tensorflow多显卡多人使用问题集 (参见:Limit the resource usage for tensorflow backend · Issue #1538 · fchollet/keras · GitHub) 在使用keras (2017年2月20日补充) 二、指定GPU import os os.environ["CUDA_VISIBLE_DEVICES"] = "2" 此时的代码为选择了编号为2 的GPU # python 来源:Tensorflow 学习笔记(七) ———— 多GPU操作 三、指定GPU + 固定显存 上述两个连一起用就行: import os import tensorflow as tf os.environ

    1.2K90

    解决Keras使用GPU资源耗尽的问题

    我们在使用GPU资源进行训练的时候,可能会发生资源耗尽的情况,那么在在这种情况,我们需要对GPU的资源进行合理的安排,具体使用办法如下: 框架:Tensorflow和Keras 方法 import tensorflow as tf import keras.backend.tensorflow_backend as KTF config = tf.ConfigProto() config.gpu_options.allow_growth 补充知识:keras使用GPU的一些坑 keras安装 conda install tensorflow-gpu pip install keras 注意:不要使用conda安装keras,会检测依赖 (gpu_options=gpu_options) config.gpu_options.allow_growth = True session = tf.Session(config=config) 以上这篇解决Keras使用GPU资源耗尽的问题就是小编分享给大家的全部内容了,希望能给大家一个参考。

    59830

    Linux 中指定使用的GPU

    1 查看GPU 编号及其使用信息 参考文章Linux下查看NVIDIA的GPU使用情况 $ nvidia-smi ? 其中左上侧有0、1、2、3的编号,表示GPU的编号,在后面指定GPU时需要使用这个编号。 2 方法一:在终端执行程序时指定GPU $ CUDA_VISIBLE_DEVICES=1 python run_file.py 可用以下形式: CUDA_VISIBLE_DEVICES=1 0,2,3 Devices 0, 2, 3 will be visible; device 1 is masked CUDA_VISIBLE_DEVICES="" No GPU will be visible 3 方法二:在Python代码中指定GPU import os os.environ["CUDA_VISIBLE_DEVICES"] = "0"

    1.6K30

    KerasGPU ID 和显存占用设定步骤

    初步尝试 Keras (基于 Tensorflow 后端)深度框架时, 发现其对于 GPU 的使用比较神奇, 默认竟然是全部占满显存, 1080Ti 跑个小分类问题, 就一下子满了. 服务器上的多张 GPU 都占满, 有点浪费性能. 因此, 需要类似于 Caffe 等框架的可以设定 GPU ID 和显存自动按需分配. 实际中发现, Keras 还可以限制 GPU 显存占用量. : 指定GPU 程序开头指定程序运行的GPU os.environ[‘CUDA_VISIBLE_DEVICES’] = ‘1’ # 使用单块GPU指定其编号即可 (0 or 1or 2 or 3) os.environ[‘CUDA_VISIBLE_DEVICES’] = ‘1,2,3’ # 使用多块GPU指定其编号即可 (引号中指定即可) Step4: 创建会话,指定显存使用百分比 创建tensorflow 以上这篇KerasGPU ID 和显存占用设定步骤就是小编分享给大家的全部内容了,希望能给大家一个参考。

    67040

    keras系列︱keras是如何指定显卡且限制显存用量(GPUCPU使用)

    https://blog.csdn.net/sinat_26917383/article/details/75633754 keras在使用GPU的时候有个特点,就是默认全部占满显存。 于是乎有以下五种情况: 1、指定GPU 2、使用固定显存的GPU 3、指定GPU + 固定显存 4 GPU动态增长 5 CPU充分占用 ---- 一、固定显存的GPU 本节来源于:深度学习theano · GitHub) 在使用keras时候会出现总是占满GPU显存的情况,可以通过重设backend的GPU占用情况来进行调节。 (2017年2月20日补充) ---- 二、指定GPU import os os.environ["CUDA_VISIBLE_DEVICES"] = "2" 此时的代码为选择了编号为2 的GPU # python 来源:Tensorflow 学习笔记(七) ———— 多GPU操作 ---- 三、指定GPU + 固定显存 上述两个连一起用就行: import os import tensorflow as tf os.environ

    3K30

    使用Faster-RCNN进行指定GPU训练

    实验内容 解决了昨日环境配置剩下的问题(三~六),接着昨日第7步继续 测试库中用例,检查是否能跑通 在"faster-rcnn.pytorch"文件夹中打开终端 指定GPU训练 CUDA_VISIBLE_DEVICES --lr $LEARNING_RATE --lr_decay_step $DECAY_STEP \ --cuda 参数意义: CUDA_VISIBLE_DEVICES=$GPU_ID :指明所使用的GPU ID,$GPU_ID需修改为指定ID --dataset pascal_voc --net res101:在pascal_voc上使用resnet101进行训练 --bs $BATCH_SIZE --nw $WORKER_NUMBER:可以根据GPU内存大小来自适应地设置BATCH_SIZE(批处理尺寸)和WORKER_NUMBER。 多GPU训练(这一步实验没有做,“指定GPU实验”居然从下午三点多跑到了晚上11点多…) python trainval_net.py \ --dataset pascal_voc --net res101

    51220

    使用Faster-RCNN进行指定GPU训练(续)

    今天接着昨天的实验继续跑“多GPU训练” python trainval_net.py \ --dataset pascal_voc --net res101 \ --bs 24 --nw 8 \ 问题 问题一:“多GPU训练”中出现ctx.input_sizes = tuple(map(lambda i: i.size(ctx.dim), inputs)) RuntimeError: dimension specified as 0 but tensor has no dimensions错误 解决:在faster-rcnn.pytorch中的issue: multi gpu train errors 可以看到这个问题出现的比较多,其中有两条解决方案: the pytorch 1.0 branch works fine with multi GPU training(pytorch 1.0分支可以正常进行多 GPU训练)。

    51320

    keras 指定程序在某块卡上训练实例

    策略:CUDA_VISIBLE_DEVICES=1 python train.py就可以指定程序在某块卡上训练。 ? 补充知识:keras指定GPU及显存使用量 指定GPU import os os.environ[“CUDA_VISIBLE_DEVICES”] = “0” 指定GPU和显存使用量 import os from keras.backend.tensorflow_backend import set_session os.environ["CUDA_VISIBLE_DEVICES"] = "0 (config=config)) 指定GPU显存使用按需分配 import keras.backend.tensorflow_backend as KTF import os os.environ[" (config=config) KTF.set_session(sess) 以上这篇keras 指定程序在某块卡上训练实例就是小编分享给大家的全部内容了,希望能给大家一个参考。

    18530

    tensorflow指定CPU与GPU运算的方法实现

    1.指定GPU运算 如果安装的是GPU版本,在运行的过程中TensorFlow能够自动检测。如果检测到GPU,TensorFlow会尽可能的利用找到的第一个GPU来执行操作。 gpu:0 机器的第一个gpu,如果有的话 gpu:1 机器的第二个gpu,依次类推 类似的还有tf.ConfigProto来构建一个config,在config中指定相关的GPU,并且在session 中传入参数config=“自己创建的config”来指定gpu操作 其中,tf.ConfigProto函数的参数如下: log_device_placement=True: 是否打印设备分配日志 allow_soft_placement 同样,上述的代码也可以在config创建时指定, import tensorflow as tf import numpy as np gpu_options = tf.GPUOptions(allow_growth 到此这篇关于tensorflow指定CPU与GPU运算的方法实现的文章就介绍到这了,更多相关tensorflow指定CPU与GPU运算内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持

    51120

    如何使用keras,python和深度学习进行多GPU训练

    然而,我们对keras最感到受挫的一个原因,是在多GPU环境下使用,因为这是非常重要的。 如果你使用Theano,请忽略它——多GPU训练,这并不会发生。 大部分功劳归功于 kuza55(ID)和他们的keras-extras回购。 我已经使用并测试了这个多GPU功能近一年,我非常高兴能将它视为官方keras发行版的一部分。 首先,您将在第6行注意到我们已指定使用CPU(而不是GPU)作为网络上下文。 为什么我们需要CPU? CPU负责处理任何开销(例如在GPU内存上移动和移动训练图像),而GPU本身则负担繁重。 总结 在今天的博客文章中,我们学习了如何使用多个GPU来训练基于Keras的深度神经网络。 使用多个GPU使我们能够获得准线性加速。 使用Keras启用多GPU培训就像单个函数调用一样简单 - 我建议尽可能使用多GPU培训。

    1.3K20

    Keras设定GPU使用内存大小方式(Tensorflow backend)

    通过设置Keras的Tensorflow后端的全局变量达到。 import os import tensorflow as tf import keras.backend.tensorflow_backend as KTF def get_session(gpu_fraction ('OMP_NUM_THREADS') gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=gpu_fraction) if 的运行内存 (keras.backend.tensorflow) 我就废话不多说了,大家还是直接看代码吧! (config=config)) 以上这篇Keras设定GPU使用内存大小方式(Tensorflow backend)就是小编分享给大家的全部内容了,希望能给大家一个参考。

    54130

    扫码关注腾讯云开发者

    领取腾讯云代金券