tensorflow学习(3)variable和placeholder使用.

在tensorflow中,定义了某字符串是变量,它才是变量

定义的语法

state = tf.Variable()

import tensorflow as tf

state = tf.Variable(0, name='counter')

# 定义常量 one
one = tf.constant(1)

# 定义加法步骤 (注: 此步并没有直接计算)
new_value = tf.add(state, one)

# 将 State 更新成 new_value
update = tf.assign(state, new_value)

如果在tensorflow中设定了变量,那么变量的初始化是非常重要的!!!,所以定义了变量之后,一定要进行初始化操作.,

 init = tf.initialize_all_variables() .

到这里变量还是没有被激活,需要在sess里面,sess.run(init)后,进一步激活init这一步.

# 如果定义 Variable, 就一定要 initialize
# init = tf.initialize_all_variables() # tf 马上就要废弃这种写法
init = tf.global_variables_initializer()  # 替换成这样就好
 
# 使用 Session
with tf.Session() as sess:
    sess.run(init)
    for _ in range(3):
        sess.run(update)
        print(sess.run(state))

注意:print(state)是不起任何作用的!

一定要把sess的指针指向state后再进行print 才能得到想要的值.

 

placeholder的使用.

placeholder是tensorflow中的占位符,是用于暂时存储变量的.

tensorflow如果想要从外部传入data,那就需要使用tf.placeholder(),然后以如下形式将数据进行传入.

sess.run(***, feed_dict={input: **}).

示例:首先定义占位符和参数值:

import tensorflow as tf

#在 Tensorflow 中需要定义 placeholder 的 type ,一般为 float32 形式
input1 = tf.placeholder(tf.float32)
input2 = tf.placeholder(tf.float32)

# mul = multiply 是将input1和input2 做乘法运算,并输出为 output 
ouput = tf.multiply(input1, input2)

接下来,传值的工作交给了sess.run(),需要传入的值放在了feed_dict = {}里面,并一一对应input的placeholder的值.

with tf.Session() as sess:
    print(sess.run(ouput, feed_dict={input1: [7.], input2: [2.]}))

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值