class2--tensorflow:前向传播

参数:即计算图线上的权重W,用变量表示,最开始随机给初值

 

w=tf.Variable(tf.random_normal([2,3],stddev=2,mean=0,seed=1))

参数: 正态分布  标准差 均值   随机种子(如果为0,则每次生成的数都不一样)

tf.truncated_nomal()  去掉超过两个标准差的偏离点的正态分布

tf.random_uniform() 平均分布

tf.zeros 全0数组  tf.zeros([3,2],int32)  生成[[0,0],[0,0],[0,0]]

tf.ones 全1数组   tf.ones([3,2],int32)  生成[[1,1],[1,1],[1,1]]

tf.fill全定值数组 tf.fill([3,2],6) 生成[[6,6],[6,6],[6,6]]

tf.constant 直接给值  tf.constant([3,1,2])  生成[3,1,2]

 

 

神经网络实现过程:

1.准备数据集,提取特征,作为输入喂给神经网络(Neural Network,NN)

2.搭建NN结构,从输入到输出(先搭建计算图,再用会话执行)

(NN前向传播算法---->计算输出)

3.大量特征数据数据给NN,迭代优化NN参数

(NN反向传播算法---->优化参数训练模型)

4.使用训练好的模型预测和分类

 

前向传播----->搭建模型,实现推理(以全连接网络为例)

eg.生产一批零件讲体积x1和体重x2为特征输入NN,通过NN后输出一个数值

 

(课程是中国大学mOOC网的人工智能实践:tensorflow笔记里面的,这些文章仅为笔记)

 

具体代码:

#tf_3_2.py
import tensorflow as tf

#定义输入和参数,用placeholder实现输入定义(sess.run中喂一组数据)
x=tf.placeholder(tf.float32)
w1=tf.Variable(tf.random_normal([2,3],stddev=1,seed=1))
w2=tf.Variable(tf.random_normal([3,1],stddev=1,seed=1))
#定义前向传播过程
a=tf.matmul(x,w1)
b=tf.matmul(a,w2)
#用会话计算结果
with tf.Session() as sess:
    init_op=tf.global_variables_initializer()
    sess.run(init_op)
    print("b=",sess.run(b,feed_dict={x:[[0.7,0.5]]}))

 

结果:b= [[3.0904665]]
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值