tf.placeholder( dtype,shape=None, name=None)
参数:
dtype:数据类型。常用的是tf.float32,tf.float64等数值类型
shape:数据形状。默认是None,就是一维值,也可以是多维(比如[2,3], [None, 3]表示列是3,行不定)
name:名称
这个函数很重要, Tensorflow会首先构筑整个系统的graph,代码并不会直接生效,在实际的运行时,启动一个session,程序才会真正的运行。
优点:避免反复地切换底层程序实际运行的上下文,tensorflow帮你优化整个系统的代码。
tf.placeholder()在神经网络构建graph的时候在模型中占位,没有把要输入的数据传入模型,它只会分配必要的内存。等建立session,在会话中,运行模型的时候通过feed_dict()函数向占位符传入数据。
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还没有赋值 rand_array = np.random.rand(1024, 1024) print(sess.run(y, feed_dict={x: rand_array}))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)