• 使用占位符和变量


    变量是TensorFlow机器学习算法的参数,TensorFlow调整这些变量的状态来优化机器学习的算法。

    占位符是TensorFlow对象,用于表示输入输出数据的格式,允许传入指定类型和形状的数据,并依赖计算机的计算结果。

    在TensorFlow中,tf.Variable()函数创建变量,过程是输入一个张量,返回一个变量。声明变量后需要初始化变量。

    下面是创建变量并初始化的例子:

    my_var = tf.Variable(tf.zeros([2,3]))
    sess = tf.Session()
    initialize_op = tf.global_variables_intializer()
    sess.run(intialize_op)

    占位符仅仅声明数据位置,用于传入数据到计算图。占位符通过会话的feed_dict参数获取数据。在计算图中使用占位符时,必须在其上执行至少一个操作。在Tensorflow中,初始化计算图,声明一个占位符x,定义y为x的identity操作。identity操作返回占位符传入数据本身。

    结果图,代码如下:

    sess = tf.Session()
    x = tf.placeholder(tf.float32, shape=[2,2])
    y = tf.identity(x)
    x_vals = np.random,rand(2,2)
    sess.run(y ,feed_dict={x:x_vals})
    #Note that sess.tun(x, feed_dict={x:x_vals}) will result in a self-referencing error.

    延展学习

    在计算图运行的过程中,需要告诉tensorflow初始化创建的变量。tensorflow的每个变量都有initalizer方法,但最常用的方式时helper函数(global_variables_initalizer())。此函数会一次性初始化所创建的所有变量,使用方法如下:

    initializer_op = tf.global_variables_initializer()

    但是,如果是基于已经初始化的变量进行初始化,则必须按序进行初始化,使用方式如下:

    sess = tf.Session()
    first_var = tf.Variable(tf.zeros([2,3])
    sess.run(first_var.initializer)
    second_var = tf.Variable(tf.zeros_like(first_var))
    #Depends onfirst_var
    sess.run(second_var.initializer)
  • 相关阅读:
    AOP从静态代理到动态代理 Emit实现
    云计算仿真工具CloudSim介绍和使用
    SSH框架中配置log4j的方法
    SSH常见面试题
    第一章
    shell 生成目录的树状视图、生成文件及子目录的汇总信息
    shell拼写检查,利用Linux字典
    SHELL:多文件的重命名和移动
    sort
    tr1
  • 原文地址:https://www.cnblogs.com/action0/p/11615005.html
Copyright © 2020-2023  润新知