- tf.placeholder函数说明
dtype——数据类型,如tf.float32,tf.float64
shape——数据形状,一维值None,多维[2,3]、[None,3]
name——名称
placeholder函数意义:placeholder()函数是在神经网络构建graph的时候在模型中的占位,此时并没有把要输入的数据传入模型,它只会分配必要的内存。等建立session,在会话中,运行模型的时候通过feed_dict()函数向占位符喂入数据
- tf.Variable()函数说明
tf.Variable(initialize,name) , initializier——初始化参数;name——名称
在TensorFlow的世界里,变量的定义和初始化是分开的,所有关于图变量的赋值和计算都要通过tf.Session的run来进行。想要将所有图变量进行集体初始化时应该使用tf.global_variables_initializer
生成tensor:
tf.zeros(shape, dtype=tf.float32, name=None)
tf.zeros_like(tensor, dtype=None, name=None)
tf.constant(value, dtype=None, shape=None, name='Const')
tf.fill(dims, value, name=None) #生成单值函数
tf.ones_like(tensor, dtype=None, name=None)
tf.ones(shape, dtype=tf.float32, name=None)
生成序列:
tf.range(start, limit, delta=1, name='range') #just int32
tf.linspace(start, stop, num, name=None) #生成等差数列
生成随机数:
tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
tf.random_uniform(shape, minval=0.0, maxval=1.0, dtype=tf.float32, seed=None, name=None)
tf.random_shuffle(value, seed=None, name=None)
- tf.reduce_mean()函数——求平均 ; tf.reduce_sum()函数——求和
- tf.Variable()的说明
W1 = tf.Variable(tf.truncated_normal([784, 256], stddev=0.1))
在将变量占位的时候不用tf.Zeros()而是tf.truncated_normal(),防止0梯度的产生,模型困于开始的参数而无法继续优化。这里tf.truncated_normal()是满足标准差为0.1的正态分布,取值范围为[ mean-2*stddev, mean+2*stddev ]。
- 绘制学习模型训练轮数和精度之间关系的折线图
epoch_show = []
acc_test_show = []
#在Session中
epoch_show.append(epoch)
acc_test_show.append(acc_test)
plt.plot(epoch_show,acc_test_show)
plt.show()