TensorFlow之feed提交数据

本文深入讲解了在TensorFlow中使用placeholder的基本概念与实践技巧。包括如何在计算图中定义placeholder,利用feed_dict参数进行变量传值,以及如何一次性执行多个操作并返回多个结果。文章通过具体示例展示了placeholder在不同场景下的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 如果构建了一个包含placeholder操作的计算图,当在session中调用run方法时,placeholder占用的变量bi必须过feed_dict参数传递进去,否则报错。

import tensorflow as tf

a = tf.placeholder(tf.float32, name='a')
b = tf.placeholder(tf.float32, name='b')
c = tf.multiply(a, b, name='c')

init = tf.global_variables_initializer()

with tf.Session() as sess:
    sess.run(init)
    #通过feed_dict的参数传值,按字典格式
    result = sess.run(c, feed_dict={a:8.0, b:3.5})
    
    print(result)

 注:如果只用placeholder进行变量占位而不用真正的变量时,可以不用进行变量初始化。

2. 多个操作可以通过一次feed完成执行。

import tensorflow as tf

a = tf.placeholder(tf.float32, name='a')
b = tf.placeholder(tf.float32, name='b')
c = tf.multiply(a, b, name='c')
d = tf.subtract(a, b, name='d')

init = tf.global_variables_initalizer()

with tf.Session() as sess:
    sess.run(init)

    #[c, d] 把c和d组合成一个列表,返回的result也是一个列表
    result = sess.run([c, d], feed_dict={a:[8.0, 2.0, 3.5], b:[1.5, 2.0, 4.]})

    print(result)
    #取结果中的第一个
    print(result[0])

3. 一次返回多个值分别赋值给多个变量

import tensorflow as tf

a = tf.placeholder(tf.float32, name='a')
b = tf.placeholder(tf.float32, name='b')
c = tf.multiply(a, b, name='c')
d = tf.subtract(a, b, name='d')

init = tf.global_variables_initalizer()

with tf.Session() as sess:
    sess.run(init)

    #[c, d] 把c和d组合成一个列表
    #返回的两个值分别赋值给两个变量
    rc,rd = sess.run([c, d], feed_dict={a:[8.0, 2.0, 3.5], b:[1.5, 2.0, 4.]})

    print("value of c=",rc ,"valut of d=",rd)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值