在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的情况
with tf.device("/cpu:0"):
以上这篇在tensorflow中设置使用某一块GPU、多GPU、CPU的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
运行tensorflow python程序,限制对GPU和CPU的占用操作
一般情况下,运行tensorflow时,默认会占用可以看见的所有GPU,那么就会导致其它用户或程序无GPU可用,那么就需要限制程序对GPU的占用.并且,一般我们的程序也用不了所有的GPU资源,只是强行霸占着,大部分资源都不会用到,也不会提升运行速度. 使用nvidia-smi可以查看本机的GPU使用情况,如下图,这里可以看出,本机的GPU型号是K80,共有两个K80,四块可用(一个K80包括两块K40). 1.如果是只需要用某一块或某几块GPU,可以在运行程序时,利用如下命令运行:CUDA_VI
-
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
tf2.0的三个优点: 1.方便搭建网络架构: 2.自动求导 3.GPU加速(便于大数据计算) 安装过程(概要提示) step1:安装annaconda3 step2:安装pycharm step3:安装tensorflow2.0 cpu版本 (1)进入anaconda prompt(anaconda3) (2)默认为(base)环境 (3)输入python,查看python版本:输入exit()退出 (4)输入conda info --envs查看虚拟环境 (5)此处以在(base)环境中安装
-
基于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中设置使用某一块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中设置保存checkpoint的最大数量实例
1.我就废话不多说了,直接上代码吧! # Set up a RunConfig to only save checkpoints once per training cycle. run_config = tf.estimator.RunConfig(save_checkpoints_secs=1e9,keep_checkpoint_max = 10) model = tf.estimator.Estimator( model_fn=deeplab_model_focal_class_imbal
-
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
-
Tensorflow中tf.ConfigProto()的用法详解
参考Tensorflow Machine Leanrning Cookbook tf.ConfigProto()主要的作用是配置tf.Session的运算方式,比如gpu运算或者cpu运算 具体代码如下: import tensorflow as tf session_config = tf.ConfigProto( log_device_placement=True, inter_op_parallelism_threads=0, intra_op_parallelism_threads=0,
-
对Tensorflow中权值和feature map的可视化详解
前言 Tensorflow中可以使用tensorboard这个强大的工具对计算图.loss.网络参数等进行可视化.本文并不涉及对tensorboard使用的介绍,而是旨在说明如何通过代码对网络权值和feature map做更灵活的处理.显示和存储.本文的相关代码主要参考了github上的一个小项目,但是对其进行了改进. 原项目地址为(https://github.com/grishasergei/conviz). 本文将从以下两个方面进行介绍: 卷积知识补充 网络权值和feature map的可
-
对TensorFlow中的variables_to_restore函数详解
variables_to_restore函数,是TensorFlow为滑动平均值提供.之前,也介绍过通过使用滑动平均值可以让神经网络模型更加的健壮.我们也知道,其实在TensorFlow中,变量的滑动平均值都是由影子变量所维护的,如果你想要获取变量的滑动平均值需要获取的是影子变量而不是变量本身. 1.滑动平均值模型文件的保存 import tensorflow as tf if __name__ == "__main__": v = tf.Variable(0.,name="
-
对Tensorflow中的变量初始化函数详解
Tensorflow 提供了7种不同的初始化函数: tf.constant_initializer(value) #将变量初始化为给定的常量,初始化一切所提供的值. 假设在卷积层中,设置偏执项b为0,则写法为: 1. bias_initializer=tf.constant_initializer(0) 2. bias_initializer=tf.zeros_initializer(0) tf.random_normal_initializer(mean,stddev) #功能是将变量初始化为
-
对tensorflow中的strides参数使用详解
在二维卷积函数tf.nn.conv2d(),最大池化函数tf.nn.max_pool(),平均池化函数 tf.nn.avg_pool()中,卷积核的移动步长都需要制定一个参数strides(步长),因为无论是卷积操作还是各种类型的池化操作,都是某种形式的滑动窗口(sliding window)处理,这就要求指定从当前窗口移动下一个窗口位置的移动步长. TensorFlow 文档关于 strides的说明如下: strides: A list of ints that has length >=
-
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
三维的读取图片(w, h, c): import tensorflow as tf import glob import os def _parse_function(filename): # print(filename) image_string = tf.read_file(filename) image_decoded = tf.image.decode_image(image_string) # (375, 500, 3) image_resized = tf.image.resize
-
在Tensorflow中实现梯度下降法更新参数值
我就废话不多说了,直接上代码吧! tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy) TensorFlow经过使用梯度下降法对损失函数中的变量进行修改值,默认修改tf.Variable(tf.zeros([784,10])) 为Variable的参数. train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy,var_list=
随机推荐
- 深入解析Vue 组件命名那些事
- 结合XP详解Vista系统配置排查故障图文教程
- 浅析Java中的GC垃圾回收器的意义及与GC的交互
- Java中集合和数组的排序方式小结
- Java方法反射实现原理详解
- 关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
- PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
- PHP工程师VIM配置分享
- python getopt 参数处理小示例
- C# 屏蔽由于崩溃弹出的windows异常弹框
- js实现小窗口拖拽效果
- 单击复制文字兼容各浏览器的完美解决方案
- Windows Server 2008服务器管理新技巧6则第1/4页
- 基于Mysql存储引擎的深入分析
- jquery插件制作 表单验证实现代码
- jQuery基础知识小结
- jquery 实现复选框的全选操作实例代码
- DOM基础教程之模型中的模型节点
- apache SHTML网页SSI使用详解
- 关于移位操作的一点重要说明