tf.placeholder(dtype, shape=None, name=None)
placeholder,占位符,在tensorflow中类似于函数参数,运行时必须传入值。
- dtype:数据类型。常用的是tf.float32,tf.float64等数值类型。
- shape:数据形状。默认是None,就是一维值,也可以是多维,比如[2,3], [None, 3]表示列是3,行不定。
- name:名称。
代码片段-1(计算3*4=12)
- #!/usr/bin/env python
- # _*_ coding: utf-8 _*_
- import tensorflow as tf
- import numpy as np
- input1 = tf.placeholder(tf.float32)
- input2 = tf.placeholder(tf.float32)
- output = tf.multiply(input1, input2)
- with tf.Session() as sess:
- print sess.run(output, feed_dict = {input1:[3.], input2: [4.]})
代码片段-2(计算矩阵相乘,x*x)
- #!/usr/bin/env python
- # _*_ coding: utf-8 _*_
- import tensorflow as tf
- import numpy as np
- x = tf.placeholder(tf.float32, shape=(1024, 1024))
- y = tf.matmul(x, x)
- with tf.Session() as sess:
- # print(sess.run(y)) # ERROR: x is none now
- rand_array = np.random.rand(1024, 1024)
- print(sess.run(y, feed_dict={x: rand_array})) # Will succeed.