1.  
  2. import tensorflow as tf
    import numpy as np
  3.  
  4. # todo 学习 Session中的参数Config=tf.ConfigProto()的使用。重点是GPU相关的参数
  5.  
  6. def config_params():
    # todo 第二种执行会话的方式
    with tf.Graph().as_default():
    # 一、构建模型图
    print('当前模型的默认图是:{}'.format(tf.get_default_graph()))
    # 1、定义2个原始的输入的tensor对象
    a = tf.constant(
    value=[1,2,3,4,5,6,3,4,3,45,5], dtype=tf.float32, shape=[3, 5], name='a'
    )
    b = tf.constant(
    value=[3,3,3,3,3,3234,56,324,3,5], dtype=tf.float32, shape=[5, 3]
    )
  7.  
  8. # 2、用op add对上述两个常量分别加一个随机数
    v1 = a + np.random.random_sample()
    v2 = tf.add(b, tf.random_normal(shape=[], dtype=tf.float32, seed=43))
  9.  
  10. # 3、使用2个tensor矩阵相乘。
    rezult = tf.matmul(v1, v2)
    print(a, b, v1, v2, rezult)
  11.  
  12. # 二、构建会话
    """
    tf.Session(
    target='', 给定连接的url,只有分布式运行的时候需要给定
    graph=None, 调用哪张图,如果不给定,就调用默认图
    config=None) 会话的配置协议。
    """
    optimizer = tf.OptimizerOptions(
    do_common_subexpression_elimination=True, # 表示开启公共执行子句的优化
    do_constant_folding=True, # 设置为True表示开启常数折叠优化。
    opt_level=0 # 设置为0表示开启上述2项优化,默认为0
    )
    graph_options = tf.GraphOptions(optimizer_options=optimizer)
    with tf.Session(config=tf.ConfigProto(graph_options=graph_options)) as sess:
    print(sess.run([rezult, v2]))
  13.  
  14. def config_params1():
    # todo 这里增加了使用tf.device指定运算 或者创建变量的设备。
    with tf.Graph().as_default():
    # 一、构建模型图
    print('当前模型的默认图是:{}'.format(tf.get_default_graph()))
    # 1、定义2个原始的输入的tensor对象
    with tf.device('/GPU:0'):
    # a 和 b 两个常量会在gpu:0 上进行创建。
    a = tf.constant(
    value=[1,2,3,4,5,6,3,4,3,45,5], dtype=tf.float32, shape=[3, 5], name='a'
    )
    b = tf.constant(
    value=[3,3,3,3,3,3234,56,324,3,5], dtype=tf.float32, shape=[5, 3]
    )
  15.  
  16. # 2、用op add对上述两个常量分别加一个随机数
    v1 = a + np.random.random_sample()
    v2 = tf.add(b, tf.random_normal(shape=[], dtype=tf.float32, seed=43))
  17.  
  18. # 3、使用2个tensor矩阵相乘。
    with tf.device('/GPU:1'):
    rezult = tf.matmul(v1, v2)
    print(a, b, v1, v2, rezult)
  19.  
  20. # 二、构建会话
    """
    tf.Session(
    target='', 给定连接的url,只有分布式运行的时候需要给定
    graph=None, 调用哪张图,如果不给定,就调用默认图
    config=None) 会话的配置协议。
    """
    with tf.Session(config=tf.ConfigProto(log_device_placement=True,
    allow_soft_placement=True)) as sess:
    print(sess.run([rezult, v2]))
  21.  
  22. def config_params2():
    # todo 学习gpu相关的参数。
    with tf.Graph().as_default():
    # 一、构建模型图
    print('当前模型的默认图是:{}'.format(tf.get_default_graph()))
    # 1、定义2个原始的输入的tensor对象
    with tf.device('/GPU:0'):
    # a 和 b 两个常量会在gpu:0 上进行创建。
    a = tf.constant(
    value=[1,2,3,4,5,6,3,4,3,45,5], dtype=tf.float32, shape=[3, 5], name='a'
    )
    b = tf.constant(
    value=[3,3,3,3,3,3234,56,324,3,5], dtype=tf.float32, shape=[5, 3]
    )
  23.  
  24. # 2、用op add对上述两个常量分别加一个随机数
    v1 = a + np.random.random_sample()
    v2 = tf.add(b, tf.random_normal(shape=[], dtype=tf.float32, seed=43))
  25.  
  26. # 3、使用2个tensor矩阵相乘。
    with tf.device('/GPU:1'):
    rezult = tf.matmul(v1, v2)
    print(a, b, v1, v2, rezult)
  27.  
  28. # 二、构建会话
    """
    gpu_options相关参数介绍
    log_device_placement bool值 是否打印设备位置的日志文件
    allow_soft_placement bool值 是否允许tf动态的使用cpu和gpu 默认为False
    """
    gpu_options = tf.GraphOptions(
    allow_growth=True, # 不预先分配使用整个gpu内存计算,而是从小到大按需增长
    per_process_gpu_memory_fraction=0.8 # 值介于(0,1),限制使用该gpu设备内存的百分比。
    )
    with tf.Session(config=tf.ConfigProto(log_device_placement=True,
    allow_soft_placement=True,
    gpu_options=gpu_options)) as sess:
    print(sess.run([rezult, v2]))
  29.  
  30. if __name__ == '__main__':
    config_params1()

02_02Session中Config的参数设置的更多相关文章

  1. Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数

    Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4  为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift1 ...

  2. 用WIN7系统IIS的提示:数据库连接出错,请检查Conn.asp文件中的数据库参数设置

    我用科讯的从4.0开始,去年开始很少用科讯做新站了,今天拿来做一下,结果悲剧了,数据库路径老是不对,百度一番又一番的,,最后终于给度娘解决了.分享出来给遇到同样的问题的人. 用WIN7系统IIS的注意 ...

  3. matplotlib 中的一些参数设置

    首先:在pycharm 中要使图显示出来,最后一定要加上 plt.show(),如: plt.bar(x, y) plt.show() 下面就是我使用 matplotlib  遇到的一些常用参数设置: ...

  4. 关于opcache中opcache.revalidate_freq参数设置测试报告

    1.测试目的: 测试出opcache中,opcache.revalidate_freq这个参数最适合的大小 说明:如果opcache.revalidate_freq参数越大,服务器单位时间能接收的请求 ...

  5. erlang otp中的socket参数设置

    抄自http://www.zackzod.me/2012/10/24/socket-options-in-erlang-otp.html Erlang的inet模块里提供了对Socket进行一系列参数 ...

  6. JDBC与Hibernate中SQL语句参数设置的顺序问题

    JDBC中:设置从1开始 例: Connection con = DriverManager.getConnection("jdbc:mysql://localhost/...", ...

  7. Mysql : L闪存卡linux中的内核参数设置

    将 Nytro WarpDrive 加速卡配置为文件系统 本节说明的操作使您可调整 Nytro WarpDrive 加速卡,增强使用 Oracle Linux with Unbreakable Ent ...

  8. js中setTimeout()时间参数设置为0的探讨

    起因源于一道前端笔试题: var fuc = [1,2,3]; for(var i in fuc){ setTimeout(function(){console.log(fuc[i])},0); co ...

  9. vins-mono中的imu参数设置

    na:加速度计的测量噪声 nw:陀螺仪的测量噪声 nba: randow walk noise随机游走噪声 nbw:randow walk noise随机游走噪声 ba:加速度计的偏差 bw:陀螺仪的 ...

随机推荐

  1. 制作IOS ANE的基本流程

    来源:http://www.swfdiy.com/?p=1239 1. 使用xcode新建ios上的static library 工程 2. 从air sdk/include里拷贝flashrunti ...

  2. 七分钟理解 Java 的反射 API

    像java一样,一种具有反射功能的语言.允许开发人员在运行时检查类型.方法.字段.注解等,并在程序运行时决定是否使用. 为此,Java的反射API提供类,类,字段,构造函数,方法,注释和其他. 使用它 ...

  3. Android笔记(六十五) android中的动画——属性动画(propertyanimation)

    补间动画只能定义起始和结束两个帧在“透明度”.“旋转”.“倾斜”.“位移”4个方面的变化,逐帧动画也只能是播放多个图片,无法满足我们日常复杂的动画需求,所以谷歌在3.0开始,推出了属性动画(prope ...

  4. 【Flask】 python学习第一章 - 2.0 视图方式和返回值

    路由参数与请求方式制定   ALT+回车 pycharm 快速导包  demo3  指定访问地址  与请求方式  #   给路由传入参数 使用尖括号 ,视图函数需要接收参数 @app.route(&q ...

  5. 常见EMC疑问及对策

    1. 在电磁兼容领域,为什么总是用分贝(dB)的单位描述?10mV是多少dBmV? 答:因为要描述的幅度和频率范围都很宽,在图形上用对数坐标更容易表示,而dB就是用对数表示时的单位,10mV是20dB ...

  6. SpringCloud_Eureka与Zookeeper对比

    关系型数据库与非关系型数据库及其特性: RDBMS(Relational Database Management System 关系型数据库) :mysql/oracle/sqlServer等   = ...

  7. node gm图片操作

    1,安首先要安装 GraphicsMagick或者ImageMagick 2,npm install gm   --save 3,编码测试 var fs = require('fs') //graph ...

  8. linux系统编程之进程(一)

    今天起,开始学习linux系统编程中的另一个新的知识点----进程,在学习进程之前,有很多关于进程的概念需要了解,但是,概念是很枯燥的,也是让人很容易迷糊的,所以,先抛开这些抽象的概念,以实际编码来熟 ...

  9. java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.Integer

    mybatis配置的jdbaType类型要是大写的,否则就会出现此种异常 原因是在xml中配置的 jdbcType中有小写字母

  10. csr_matrix

    from scipy.sparse import * row = [0,0,0,1,1,1,2,2,2]#行指标col = [0,1,2,0,1,2,0,1,2]#列指标data = [1,0,1,0 ...