服务器端的GPU使用

查看GPU信息

  • 查看nvidia GPU信息:

    # 输入指令
    lspci | grep -i nvidia
    # 结果如下:
    # 04:00.0 3D controller: NVIDIA Corporation Device 1db4 (rev a1)
    # 05:00.0 3D controller: NVIDIA Corporation Device 1db4 (rev a1)
    # 08:00.0 3D controller: NVIDIA Corporation Device 1db4 (rev a1)
    # 09:00.0 3D controller: NVIDIA Corporation Device 1db4 (rev a1)
    # 84:00.0 3D controller: NVIDIA Corporation Device 1db4 (rev a1)
    # 85:00.0 3D controller: NVIDIA Corporation Device 1db4 (rev a1)
    # 88:00.0 3D controller: NVIDIA Corporation Device 1db4 (rev a1)
    # 89:00.0 3D controller: NVIDIA Corporation Device 1db4 (rev a1)

    输出结果04:00.0,可用于后续查看详细的信息

  • 查看指定显卡的详细信息:

    # 输入指令:
    lspci -v -s 04:00.0
    # 输出结果:
    # 04:00.0 3D controller: NVIDIA Corporation Device 1db4 (rev a1)
    # Subsystem: NVIDIA Corporation Device 1214
    # Flags: bus master, fast devsel, latency 0, IRQ 26, NUMA node 0
    # Memory at c4000000 (32-bit, non-prefetchable) [size=16M]
    # Memory at 27800000000 (64-bit, prefetchable) [size=16G]
    # Memory at 27c00000000 (64-bit, prefetchable) [size=32M]
    # Capabilities: <access denied>
    # Kernel driver in use: nvidia
    # Kernel modules: nvidiafb, nouveau, nvidia_384_drm, nvidia_384

查看GPU的使用信息

  • nvidia-smi

    其主要看Memory-Usage栏,避免使用了其他人已经占用了显卡

  • 一般使用如下指令,周期性查看显卡的使用情况:

    watch -n 10 nvidia-smi

    每10s刷新一下显示

参考:Linux查看GPU信息和使用情况

指定GPU进行训练

在查看了GPU的信息后,在训练是指定空闲的GPU进行训练。

  • 在终端执行时指定GPU

    CUDA_VISIBLE_DEVICES=0 python3 ***.py  # 指定GPU集群中第一块GPU使用,其他的屏蔽掉
    
    # 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="" No GPU will be visible
  • 在配置文件头上指定GPU,此方法和上述方法类似,以下举个例子:

    • 创建.sh文件;
    • 通过chmod +x ***.sh给文件加入可执行的属性;
    • 在文件中写入:
    #! /bin/bash
    CUDA_VISIBLE_DEVICES=1 \
    python model_main.py \
    --model_dir=training/model \
    --pipeline_config_path=training/pipeline.config \
    --num_train_steps=25000
    • 之后在执行时,通过bash ***.sh 运行即可。
  • 在Python代码中指定

    import os
    os.environ["CUDA_VISIBLE_DEVICES"] = "0"  #指定第一块gpu
  • 在tensorflow中指定GPU的使用

# allow_soft_placement=True : 如果你指定的设备不存在,允许TF自动分配设备
# log_device_placement=True : 是否打印设备分配日志
config = tf.ConfigProto(allow_soft_placement=True, log_device_placement=True)
# 限制GPU资源的使用:两者选其一即可
# 方式一:限制GPU使用率
config.gpu_options.per_process_gpu_memory_fraction = 0.4 #占用40%显存
# 方式二:动态申请显存
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)

参考:

Linux查看GPU信息和使用情况

指定GPU进行训练

tensorflow中配置GPU使用

服务器端的GPU使用的更多相关文章

  1. openGL 提升渲染性能 之 顶点数组 VBO IBO VAO

    使用openGL图形库绘制,都需要通过openGL接口向图像显卡提交顶点数据,显卡根据提交的数据绘制出相应的图形. openGL绘制方式有:直接模式,显示列表,顶点数组,顶点索引. 直接模式:最简单, ...

  2. TensorFlow从1到2(十五)(完结)在浏览器做机器学习

    TensorFlow的Javascript版 TensorFlow一直努力扩展自己的基础平台环境,除了熟悉的Python,当前的TensorFlow还实现了支持Javascript/C++/Java/ ...

  3. OpenStack 企业私有云的若干需求(1):Nova 虚机支持 GPU

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  4. 国内云计算的缺失环节: GPU并行计算(转)

    [IT时代周刊编者按]云计算特有的优点和巨大的商业前景,让其成为了近年来的IT界最热门词汇之一.当然,这也与中国移动互联网的繁荣紧密相关,它们需要有相应的云计算服务作为支撑.但本文作者祁海江结合自身的 ...

  5. Pycharm实现服务器端代码的远程调试

     Pycharm是很多人在学习机器学习时的常用IDE.但是,当代码需要庞大计算资源的时候,我们往往需要借助远程服务器的GPU资源.很多人都是将代码拷贝到服务器,然后运行,但是当修改调试的时候,很不方便 ...

  6. 谈谈GPU与FPGA的一些看法

    从几个方面来介绍一下GPU和FPGA. 从峰值性能来说,GPU(10Tflops)远远高于FPGA(<1TFlops).GPU上面成千上万个core同时跑在GHz的频率上还是非常壮观的,最新的G ...

  7. OpenStack企业私有云新需求(1):Nova 虚机支持 GPU

    作者:Sammy Liu 刘世民 本系列会介绍OpenStack 企业私有云的几个需求: GPU 支持 自动扩展(Auto-scaling)支持 混合云(Hybrid cloud)支持 物理机(Bar ...

  8. win7旗舰版+caffe+vs2013+matlab2014b(无GPU版)

    参考网站: http://www.cnblogs.com/njust-ycc/p/5776286.html 无法找到gpu/mxGPUArray.h: No such file or director ...

  9. ubuntu12.04通过Ganglia利用NVML模块进行GPU监控

    1.安装Ganglia,这里安装的是3.1*版本,因为监控GPU的模块只支持3.1*版本系列的 apt-get install ganglia* 2.下载并安装PyNVML和NVML模块,下载地址ht ...

随机推荐

  1. Request请求对象

    一.Request对象由服务器创建,我们使用 浏览器访问服务器资源原理: 二.Request体系结构 其中,servlet 的service()方法参数列表是 servletRequest对象, Ht ...

  2. Python - poetry(2)命令介绍

    poetry 语法格式 poetry [-h] [-q] [-v [<...>]] [-V] [--ansi] [--no-ansi] [-n] <command> [< ...

  3. [第九篇]——Docker 镜像使用之Spring Cloud直播商城 b2b2c电子商务技术总结

    Docker 镜像使用 当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载. 下面我们来学习: 1.管理 ...

  4. vue-router路由钩子

    路由跳转前后,需要做某些操作,这时就可以使用路由钩子来监听路由的变化. 接收三个参数: to: Route: 即将要进入的目标路由对象 from: Route: 当前导航正要离开的路由 next: F ...

  5. 洛谷P1582——倒水(进制,数学)

    https://www.luogu.org/problem/show?pid=1582 题目描述 一天,CC买了N个容量可以认为是无限大的瓶子,开始时每个瓶子里有1升水.接着~~CC发现瓶子实在太多了 ...

  6. adobe media encoder cc 2018无法打开,报错0xc0000005

    在我这里是因为显卡的原因 下载NVIDIA然后打开NVIDIA控制面板,在里面选择软件的显卡,挨个试就行, 还不行就在设备管理器中将多余的先禁用,试一试

  7. dede5.7 标题长度限制修改

    我们经常碰到dede标题长度不够用的问题20个字的标题有时候是真的有点短了网上也有些修改长度问题的帖子,但我发现都不完整所以写下来供大家参考下.免得浪费时间 第一步: 修改下面4处文件: dede目录 ...

  8. 手把手教你调试SpringBoot启动 IoC容器初始化源码,spring如何解决循环依赖

    授人以鱼不如授人以渔,首先声明这篇文章并没有过多的总结和结论,主要内容是教大家如何一步一步自己手动debug调试源码,然后总结spring如何解决的循环依赖,最后,操作很简单,有手就行. 本次调试 是 ...

  9. Promise源码实现与测试

    const PENDING = 'pending', FULFILLED = 'fulfilled', REJECTED = 'rejected' class MyPromise { construc ...

  10. requests入门大全

    02 requests接口测试-requests的安装 安装常见问题 提示连接不上,443问题 一般是因为浏览器设置了代理,关闭代理. 网络加载慢,设置国内镜像地址 1.pip安装 2.pycharm ...