Tensorflow如何搭建神经网络

1.基本概念

基于Tensorflow的神经网络:用张量表示数据,用计算图搭建神经网络,用会话执行计算图,优化线上的权重(参数),得到模型

张量:张量就是多维数据list,用阶来表示张量的维度

0阶张量称作标量,表示一个单独的数。

S = 123

1阶张量称为向量,表示一个一位数组

V = [1,2,3]

2阶张量称为矩阵,表示一个二维数组,它可以有i行j列个元素,每个元素可以通过行号和列号共同索引得到。

Attention Please!

判断张量是几阶,就通过张量右边的方括号数,0个是0阶,n个是n阶,张量可以表示0阶到n阶数组。列表。

举例子:

t = [[[...]]]为三阶.

2,数据类型。

Tensorflow的数据类型有tf.float32,tf.int32,tf.int64,tf.float64等

举例:

运行结果:

Result是一个名称为add:0的张量,shape =(2,0)表示以为数组长度为2,dtype =float32是表示数据类型为浮点型。

计算图:Graph :搭建神剑网络的计算过程,是承载一个或多个计算节点的一张图,只搭建网络,不运算

人工智能就是让机器模拟人类的学习方法。

而人类是如何学习呢

树突,轴突,细胞体。

如何传递信息,就是产生刺激,会产生电位差,形成电流。

人工智能的在电脑中是如何创建这种神经单元呢,就是类比生物学的。

输入,处理,输出,如下图所示

x1,x2表示输入,w1,w2分别表示x1到y和x2到y的权重,y=x1*w1+x2*w2.

结果是

输出的是一个张量,只搭建了计算过程的计算图,并没有运算,如果我们想要得到运算结果,就要

要使用会话Session()

3.会话Session:执行计算图中的节点运算。

使用with结构,

with结构,想必学过Python的都应该了解。

with open() as file_obj:

file_obj.readlines()

处理io的万能语句。

下面来看如何使用with来处理之前搭建好的计算图。

with tf.Session() as sess:

print(sess.run(y))

举例子:

得到计算结果是2阶张量的[[11.]]

4.神经网络的参数

4.1 神经网络的参数:是指神经元线上的权重W,用变量表示,一半会先随机生成这些参数,生成的参数的方法是让w等于tf.Variable,把生成的方式写在括号里。

神经网络中常用的生成随机数/数组的函数有:

tf.random_normal()   生成正太分布随机数

tf.truncated_normal() 生成去掉过大偏高点的正太分布随机数

tf.random_uniform() 生成均匀分布随机数

tf.zeros 表示生成全0数组

tf.ones 生成全1数组

tf.fill 生成全定值数组

tf.constant 生成直接给定值的数组。

* 神经网络的搭建。

当我们知道张量,计算图,会话和参数后,就可以讨论神经网络的实现

神经网络的实现过程:

1.准备数据集,提取特征值,作为输入喂给神经网络neural network NN

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

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

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

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

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

举例子:

假如生产一批零件,体积为x1,重量为x2,体积和重量就是选择的特征features,把它们喂入神经网络,当体积和重量这组数据走过神经网络会得到一个输出。

假设输入的特征 体积0.7 ,体重0.5

由搭建的神经网络可得,隐藏层节点a11 = x1*w11+x2*w21 = 0.29同理得到a12 = 0.32

,a13 = 0.28,最终得到输出层y= -0.015.

推导

第一层:

X是输入 1X2的矩阵

用x表示输入,一个1行2列的矩阵,表示一次输入一组特征,这组特征包含了体积和重量两个元素。

W(前节点编号,后节点编号)为优化参数

未完,待续。。。。

入门级_Tensorflow网络搭建的更多相关文章

  1. UCloud 机房的网络搭建(计蒜客初赛第五场)

    UCloud 刚刚建立一个新机房,近日正在进行网络搭建.机房内有 nn 台服务器和 mm 个分线器,整个机房只有一个网线出口.分线器的作用是将一根网线转换成多根网线.蒜头君也知道每个分线器输出的最大网 ...

  2. SSD源码解读——网络搭建

    之前,对SSD的论文进行了解读,可以回顾之前的博客:https://www.cnblogs.com/dengshunge/p/11665929.html. 为了加深对SSD的理解,因此对SSD的源码进 ...

  3. 旷视MegEngine网络搭建

    旷视MegEngine网络搭建 在 基本概念 中,介绍了计算图.张量和算子,神经网络可以看成一个计算图.在 MegEngine 中,按照计算图的拓扑结构,将张量和算子连接起来,即可完成对网络的搭建.M ...

  4. LeNet-5网络搭建详解

    LeNet-5是由Yann LeCun设计的用于手写数字识别和机器打印字符的卷积神经网络.她在1998年发表的论文<基于梯度学习的文本识别>中提出了该模型,并给出了对该模型网络架构的介绍. ...

  5. Linux基础网络搭建实验

    一.实验目标 利用3台虚拟机,搭建vmnet2和vmnet3两个host-only网络,实现两个网络的互联 二.实验环境   内网 外网 网关 IP 192.168.0.10/24 202.3.4.1 ...

  6. 简单网络搭建与测试 mininet

    简介 本实验是基于pox搭建简单的网络并测试网络的连通性,利用mininet代码创建一个交换机四个主机的拓扑,测试各主机之间的连通性以及h1.h4之间的带宽. 代码 实验代码如下所示,SingleSw ...

  7. IPFS私有网络搭建总结

    参考:https://mp.weixin.qq.com/s/IKcXAjcX_BxI4siBeVsJUw 测试环境 节点A.B.C为局域网内三台部署了IPFS的节点,A为win7,B为Redhat L ...

  8. 2-fabric网络搭建流程

    目录 一.示例网络 下面开始一步步的搭建和叙述上述过程 二.创建网络 三.添加网络管理员 四.定义联盟 五.为联盟创建通道 六.节点和账本 七.应用程序和智能合约链码 八.完成网络 简化视觉词汇表 九 ...

  9. pytorch入门1——简单的网络搭建

    代码如下: %matplotlib inline import torch import torch.nn as nn import torch.nn.functional as F from tor ...

随机推荐

  1. LayuiAdmin 滚动条设置问题解决

    LayuiAdmin 滚动条设置问题解决 今天在使用LayuiAdmin(单页版),发现通过: $("html,body").animate({"scrollTop&qu ...

  2. AcWing 243. 一个简单的整数问题2 (树状数组)打卡

    题目:https://www.acwing.com/problem/content/244/ 题意:区间加,区间查询 思路:我们把原先那个差分数组分解一下 ∑i=1x∑j=1ib[j]=∑i=1x(x ...

  3. LG1010 幂次方

    题目描述 任何一个正整数都可以用2的幂次方表示.例如 137=2^7+2^3+2^0 同时约定方次用括号来表示,即a^b 可表示为a(b). 由此可知,137可表示为: 2(7)+2(3)+2(0) ...

  4. [CSP-S模拟测试]:简单的区间(分治)

    题目描述 给定一个长度为$n$的序列$a$以及常数$k$,序列从$1$开始编号.记$$f(l,t)=\sum \limits_{i=l}^ra_i-\max \limits_{i=l}^r\{a_i\ ...

  5. echarts绘制饼图时的一点特殊设置

    最后的效果如图,需要在中间展示的部分换行然后字体大小不同. 以下为option的设置,使用rich里面的参数来设置更多的文本样式,使用‘\n’来控制换行 let option = { color: c ...

  6. Java学习之构造函数

    构造函数特点:  函数名和类名相同  没有返回值(不用定义返回值类型)作用:  对象初始化注意:  如果类没有定义构造函数时,系统会默认定义一个无参的构造函数  如果定义了构造函数,系统不会定义构造函 ...

  7. Java封装JDBC数据库增、删、改、查操作成JAR文件,以供Web工程调用,适用于多种数据库

    废话不多说,直接上源代码,最后有使用方法,当然,也可以作为普通公用类使用,只是封装成JAR更方便使用. package db.util; import java.io.BufferedReader; ...

  8. VIP视频下载终结器

    youtube-dl: Youtube-dl是谷歌github上的一个开源项目,它是一款轻量级的命令行 下载实用工具,阿刚曾在乐软博客里文章<不仅仅是youtube,youtube-dl在线视频 ...

  9. zabbix--Simple checks 基本检测

    开始      Simple checks 通常用来检查远程未安装代理或者客户端的服务. 使用 simple checks,被监控客户端无需安装 zabbixagent 客户端, zabbix ser ...

  10. android meta_data配置数据