TensorFlow之feed提交数据

版权声明:转载请标明出处,谢谢! https://blog.csdn.net/kdongyi/article/details/83513636

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)

猜你喜欢

转载自blog.csdn.net/kdongyi/article/details/83513636