前向传播代码

使用tensorflow进行简单的前向传播算法。

定义w1和w2的时候并没有真正运行,仅仅是定义了,需要在后面初始化

虽然直接调用每一个变量的初始化过程是一个可行方案,但是当变量数目增多,或者变量之间存在依赖关系时,单个调用方案就比较麻烦了。为了解决这个问题,tensorflow提供了一种更加便捷的方式来完成变量初始化过程。以下程序展示了通过tf.global_variables_initalizer函数实现初始化所有变量的过程

所谓假Random,是指所返回的随机数字其实是一个稳定算法所得出的稳定结果序列,而不是真正意义上的随机序列。 Seed就是这个算法开始计算的第一个值。所以就会出现只要seed是一样的,那么后续所有“随机”结果和顺序也都是完全一致的。 所以在声明变量w1 和w2的时候,使用的seed=1,表示将随机生成的数都从1开始。

init_op=tf.global_variables_initializer()
sess.run(init_op)
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
import tensorflow as tf

#声明变量w1和w2两个,stddev设置标准差为1
w1=tf.Variable(tf.random_normal((2,3),stddev=1,seed=1))
w2=tf.Variable(tf.random_normal((3,1),stddev=1,seed=1))

#此处使用了两个[][]是因为x是一个1*2的矩阵,如果只用一个则只是一个列表
x=tf.constant([[0.7,0.9]])

#前向传播算法
a=tf.matmul(x,w1)
y=tf.matmul(a,w2)

#使用会话初始化变量w1和w2,是因为这两个没有运行初始化过程
sess=tf.Session()
sess.run(w1.initializer)
sess.run(w2.initializer)

#输出值,并关闭会话
print(sess.run(y))
sess.close()






 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值