Tensorflow限制CPU个数实例

安装

这里使用 Pip 来安装 Tensorflow CPU 版

$ sudo pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl

安装完成后运行库中自带的手写识别例子来检查安装是否成功

$ cd /usr/lib/python2.7/site-packages/tensorflow/models/image/mnist
$ python convolutional.py
...

或者运行

$ python -m tensorflow.models.image.mnist.convolutional
...

限制CPU个数

对于上面用到的手写识别例子来说,需要修改文件 /usr/lib/python2.7/site-

packages/tensorflow/models/image/mnist/convolutional.py 中创建 Session 部分

修改前

  with tf.Session(config=config) as s:

修改后

  cpu_num = int(os.environ.get('CPU_NUM', 1))
  config = tf.ConfigProto(device_count={"CPU": cpu_num},
        inter_op_parallelism_threads = cpu_num,
        intra_op_parallelism_threads = cpu_num,
        log_device_placement=True)

  with tf.Session(config=config) as s:

修改完成后,使用环境变量 CPU_NUM 来指定需要使用的 CPU 个数,然后再次运行手写识别例子

$ export CPU_NUM=2
$ python -m tensorflow.models.image.mnist.convolutional

运行后,使用 top 命令来查看程序的 CPU 使用情况。

以上这篇Tensorflow限制CPU个数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 关于Tensorflow使用CPU报错的解决方式

    如下所示,简单明了,希望能帮助到你 解决: Operation was explicitly assigned to /device:GPU:0 but available devices are [ /job:localhost/replica:0/task:0/cpu:0 ]. tf.app.Flags.DEFINE_boolean('clone_on_cpu',False,'use CPUs to deploy clones.') 改为: tf.app.Flags.DEFINE_boole

  • 运行tensorflow python程序,限制对GPU和CPU的占用操作

    一般情况下,运行tensorflow时,默认会占用可以看见的所有GPU,那么就会导致其它用户或程序无GPU可用,那么就需要限制程序对GPU的占用.并且,一般我们的程序也用不了所有的GPU资源,只是强行霸占着,大部分资源都不会用到,也不会提升运行速度. 使用nvidia-smi可以查看本机的GPU使用情况,如下图,这里可以看出,本机的GPU型号是K80,共有两个K80,四块可用(一个K80包括两块K40). 1.如果是只需要用某一块或某几块GPU,可以在运行程序时,利用如下命令运行:CUDA_VI

  • tensorflow 限制显存大小的实现

    Python在用GPU跑模型的时候最好开多进程,因为很明显这种任务就是计算密集型的. 用进程池好管理,但是tensorflow默认情况会最大占用显存,尽管该任务并不需要这么多,因此我们可以设置显存的按需获取,这样程序就不会死掉了. 1. 按比例预留: tf_config = tensorflow.ConfigProto() tf_config.gpu_options.per_process_gpu_memory_fraction = 0.5 # 分配50% session = tensorflo

  • 解决Tensorflow 使用时cpu编译不支持警告的问题

    使用TensorFlow模块时,弹出错误Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2 原因是下载TensorFlow的版本不支持cpu的AVX2编译. 可能是因为安装时使用的pip install tensorflow ,这样默认会下载X86_64的SIMD版本. 有两种解决办法: 1.忽略这个警告,不看它! import os os.environ["TF

  • Tensorflow限制CPU个数实例

    安装 这里使用 Pip 来安装 Tensorflow CPU 版 $ sudo pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl 安装完成后运行库中自带的手写识别例子来检查安装是否成功 $ cd /usr/lib/python2.7/site-packages/tensorflow/models/image/mnist $ pyth

  • Shell实现识别物理cpu个数、核心数

    如何识别物理cpu个数,几个核,是超线程还是多核心 判断依据: 1.具有相同core id的cpu是同一个core的超线程. 2.具有相同physical id的cpu是同一颗cpu封装的线程或者cores. 英文版: 1.Physical id and core id are not necessarily consecutive but they are unique. Any cpu with the same core id are hyperthreads in the same co

  • jupyter notebook tensorflow打印device信息实例

    juypter notebook中直接使用log_device_placement=True打印不出来device信息 # Creates a graph. with tf.device('/device:CPU:0'): a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a') b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name

  • Linux中查看物理CPU个数、核数、逻辑CPU个数的方法

    # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理CPU个数 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l # 查看每个物理CPU中core的个数(即核数) cat /proc/cpuinfo| grep "cpu cores"| uniq # 查看逻辑CPU的个数 cat /proc/cpuinfo

  • Python找出最小的K个数实例代码

    题目描述 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 这个题目完成的思路有很多,很多排序算法都可以完成既定操作,关键是复杂度性的考虑.以下几种思路当是笔者抛砖引玉,如果读者有兴趣可以自己再使用其他方法一一尝试. 思路1:利用冒泡法 临近的数字两两进行比较,按照从小到大的顺序进行交换,如果前面的值比后面的大,则交换顺序.这样一趟过去后,最小的数字被交换到了第一位:然后是次小的交换到了第二位,...,依次直到第k个数,停

  • python计算列表内各元素的个数实例

    如下所示: list = [1,2,3,4,5,6,7,5,4,3,2,12] set = set(list) dict = {} for item in set: dict.update({item:list.count(item)}) 以上这篇python计算列表内各元素的个数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Java判断List中相同值元素的个数实例

    如下所示: Map<Object, Integer> map = new TreeMap<Object, Integer>(); for (Object i : listIp) { if (map.get(i) == null) { map.put(i, 1); } else { map.put(i, map.get(i) + 1); } } 以上这篇Java判断List中相同值元素的个数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • C语言统计一篇英文短文中单词的个数实例代码

    具体代码如下所述: #include<stdio.h> #define N 1000 void main(){ char en[N][81]; int i,j,num=0,n,state; //num 用来统计单词的个数 //state 用来记录程序当前是否处于一个单词之中,初值为0,表示不在单词中,值为1,表示正处于在一个单词中 printf("Please input the number of lines for English passage:"); scanf(&

  • python 在指定范围内随机生成不重复的n个数实例

    利用Python中的randomw.sample()函数实现 resultList=random.sample(range(A,B),N); #表示从[A,B]间随机生成N个数,结果以列表返回 以上这篇python 在指定范围内随机生成不重复的n个数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • tensorflow 模型权重导出实例

    tensorflow在保存权重模型时多使用tf.train.Saver().save 函数进行权重保存,保存的ckpt文件无法直接打开,不利于将模型权重导入到其他框架使用(如Caffe.Keras等). 好在tensorflow提供了相关函数 tf.train.NewCheckpointReader 可以对ckpt文件进行权重查看,因此可以通过该函数进行数据导出. import tensorflow as tf import h5py cpktLogFileName = r'./checkpoi

随机推荐