• 神经网络的基础-前向传播


    前向传播就是搭建模型的计算过程,让模型具有推理能力,可以针对一组输入给出相应的输出。
    我的理解:相当于自控中的前向通道,就是输入x和输出y中对应的计算过程;

    如上图所示:

    输入层:输入X为体积和重量,那么对应的数学可以认为X为1行2列的矩阵;

    隐藏层:a;a为一个1行3列的矩阵;故对应的W1可以看出是个2行3列的矩阵;对应前面两个节点(x1,x2)X和后面三个节点(a11,a12,a13)a

    输出层y;一个1行1列的数;故对应的w2是一个3行1列的矩阵;对应对应前面三个节点(a11,a12,a13)a和后面1个节点y;

    前向传播的tensorflow结构;python代码;

    这是一个实现神经网络前向传播过程,网络可以自动推理出输出 y 的值。 
    ①用 placeholder 实现输入定义(sess.run 中喂入一组数据)的情况 
    第一组喂体积 0.7、重量 0.5  
    #coding:utf-8 
    import tensorflow as tf 
    #定义输入和参数 
    x=tf.placeholder(tf.float32,shape=(1,2))  #用 tf.placeholder 占位,在 sess.run 函数中用 feed_dict 喂数据 
    w1=tf.Variable(tf.random_normal([2,3],stddev=1,seed=1)) #表示生成正态分布随机数,形状两行三列,标准差是 2,均值是 0,随机种子是 1。
    w2=tf.Variable(tf.random_normal([3,1],stddev=1,seed=1)) 
    #定义前向传播过程 
    a=tf.matmul(x,w1)   #x*w1
    y=tf.matmul(a,w2)    #a*w2
    #用会话计算结果 
    with tf.Session() as sess: 
    init_op=tf.global_variables_initializer()   #变量初始化
    sess.run(init_op)   
    print ”y in tf3_3.py is:
    ”,sess.run(y,feed_dict={x:[[0.7,0.5]]}) 
    ②用 placeholder 实现输入定义(sess.run 中喂入多组数据)的情况 
    第一组喂体积 0.7、重量 0.5,第二组喂体积 0.2、重量 0.3,第三组喂体积 0.3 、
    重量 0.4,第四组喂体积 0.4、重量 0.5. 
    #coding:utf-8 
    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) 
    #用会话计算结果 
    with tf.Session() as sess: 
    init_op=tf.global_variables_initializer() 
    sess.run(init_op) 
    print”y in tf3_4.py is:
    ”,sess.run(y,feed_dict={x:[[0.7,0.5], 
    [0.2,0.3],[0.3,0.4],[0.4,0.5]]})
    学习内容来自:慕课APP中人工智能实践-Tensorflow笔记;北京大学曹健老师的课程
  • 相关阅读:
    敏捷手艺参考书籍
    算法一书配套网站
    一张图了解UML类图的所有关系
    如何团队合作--Team Geek
    正则--解析换行
    SourceTree基本使用
    springMVC--第一个demo
    Notepad++--去掉空格和换行
    ES 部分API
    spring--启动报错 Cause: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容
  • 原文地址:https://www.cnblogs.com/fcfc940503/p/10929019.html
Copyright © 2020-2023  润新知