深度学习基础之《TensorFlow框架(16)—神经网络案例》

news2024/11/24 15:55:57

一、mnist手写数字识别

1、数据集介绍
mnist数据集是一个经典的数据集,其中包括70000个样本,包括60000个训练样本和10000个测试样本

2、下载地址:http://yann.lecun.com/exdb/mnist/

3、文件说明
train-images-idx3-ubyte.gz:  training set images (9912422 bytes)
train-labels-idx1-ubyte.gz:  training set labels (28881 bytes)
t10k-images-idx3-ubyte.gz:   test set images (1648877 bytes)
t10k-labels-idx1-ubyte.gz:   test set labels (4542 bytes)

4、特征值
每一个mnist数据单元有两部分组成:一张包含手写数字的图片和一个对应的标签。我们把这些图片设为“xs”,把这些标签设为“ys”。训练数据集和测试数据集都包含xs和ys
比如训练数据集的图片是mnist.train.images,训练数据集的标签是mnist.train.labels

我们可以知道图片是黑白图片,每一张图片包含28像素x28像素。我们把这个数组展开成一个向量。长度是28x28=784。因此,在mnist训练数据集中,mnist.train.images是一个形状为[60000, 784]的张量

5、目标值
mnist中的每个图像都具有相应的标签,0到9之间的数字表示图像中绘制的数字。用的是one-hot编码

二、mnist数据获取API

1、tensorflow框架自带了获取这个数据集的接口,所以不需要自行读取

2、数据集的引入
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
以上四个数据集的格式都为numpy.ndarray

三、案例实战

1、网络设计
我们采用只有一层,即最后,一个输出层的神经网络,也称之为全连接(full connected)层神经网络

一个样本有784个特征,每一个特征都有一个权重值,进行加权求和,加上偏置得到logits,然后给logits加上softmax映射,就会得出一组概率值,概率值当中最大的那个就是它的分类

2、全连接层计算
全连接做的事情就是矩阵相乘

tf.experimental.numpy.matmul(x1, x2) + bias
说明:
(1)return:全连接结果,供交叉损失运算

tf.keras.optimizers.SGD(learning_rate)
说明:
(1)梯度下降
(2)learning_rate:学习率

3、形状表示
x[None, 784] * w[784, 10] + bias[None, 10] = y[None, 10]
x是None行784列,y是None行10列。所以权重的形状是784行10列,偏置是None行10列
 

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

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

相关文章

vscode 配置与插件记录

vscode插件 python PythonPython DebuggerruffisortPylanceJupyterJupyter KeymapJupyter Slide ShowJupyter Cell TagsautoDocstring - Python Docstring Generator ruff isort pylance autodocsting 在setting.json里这么配置,这样你保存时就会自动format…

【酱浦菌-爬虫项目】爬取学术堂论文信息

1. 首先,代码定义了一个名为 url 的变量,它是一个包含三个网址的集合(或者说是一个集合的字典)。这些网址分别是: - ‘http://www.xueshut.com/lwtimu/127966.html’ - ‘http://www.xueshut.com/lwtimu/12…

您可知道如何通过`HTTP2`实现TCP的内网穿透???

可能有人很疑惑应用层 转发传输层?,为什么会有这样的需求啊???哈哈技术无所不用其极,由于一些场景下,对于一个服务器存在某一个内部网站中,但是对于这个服务器它没有访问外网的权限&…

《ElementPlus 与 ElementUI 差异集合》el-dialog 显示属性有差异

ElementPlus 用属性 v-model ElementUI 用属性 visible 其实也是 Vue2/Vue3 的差异:v-model 指令在组件上的使用已经被重新设计,替换掉了 v-bind.sync

新质生产力实践,我用chatgpt开发网站

是的,我用chatgpt开发了一个网站,很轻松。 我之前一点不懂前端,也没有网站开发的代码基础,纯正的0基础。 从0开始到最后成品上线,时间总计起来大致一共花了2-3周的时间。 初始想法我是想给我公司开发一个网站&#…

C# wpf 运行时替换方法实现mvvm自动触发刷新

文章目录 前言一、如何实现?1、反射获取属性2、定义替换方法3、交换属性的setter方法 二、完整代码1、接口2、项目 三、使用示例1、倒计时(1)、继承ViewModelBase(2)、定义属性(3)、属性赋值&am…

【Redis 开发】Lua语言

Lua Lua语法 Lua语法 Lua是一种小巧的脚本语言,底层用C语言实现,为了嵌入式应用程序中 官网:https://www.lua.org/ 创建lua文件 touch hello.lua 运行lua文件 lua hello.lua 输出语句 print("Hello World!")数据类型 可以通过t…

python与上位机开发day04

模块和包、异常、PyQt5 一、模块和包 1.1 模块 Python中模块就是一个.py文件,模块中可以定义函数,变量,类。模块可以被其他模块引用 1.1.1 导入模块 """ 导入格式1: import 模块名 使用格式: …

【算法基础实验】图论-最小生成树Prim的延迟实现

最小生成树-Prim的延迟实现 理论基础 树的基本性质 用一条边连接树中的任意两个顶点都会产生一个新的环; 从树中删去一条边将会得到两棵独立的树。 切分定理的定义 定义。图的一种切分是将图的所有顶点分为两个非空且不重叠的两个集合。横切边 是一条连接两个属…

认识认识DHCP

文章目录 认识认识DHCP一、什么是DHCP?1.1、为什么要使用DHCP?1.2、DHCP是怎么工作的?1.2.1、客户端首次接入网络的工作原理1.2.2、客户端重用曾经使用过的地址的工作原理1.2.3、客户端更新租期的工作原理 二、配置DHCP Server,为…

嵌入式开发二:搭建开发环境

工欲善其事必先利其器,本节我们从嵌入式开发的搭建环境开始学习,掌握最基本的搭建环境技能,了解每一部分的作用,以及如何使用是关键所在! 目录 一、常用开发工具简介 二、如何安装KEIL5(MDK) 2.1认识MDK-ARM 2.2 …

Spring基于AspectJ实现验签切点

文章目录 引言I AspectJ 依赖II 验签切点2.1 匹配方法执行的连接点2.2 设置带有CustomAnnotation注解的方法为切点III 案例:验签2.1 用法2.2 定义注解2.3 定义切面和切点引言 需求:验签 实现:基于AspectJ实现验签切点 I AspectJ 依赖 AspectJ 是一个基于 Java 语言的 AOP …

windos蓝屏分析工具

BlueScreenView中文版 - Windows蓝屏分析工具 BlueScreenView中文版是一款非常方便的蓝屏诊断工具。它可以帮助您快速定位蓝屏问题,并提供详细的故障转储信息。该软件可以自动扫描您机器上的minidump文件夹,同时还支持根据路径查找蓝屏文件。 windos发…

Coursera: An Introduction to American Law 学习笔记 Week 06: Civil Procedure (完结)

An Introduction to American Law Course Certificate Course Introduction 本文是 https://www.coursera.org/programs/career-training-for-nevadans-k7yhc/learn/american-law 这门课的学习笔记。 文章目录 An Introduction to American LawInstructors Week 06: Civil Pro…

Flink checkpoint 源码分析

序言 最近因为工作需要在阅读flink checkpoint处理机制,学习的过程中记录下来,并分享给大家。也算是学习并记录。 目前公司使用的flink版本为1.11。因此以下的分析都是基于1.11版本来的。 在分享前可以简单对flink checkpoint机制做一个大致的了解。 …

docker学习笔记3:VmWare CentOS7安装与静态ip配置

文章目录 一、安装CentOS71、下载centos镜像2、安装二、设置静态ip三、xshell连接centos本专栏的docker环境是在centos7里安装,因此首先需要会安装centos虚拟机。 本篇博客介绍如何在vm虚拟机里安装centos7。 一、安装CentOS7 1、下载centos镜像 推荐清华源,下载如下版本 …

【C++】学习笔记——string_1

文章目录 四、模板初阶2. 类模板 五、STL简介1. 什么是STL2. STL的六大组件3. 如何学习STL 六、string类1. string类对象的容量操作 未完待续 四、模板初阶 2. 类模板 函数模板就是:模板 函数;类模板就是:模板 类。和函数模板用法基本相同…

Kafka客户端工具:Offset Explorer 使用指南

Kafka作为一个分布式流处理平台,在大数据处理和实时数据流应用中扮演着至关重要的角色。管理Kafka的topics及其offsets对于维护系统稳定性和数据一致性至关重要。Offset Explorer是一个强大的桌面应用程序,它使得管理和监控Kafka集群变得简单直观。本文将…

数组 Leetcode 704 二分查找/Leetcode 59 螺旋矩阵/Leetcode 203移除链表元素

数组 Leetcode 704 二分查找 Leetcode 704 学习记录自代码随想录 二分法模板记忆&#xff0c;数值分析中牛顿迭代法 class Solution { public:int search(vector<int>& nums, int target) {int left 0, right nums.size()-1;// 是否需要等于号&#xff0c;假设…

verilog分析task的接口设计,证明这种写法:assign {a,b,c,d} = links;

verilog分析task的接口设计&#xff0c;证明这种写法&#xff1a;assign {a,b,c,d} links; 1&#xff0c;task在状态机中的使用好处&#xff1a;2&#xff0c;RTL设计3&#xff0c;测试testbench4&#xff0c;波形分析&#xff0c;正确&#xff01; 参考文献&#xff1a; 1&am…