关于使用实验室服务器的GPU以及跑上TensorFlow代码
连接服务器
Windows - XShell XFtp SSH
- 通过SSH来连接实验室的服务器
- 使用SSH连接已经不陌生了 github和OS课设都经常使用
- 目前使用 192.168.7.169
- 使用工具 XShell 和 XFtp
- 使用XShell连接服务器以及操作,服务器每个节点上都安装了Ubuntu 16.04 LTS操作系统
- 使用XFtp管理文件
Mac OS - Terminal Cyberduck
因为实验室工位上的电脑是Mac 只能重新熟悉一波了
- 使用Terminal来建立SSH远程连接
- 使用Cyberduck来建立SFtp连接管理文件(考虑filezilla中)
- 参考资料:
Mac下如何用SSH连接远程Linux服务器(包括Cyberduck下载)
Mac下使用自带终端SSH功能
建立环境 - virtualenv
- 建立虚拟环境并安装包(也可以考虑anaconda)
建立环境:virtualenv xxx_pyvirtualenv -p python3 xxx_py
进入环境:source xxx_py/bin/activate
退出:deactivate - 使用清华镜像
- 临时使用
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package - 设为默认
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
让TensorFlow代码跑在GPU上
- GPU占用问题
TensorFlow可能会占用视线可见的所有GPU资源
- 查看gpu占用情况:
gpustat - 在python代码中加入:
os.environ['CUDA_VISIBLE_DEVICES'] = '0'
os.environ['CUDA_VISIBLE_DEVICES'] = '0,1'
- 设置使用固定的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=”0,1” Same as above, quotation marks are optional
CUDA_VISIBLE_DEVICES=0,2,3 Devices 0, 2, 3 will be visible; device 1 is masked
运行代码时
CUDA_VISIBLE_DEVICES=0 python3 main.py
- TensorFlow自己提供的两种控制GPU资源的方法:
- 在运行过程中动态申请显存,需要多少就申请多少
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config)
- 限制GPU的使用率
gpu_options=tf.GPUOptions(per_process_gpu_memory_fraction=0.4)
config=tf.ConfigProto(gpu_options=gpu_options)
session = tf.Session(config=config)
TensorFlow代码
目前没有考虑在代码各个部分手动分配时GPU还是CPU
所以用with tf.device(self.device):把所有网络结构包了起来
然后用config = tf.ConfigProto(gpu_options=gpu_options,allow_soft_placement=True)让TensorFlow自己去分配了参考资料:
tensorflow设置gpu及gpu显存使用
TensorFlow 使用 GPU
tensorflow GPU小测试
关于使用实验室服务器的GPU以及跑上TensorFlow代码的更多相关文章
- 查看是否用GPU跑的TensorFlow程序
查看是否用GPU跑的TensorFlow程序 第一种方法,直接输出日志法(推荐) import tensorflow as tf sess = tf.Session(config=tf.ConfigP ...
- hadoop进阶----hadoop经验(一)-----生产环境hadoop部署在超大内存服务器的虚拟机集群上vs几个内存较小的物理机
生产环境 hadoop部署在超大内存服务器的虚拟机集群上 好 还是 几个内存较小的物理机上好? 虚拟机集群优点 虚拟化会带来一些其他方面的功能. 资源隔离.有些集群是专用的,比如给你三台设备只跑一个 ...
- git将本地代码 和服务器git@osc 上的代码 关联
将本地代码 和服务器git@osc 上的代码 关联 要使用git 首先,你得安装一个git 下载 http://git-scm.com/downloads 安装完成后,需要简单的配置一下,打开 Git ...
- 在linux服务器上装svn版本管理,自动部署代码到项目
在linux服务器上装svn版本管理,自动部署代码到项目 http://bbs.aliyun.com/read/9715.html?spm=5176.7114037.1996646101.1.W3zw ...
- 关于同步VSS服务器上的代码发生Eclipse里面的项目全部不见了
有次在同步VSS服务器上的代码的时候突然发生了错误(同步的代码的项目竟然消失了)....如下图 Could not open the editor: The file does not exist. ...
- SVN将一台服务器上的代码迁移到另一台服务器上
由于我们出差,需要把svn服务器上的代码同步到我电脑上,自己各种百度折腾了快一天才弄好,下面来分享下我的具体思路和操作步骤.有2种方式:第一种方式:直接将本地自己dowm下来的代码导入到本地svn服务 ...
- JavaScript “跑马灯”抽奖活动代码解析与优化(二)
既然是要编写插件.那么叫做"插件"的东西肯定是具有的某些特征能够满足我们平时开发的需求或者是提高我们的开发效率.那么叫做插件的东西应该具有哪些基本特征呢?让我们来总结一下: 1.J ...
- JavaScript “跑马灯”抽奖活动代码解析与优化(一)
最近的项目中做了一个"跑马灯"的抽奖特效插件.上篇文章已经分享过html和css 的相关知识.这篇文章主要分享一些 JavaScript 相关的知识.这几天在写这篇文章的时候,也顺 ...
- git 从远程git服务上拉代码 git服务器非默认端口
从服务器上拉代码有如下报错: fatal: Not a git repository (or any of the parent directories): .git 初始代本地版本库: [root@ ...
随机推荐
- 解压版中文乱码问题MYSQL中文乱码
安装的是解压版的MYSQL,具体配置参考:https://jingyan.baidu.com/article/9c69d48f85032f13c9024e15.html . 1:解压之后copy 一个 ...
- RMAN删除备份
删除备份--DELETE命令 用于删除RMAN备份记录及相应的物理文件.当使用RMAN执行备份操作时,会在RMAN资料库(RMAN Repository)中生成RMAN备份记录,默认情况下RMAN备份 ...
- 2018-2019-2 20175308实验一 《Java开发环境的熟悉》实验报告
2018-2019-2-20175308 实验一 <Java开发环境的熟悉>实验报告 一.实验内容及步骤 (一)使用JDk编译.运行简单的Java程序 输入cd Code命令进入Code目 ...
- 如何高效的通过BP算法来训练CNN
< Neural Networks Tricks of the Trade.2nd>这本书是收录了1998-2012年在NN上面的一些技巧.原理.算法性文章,对于初学者或者是正在学习NN的 ...
- php字符串替换的几个函数
strtr() str_replace() substr_replace() preg_replace() strtr()的用法: <?php $str = "test"; ...
- 2017-2018-2 20155224『网络对抗技术』Exp8:Web基础
实践具体要求 Web前端HTML(0.5分) 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. Web前端javascipt(0.5分) 理 ...
- Ubuntu16.04上用源代码安装ICE
ubuntu16.04上用源代码安装ICE
- [CF1060F]Shrinking Tree[树dp+组合计数]
题意 你有一棵 \(n\) 个点的树,每次会随机选择树上的一条边,将两个端点 \(u,v\) 合并,新编号随机为 \(u,v\).问最后保留的编号分别为 \(1\) 到 \(n\) 的概率. \(n\ ...
- PowerBI开发 第一篇:设计PowerBI报表
PowerBI是微软新一代的交互式报表工具,把相关的静态数据转换为酷炫的可视化的,能够根据filter条件,对数据执行动态筛选,从不同的角度和粒度上分析数据.PowerBI主要由两部分组成:Power ...
- Easy Pipeline,一种轻量级的Python Pipeline库
嗯,很久没有写博客了,最近的工作都是偏开发性质的,以至于没有时间对自己感兴趣的领域进行探索,感觉个人的成长停滞了一些.如何在枯燥的工作中,提取出有助于自己成长的养分,对于每个人来说都是不小的考验. 这 ...