神经网络-前向传播

前向传播神经网络搭建

1.tensorflow库搭建神经网络

  • 参数:线上的权重W,用变量表示,随机给初值。

         

  • 相关介绍
    • tf.truncated_normal():去掉过大偏离点的正太分布
    • tf.random_normal()正太分布
    • tf.random_uniform():平均分布
    • tf.zeros:全零数组,tf.zeros([3,2],int32)
    • tf.ones:全一数组,tf.ones([3,2],int32)
    • tf.fill:全定值数组,tf.ones([3,2],6)
    • tf.constant:直接给值,tf.constant([3,2,1])
  •    Variable(tf.random_normal([2,3],stddev=2,mean=0,seed=1)),参数介绍: random_normal:生成正态分布随机数,2*3矩阵,标准差为2,均值为0,随机种子1;随机种子如果去掉,每次生成的随机数将不一致
  • 变量初始化,计算图结点运算需要用会话(with结构)实现;

2.神经网络的实现过程:

 

  • 准备数据集,提取特征,最为输入喂给神经网络(Neural Network,NN)
  • 搭建NN结构,从输入到输出(先搭建计算图,在用会话执行),NN 前向传播算法----->计算输出。
  • 大量特征数据喂给NN,迭代优化NN参数,NN反向传播算法----->优化参数训练模型
  • 使用训练好的模型预测和分类。

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

  • eg.生产一批零件将体积x1,重量x2为特征输入NN,通过NN后输出一个值.
    • 运算结果:y=XW^1W^2
    • 中间结点值a:XW1
    • 第二层权重W2:\begin{bmatrix} w_{11}^2\\ w_{12}^2\\ w_{13}^2 \end{bmatrix}
    • 第一层权重W1:\begin{bmatrix} w_{11}^1& w_{12}^1&w_{13}^1\\ w_{21}^1& w_{22}^1&w_{23}^1\\ \end{bmatrix}
    • 输入体积X:\begin{bmatrix} x_1 &x_2\\ \end{bmatrix}
  • 实现
    #实例:两层简单全连接神经网络
    import tensorflow as tf#定义输入和参数:
    x=tf.constant([[0.7,0.8]])#一行两列的张量存储体积和重量
    w1=tf.Variable(tf.random.normal([2,3],stddev=1,seed=1))
    w2=tf.Variable(tf.random.normal([3,1],stddev=1,seed=1))
    print(w1)
    print(w2)
    #定义前向传播
    a=tf.matmul(x,w1)
    y=tf.matmul(a,w2)#用会话计算结果
    with tf.compat.v1.Session() as sess:#tf.Session()#因版本不同,tf.Session使用tf.compat.v1.Session()代替init_op=tf.compat.v1.global_variables_initializer()#tf.global_variables_initializer()用tf.compat.v1.global_variables_initializer()sess.run(init_op)print("result is \n",sess.run(y))#实例:两层简单全连接神经网络
    import tensorflow as tf#定义输入和参数:
    #x=tf.placeholder(tf.float32,shape=(1,2))
    x=tf.compat.v1.placeholder(tf.float32,shape=(1,2))#通过placeholder实行定义输入(sess.run喂入一组数据)
    w1=tf.Variable(tf.random.normal([2,3],stddev=1,seed=1))
    w2=tf.Variable(tf.random.normal([3,1],stddev=1,seed=1))
    print(w1)
    print(w2)
    #定义前向传播
    a=tf.matmul(x,w1)
    y=tf.matmul(a,w2)#用会话计算结果
    with tf.compat.v1.Session() as sess:#tf.Session()#init_op=tf.global_variables_initializer()init_op=tf.compat.v1.global_variables_initializer()#tf.global_Variables_initializer()sess.run(init_op)print("result is \n",sess.run(y,feed_dict={x:[[0.7,0.5]]}))#x的一组特征喂入神经网络。#实例:两层简单全连接神经网络
    import tensorflow as tf#定义输入和参数:
    #x=tf.placeholder(tf.float32,shape=(1,2))
    x=tf.compat.v1.placeholder(tf.float32,shape=(None,2))#通过placeholder实行定义输入(sess.run喂入多组数据),不知道维度可以None
    w1=tf.Variable(tf.random.normal([2,3],stddev=1,seed=1))
    w2=tf.Variable(tf.random.normal([3,1],stddev=1,seed=1))
    print(w1)
    print(w2)
    #定义前向传播
    a=tf.matmul(x,w1)
    y=tf.matmul(a,w2)#用会话计算结果
    with tf.compat.v1.Session() as sess:#tf.Session()#init_op=tf.global_variables_initializer()init_op=tf.compat.v1.global_variables_initializer()#tf.global_Variables_initializer()sess.run(init_op)print("result is \n",sess.run(y,feed_dict={x:[[0.7,0.5],[0.2,0.3],[0.3,0.4],[0.4,0.5]]}))#x的一组特征喂入神经网络。print("w1\n",sess.run(w1))print("w2\n",sess.run(w2))   

     运算结果:

  •  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/484374.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

对汉诺塔递归算法的理解(图解,附完整代码实现)

前情提要: 首先说一下汉诺塔游戏的规则:如下图所示,有三个柱子A,B,C,我们要做的是把A柱的所有圆盘,全部转移到C柱上,转移时遵循的规则如下: 1、每次只能移动一个圆盘 2、所有的大圆盘必须在小圆盘的下面 过…

再会迪杰斯特拉(Dijkstra)

迪杰斯特拉算法 算法说明 迪杰斯特拉算法用来求解某一个起点到以其他所有点为终点的最短路径长度; 算法思路-贪心算法 以下图为例 指定一个节点(即起点),例如计算“A”到其他节点的最短路径;引入两个集合(S,U&…

数字孪生等前沿技术,将如何解码未来交通?

来源:物联网智库目前,国内在交通领域的技术创新层出不穷,交通出行领域已经成为创新科技聚集和爆发的领域。众多新科技的出现,正在给我们描绘出一幅未来交通的蓝图。在面向未来的诸多关于智慧交通的前沿应用和解决方案中&#xff0…

神经网络-反向传播

反向传播 反向传播---->训练参数,在所有参数上使用梯度下降。使NN模型在训练数据上的损失函数最小。损失函数(loss):预测值(y)与已知答案(y_)的差距。均方误差MSE:, …

第七章 二叉搜索树(b3)BST:删除

转载于:https://www.cnblogs.com/ZHONGZHENHUA/p/10247191.html

2021天梯赛题解

2021程序设计天梯赛在4月24日举办,本文是天梯赛的部分题解,有的问题在当时也没有得到满分,由于学校开启了天梯赛的重现比赛,再写一写。 注意:本文答案不是标准答案,每道题收获的分数写在了相应位置&#x…

python-scrapy爬虫框架

scrapy爬虫框架 1.Scrapy爬虫框架 scrapy 不是一个函数功能库,而是一个爬虫框架。scrapy爬虫框架: 爬虫框架是实现爬虫功能的一个软件结构和功能组件集合。.简单说爬虫框架是一个半成品,能够帮助用户实现专业网络爬虫。scrapy爬虫框架共包含…

如何正确地运用人工智能模型?

来源:内容摘自《模型思维:简化世界的人工智能模型(全彩)》模型,是客观事物的简化表示!历史上,每一个伟大模型的提出,都极大地推动了科学和社会的发展,比如历史上出现的3个…

讲解Linux数据库安装

学习了linux这门课之后,就开始实践过程了,这样比较记得牢固,学以致用。 有了基本的命令,就可以试着安装数据库了。 企业环境需要安装VMWare ESXi虚拟机,然后再在里面新建虚拟机。 镜像vmware-viclient-all-5.1.0-10641…

张钹院士:制约人工智能发展的最大困难是什么?

出品:新基建访谈采访:张楠整理:广胜脑科学被誉为自然科学研究的“终极疆域”,脑科学的发展不仅直接关系人类对于意识诞生机制的探索,也对推动当前 AI 技术发展具有重要意义。对于脑科学目前的发展现状、面临的难题、与…

《新一代城市大脑建设与发展》专家研讨会在京举办(新版)

(这个新版本增加了三位专家的发言)2021年6月26日,新一代城市大脑建设与发展专家研讨会在京举办,本次活动由城市大脑全球标准研究组主办,远望智库承办。6G 俱乐部提供了重要支持。20多位专家参与本次研讨会,…

排序算法-查找算法

排序算法 冒泡排序 从左向右扫描数据&#xff0c;选着最大的数据。要点&#xff1a;比较相邻的两个数&#xff0c;如果左边的数大于右边的数就进行交换。 template<class T> void BubbleSort(T *array, const int length) { for (int i 0; i <length-1; i) { fo…

当法律纽带变成“机器红线”,能让自动驾驶汽车更安全吗?

来源&#xff1a; 脑极体美国汽车协会(American Automobile Association, AAA)与哈佛大学的一项研究结果显示&#xff0c;高达77%的人表示担心自己与自动驾驶汽车共享道路的安全性&#xff0c;62%则担心自动驾驶汽车发生意外时的肇责归属。某种程度上来讲&#xff0c;这可以说是…

李联宁|量子计算机:技术路线、风险及战略投资

来源&#xff1a;《学术前沿》杂志2021年4月上&#xff08;微信有删节&#xff09;作者&#xff1a;西安交通大学城市学院教授 李联宁原文责编&#xff1a;桂琰新媒体责编&#xff1a;李思琪视觉&#xff1a;王洋图片来源&#xff1a;网络由于现有半导体微电子技术物理极限的原…

vs code 配置java

VS code 入门 Vs code 配置Java 首先到VS code官网下载VS code软件&#xff0c;打开界面如图&#xff1a; 下载安装好&#xff0c;打开界面如图(注下图已汉化)&#xff1a; 为了便于使用&#xff0c;我们先进行汉化&#xff0c;在最左边点击图1-1中的图标&#xff0c;出现如图…

四、HTTP控制器

1、控制器的作用&#xff1a;数据和视图之间的桥梁 2、控制器创建方法&#xff1a; &#xff08;1&#xff09;手动创建 <?php namespace App\Http\Controllers; class UserController extends Controller { public function showProfile($id) { return view(user.profile,…

机器人行业专利构建与维护刻不容缓,专利研发需下苦功!

来源&#xff1a;机器人大讲堂自我国加入世界贸易组织&#xff0c;已经近20年过去。但不可忽视的是&#xff0c;发达国家或地区利用其产业先发优势&#xff0c;也一直在知识产权和专利上&#xff0c;采用知识产权和专利贸易壁垒&#xff0c;限制我国企业参与国际市场竞争。机器…

java-弹簧布局(自适应窗口)

一、布局管理器 弹簧布局管理器以容器和组件的边缘为操作对象&#xff0c;通过组件与容器边缘以及组件与组件边缘建立约束(建立位置关系)&#xff0c;实现对组件的布局管理。主要通过函数putConstraint(Strting s1,Component c1,int len,Strting s2,Component c2);当s2在s1的北…