Tensorflow基本构成

学过Javascript或者xml的同学应该对DOM模型比较了解,
DOM模型中,所有东西都被看做Node元素,
但是Node元素又有不同的子类元素,如document,element,attribute等,
和DOM很相似,tensorflow中所有元素都叫grarh元素,组合在一起构成一个gragh,
然后具体来说,又有下面几种基本元素:
张量(tensor):
  前面已经说过.
Variable:
  又叫权重(Weight),参数(w),两个连接的节点之间有这么一个参数,
  将来训练就是为了找到合适的参数.
  一般直接把两个层之间的全部参数写到一个矩阵里面,
  行数为起点层的节点数,列数为终点层的节点数.
placeholder:
  很多人叫占位符,其实就是输入变量的载体,
  很像函数定义中写到参数列表的形参.
  主要在这里声明将来特征矩阵的行数(shape),
  如:x=tf.placeholder(tf.float32,shape=(None,2))
op:
  节点,获取张量(或者不获取张量),计算得到张量,
  描述张量之间的计算关系,是网络的真正结构.
  一般的计算节点如:
    a=tf.matmul(x,w1)
    y=tf.matmul(a,w2)
  还有特殊的节点(我见过的):
  1.损失函数:
    如:loss=tf.reduce_mean(tf.square(y-y_))
  2.反向传播:
    train_step=tf.train.GradientDescentOptimizer(0.001).minimize(loss)
    train_step=tf.train.MomentumOptimizer(0.0001,0.99).minimize(loss)
    train_step=tf.train.AdamOptimizer(0.0001).minimize(loss)
    (实际中只用一个就够了)
  3.变量初始化:
    是的你没有看错,变量初始化竟然也算是graph元素,
    而且要初始化之后才可以"run"后面的节点
    init_op=tf.global_variables_initializer()
    sess.run(init_op)
  4.计数器:
    目前本人水平看不懂,就不写了.

你可能感兴趣的:(#,代码层,tensorflow,机器学习,神经网络)