Tensorflow学习笔记三---前向传播

前向传播

  • 目的:搭建模型,实现推理

一些重要的概念

  • 参数
    一个神经元
    上图中的w(权重)即为参数,一般随机赋给初值
  • 计算
    对于这么一个神经元,y的值为
    y=x1w1+x2w2 y = x 1 w 1 + x 2 w 2

    事实上用矩阵表达更方便也跟通常一点
    y=[x1x2]×[w1w2] y = [ x 1 x 2 ] × [ w 1 w 2 ]

tensorflow中提供的一些重要函数

  • 生成变量
w = tf.Varable(tf.random_normal([2,3],stddev = 2,mean=0,seed=1))
#              生成正态分布       2x3的矩阵 标准差等于2 均值为0  种子为1
# 与之类似的还有
tf.zeros([2,3],int32) #生成全为0的矩阵
tf.ones([2,3],int32)  #生成全为1的矩阵
tf.fill([2,3],6)      #生成为定值的矩阵
tf.constant([3,2])    #生成给定的常数矩阵

例子

生产一批零件以体积和重量为特征输入NN,通过NN后输出一个值
这里写图片描述

a11=[x1x2]×w(1)1,1w(1)2,1(1) (1) a 11 = [ x 1 x 2 ] × [ w 1 , 1 ( 1 ) w 2 , 1 ( 1 ) ]

a12=[x1x2]×w(1)1,2w(1)2,2(2) (2) a 12 = [ x 1 x 2 ] × [ w 1 , 2 ( 1 ) w 2 , 2 ( 1 ) ]

a13=[x1x2]×w(1)1,3w(1)2,3(3) (3) a 13 = [ x 1 x 2 ] × [ w 1 , 3 ( 1 ) w 2 , 3 ( 1 ) ]

所以y为
y=[a11a12a13]×w(2)11w(2)21w(2)31(4) (4) y = [ a 11 a 12 a 13 ] × [ w 11 ( 2 ) w 21 ( 2 ) w 31 ( 2 ) ]

用tensorflow表达

  1 #coding:utf-8
  2 import tensorflow as tf
  3
  4 #定义输入和参数
  5 #一行两列的输入代表重量和体积
  6 x = tf.constant([[0.7,0.5]])
  7 w1 = tf.Variable(tf.random_normal([2,3],stddev=1,seed=1))
  8 w2 = tf.Variable(tf.random_normal([3,1],stddev=1,seed=1))
  9
 10 #定义向前传播过程
 11 a = tf.matmul(x,w1)
 12 y = tf.matmul(a,w2)
 13
 14 #用会话计算结果
 15
 16 with tf.Session() as sess:
 17     init_op = tf.global_variables_initializer()
 18     sess.run(init_op)
 19     print('y in tensorflow2.py is:\n',sess.run(y))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值