环球ug开户:Tensorflow实现神经网络的前向流传

admin 2天前 科技 68 3

我们构想有一个神经网络,输入为两个input,中心有一个hidden layer,这个hiddenlayer当中有三个神经元,最后有一个output。

图例如下:

 

 

 

 在实现这个神经网络的前向流传之前,我们先弥补一下主要的知识。

一.权重w以及input的初始化

我们初始化权重w的方式为随机天生这些权重,一样平常可以使用这些随机天生的数据正好在正态分布的曲线上,这也是最相符天生相符自然规律的随机数天生方式:

import tensorflow as tf
#一样平常情况下神经网络上的参数是w的数列,固然我们一样平常使用随机数来天生这些参数
w=tf.Variable(tf.random_normal([2,3],stddev=2,mean=0,seed=1))
#其中stddev示意标准差,mean示意均值,【】示意随机天生正态分布的数值的shape

这样我们的权重就天生了,我们初始化input的方式有有以下几种,伪代码如下:

除了这种方式,我们还可以使用
tf.constant([1,2,3]),来天生指定数值
tf.zeros([2,3],int32),用来天生全零
tf.ones([2,3],int32),同来天生全1
tf.fill([3,2],6),天生指定数值

下面我们编写一个仅有一个初始值input的神经网络,并行使tensorflow实现对其举行前向流传。由于初始值仅有一个,实现的方式一共有两种,我们来看看第一种:

二.神经网络的前向流传(仅具一个初始值,方式一)

import tensorflow as tf

x=tf.constant([[0.7,0.5]])#注重这里,写了两其中括号啊!
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)
y=tf.matmul(a,w2)

#行使session盘算前向流传的效果
with tf.Session() as sess:
    init_op=tf.global_variables_initializer()
    sess.run(init_op)
    print(sess.run(y))#这里使用run(y)打印出效果,由于最后一个输出我们界说的是y

输出:

[[3.0904665]]

三.神经网络的前向流传(仅具一个初始值,方式二)

我们行使placeholder举行数据的初始化,赋值给input,使用placeholder既可以赋一个值,也可以赋多个值,这也是它很常见的缘故原由,代码如下:

import tensorflow as tf

x=tf.placeholder(tf.float32,shape=(1,2))
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)
y=tf.matmul(a,w2)

#行使session盘算前向流传的效果
with tf.Session() as sess:
    init_op=tf.global_variables_initializer()
    sess.run(init_op)
    print(sess.run(y,feed_dict={x:[[0.7,0.5]]}))#这里使用run(y)打印出效果,由于最后一个输出我们界说的是y

输出:

[[3.0904665]]

效果和方式一相同。接下来就可以对多个数据举行前向流传了,也是行使placeholder方式

四.神经网络的前向流传(多个初始值)

代码如下:

import tensorflow as tf

x=tf.placeholder(tf.float32,shape=(None,2))
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)
y=tf.matmul(a,w2

#行使session盘算前向流传的效果
with tf.Session() as sess:
    init_op=tf.global_variables_initializer()
    sess.run(init_op)
    print(sess.run(y,feed_dict={x:[[0.7,0.5],[0.2,0.3],[0.5,0.5]]}))

输出:

[[3.0904665]
 [1.2236414]
 [2.5171587]]

完毕!看起来照样挺简朴的吧!tensorflow在工业界的应用照样十分普遍的,想要创业和在业界事情的同伙就可以好好领会一下了!

,

Allbet电脑版下载

欢迎进入Allbet电脑版下载(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。

Sunbet声明:该文看法仅代表作者自己,与本平台无关。转载请注明:环球ug开户:Tensorflow实现神经网络的前向流传

网友评论

  • (*)

最新评论

  • 欧博allbet网址 2020-09-22 00:00:33 回复

    欧博亚洲欢迎进入欧博亚洲(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。追文好累呀!

    1

文章归档

站点信息

  • 文章总数:794
  • 页面总数:0
  • 分类总数:8
  • 标签总数:1433
  • 评论总数:425
  • 浏览总数:34829