zoukankan      html  css  js  c++  java
  • tensorflow学习之路---Session、Variable(变量)和placeholder

    ---恢复内容开始---

    1、Session

    '''
    Session.run():首先里面的参数是一个API(函数的接口)的返回值或者是指定参数的值;功能:得知运算结果
    有两种访问方式:直接建立或者运用with语句(这个会帮我们自动关闭会话)

    '''

    import tensorflow as tf

    #创建两个参数
    matrixl = tf.constant([[4,5]])#表示常量
    matrix2 = tf.constant([[3],[5]])

    #矩阵相乘

    product = tf.matmul(matrixl,matrix2)

    sess = tf.Session()
    reslut = sess.run(product)
    print(reslut)
    sess.close()

    with tf.Session() as sess1:
    reslut = sess.run(product)
    print(reslut)

    2、Variable

    定义变量的方式:

    tf.Variable(初始值),其中的参数也可以是:name = " 字符串"

    import tensorflow as tf

    #定义变量,一定要能是变量
    state = tf.Variable(0,name="counter")
    #打印变量的名字
    #print(state.name)
    data = tf.constant(3)#定义常量

    new_data = tf.add(state,data)
    data2 = tf.assign(state,new_data)

    init = tf.global_variables_initializer()#只有初始化所有的tf中的变量之后,才能使用

    with tf.Session() as sess:
    sess.run(init)
    for i in range(3):
    sess.run(data2)#要改变制定才参数的值,就要执行能够改变这个参数的值的函数
    print(sess.run(state))

    3、placeholder

    #这个不需要初始化,但是要在Session.run()中的参数,不仅仅只有函数的返回值,还有
    #feed_dict={}里面是字典的形式写入的,有多少个placeholder式的变量,就写多少个键值对

     

    import tensorflow as tf

    input1 = tf.placeholder(tf.float32)
    input2 = tf.placeholder(tf.float32)

    output = tf.subtract(input1,input2)

    with tf.Session() as sess:
    print(sess.run(output,feed_dict={input1:4,input2:6}))

    注意:placeholder与Variable最大的不同是,placeholder不需要初始化

    ---恢复内容结束---

  • 相关阅读:
    LeetCode-6 ZigZag Conversion
    求两个字符串的最长公共子串
    Eclipse 添加 javap
    时间复杂度
    leetcode oj-3
    Android Rom分区 与 SD卡读写
    论文首次处理流程及代码
    论文片段
    项目整体流程
    春晚项目中的相关脚本
  • 原文地址:https://www.cnblogs.com/MyUniverse/p/9401451.html
Copyright © 2011-2022 走看看