手工计算神经网络第三期:数据读取与完成训练

MNIST数据集下载+idx3-ubyte解析【超详细+上手简单】 下载MNIST数据集并对其进行图片与标签解析 阅读详情

大数据文摘出品

作者:蒋宝尚


小伙伴们大家好呀~~用Numpy搭建神经网络,我们已经来到第三期了。第一期文摘菌教大家如何用Numpy搭建一个简单的神经网络,完成了前馈部分。第二期为大家带来了梯度下降相关的知识点。


这一期,教大家如何读取数据集,以及将数据集用于神经网络的训练,和上两期一样,这次依然用Numpy实现。在开始代码之前,文摘菌先带大家看看今天我们使用的数据集。


数据集介绍


数据集采用著名的MNIST的手写数据集。根据官网介绍,这个数据集有70000个样本,包括60000个训练样本,10000个测试样本。


数据集下载下来之后,文件分为4个部分,分别是:训练集图片、训练集标签、测试集图片、测试集标签。这些数据以二进制的格式储存。


     


其中,训练集图片文件的前16个字节是储存了图片的个数,行数以及列数等。训练集标签文件前8个字节储存了图片标签的个数等。测试集的两个文件同理。


文摘菌下载好的文件存储地址


读取数据

train_img_path=r'C:\Users\Dell\MNIST\train-images.idx3-ubyte'train_lab_path=r'C:\Users\Dell\MNIST\train-labels.idx1-ubyte'test_img_path=r'C:\Users\Dell\MNIST\t10k-images.idx3-ubyte'test_lab_path=r'C:\Users\Dell\MNIST\t10k-labels.idx1-ubyte'


根据文件在本地解压后的储存地址,生成四个地址,上面代码中‘r’是转义字符,因为\在Python中有特殊的用法,所以需用转义字符明确文件地址。


为了让后面的模型表现更好,我们将训练集拆分,拆成50000个训练集和10000个验证集。


注:验证集是模型训练过程中单独留出的样本集,它可以用于调整模型的超参数和用于对模型的能力进行初步评估。


import struct
train_num=50000valid_num=10000test_num=10000
with open(train_img_path,'rb') as f:    struct.unpack('>4i',f.read(16))    tmp_img=np.fromfile(f,dtype=np.uint8).reshape(-1,28*28)    tr
Fashion MNIST数据集的处理——“...-idx3-ubyte”文件解析 MNIST数据集可能是计算机视觉所接触的第一个图片数据集。而 Fashion MNIST 是在遵循 MNIST 的格式和大小的基础上,提升了一定的难度,在比较算法的性能时可以有更好的区分度。 Fashion MNIST 数据集包含 60000 张图片的训练集和 10000 张图片的测试集。图片的大小为 28×28,共784个像素。像素的灰度值介于0~255之间的整数。 阅读详情

相关推荐

每日算法讲解(十):使用BP神经网络进行回归任务

BP神经网络是由输入层、隐藏层和输出层组成的多层前馈神经网络,通过反向传播算法(Backpropagation)来调整网络权重和偏置,以最小化预测误差。前向传播:将输入数据通过网络,计算每层的激活值和输出。计算误差:根据预测值和真实值之间的差异计算损失函数值。反向传播:从输出层开始,逐层向后计算梯度,并更新每层的权重和偏置。重复迭代:通过多次迭代,逐步减小预测误差,优化模型参数。接下来,我们定义一个包含一个输入层、两个隐藏层和一个输出层的BP神经网络模型。# 定义模型# 编译模型。

rhtee的博客 1726

【Tensorflow tf 掏粪记录】笔记二——用SVM打造全连接神经网络识别MNIST数据集

由于我个人的原因,在写了第一篇tensorflow安装教程后就暂停了更新博客。可是我并没有停止前进的步伐,因为我习惯了做书面的笔记了。可是书面笔记,容易破损啊啊啊啊!!! 在深度学习中,入门的项目是MNIST数据集的分类识别。就好比我们学各种编程语言时候的Hello World! 下载MNIST数据集 从这里下载MNIST数据集。点击如下图所示按钮下载: 训练图片,训练标签,测...

IronMastiff的博客 1347

PyTorch神经网络从零实现:张量、自动微分与计算图深度解析

神经网络本质是张量在计算图中的前向流动与梯度反向传播过程。其核心原理基于动态计算图(Dynamic Computation Graph)与自动微分(Autograd)机制——每次前向运算实时构建节点依赖链,.backward()则沿.grad_fn逆向执行局部导数累加。这一机制赋予PyTorch高度可调试性,但也带来retain_graph内存开销、梯度累加需手动清零等工程约束。技术价值在于透明可控的模型构建能力,支撑从教学解剖到工业级定制化训练的全场景需求。典型应用包括MNIST全连接网络的手动实现、Re

weixin_33850890的博客 329

NLP四次范式跃迁:从手工特征到提示即接口的演进地图

自然语言处理(NLP)作为人工智能的核心分支,其技术演进始终围绕‘如何让机器理解人类语言’这一根本命题展开。从早期依赖人工设计规则与统计特征,到深度神经网络自动学习表征,再到预训练模型通过海量文本构建通用语言能力,技术重心逐步从任务专用建模转向通用能力激活。其中,预训练(Pre-train)奠定了语义理解的基础能力,而提示工程(Prompt Engineering)则成为释放该能力的关键接口——它将业务逻辑转化为可复现、可版本化、可工程化的文本指令,显著降低数据依赖与部署门槛。当前主流大模型应用已进入‘Pr

ajwh64482的博客 418

时间序列预测:基于PyTorch框架的循环神经网络(RNN)实现销量预测

主要过程如下: 1、首先读取数据集csv文件,读取每天每个地区的销量数据,整理为按照地区分类的销量数据csv文件,并且将每天的销量数据合并为以周(星期)为单位的销量汇总数据。以下代码实现都是按照周进行预测的,比如说可以预测未来1周,2周,3周...等某地的销量数据。 2、数据整理好之后,执行train.py文件开始训练模型,模型生成的文件会保存至models文件夹下。 3、待训练完成之后执行predict.py文件,修改文件中的开始日期进行预测未来几周的销量数据。 4、观察模型训练效果,如果结构不理想

Java开发,人工智能,边缘计算,致力于掌握前沿技术 5019

基于BP神经网络的医学图像分割与分类实战项目

图像分割本质上是一种像素级分类问题,即为输入图像中的每个像素分配一个语义标签,表示其所属的对象或区域类别。例如,在一张脑部MRI图像中,不同的像素可能被标记为“白质”、“灰质”、“脑脊液”或“肿瘤”。该过程不仅需要区分前景与背景,还需处理多个共存对象之间的拓扑关系和空间连续性。因此,图像分割不仅仅是简单的阈值划分或边缘提取,而是融合了低层视觉特征(如颜色、纹理、梯度)与高层语义信息(如形状先验、上下文依赖)的综合性决策过程。

weixin_35762258的博客 788

C# idx1-ubyte idx3-ubyte转图片 文字 浏览器

扩展名为idx1-ubyte一般为Lables idx3-ubyte是图片张量集合 要同时选中两个文件才能进行同时预览是什么值

使用matlab将.idx3-ubyte和.idx1-ubyte格式文件转换成bmp和csv,mnist文件

使用matlab将.idx3-ubyte和.idx1-ubyte格式文件转换成bmp和csv,mnist文件,matlab版本为2014b,转换成的bmp大小为28*28,csv为对应的图片的label,为一个数组。压缩包包含两个m文件,分别运行即可

中小团队必看!用Harbor+Jenkins打造轻量级K3S交付流水线(含成本优化方案)

本文为中小团队详细介绍了如何利用K3S、Harbor与Jenkins构建一套高性价比的自动化交付流水线。内容涵盖单节点K3S集群的效能配置、Harbor镜像仓库的磁盘空间优化、Jenkins共享库实现流水线复用,并提供了完整的实战案例与成本优化方案,帮助团队以较低成本快速落地高效的自动化部署。

weixin_29223603的博客 503

VMware17安装教程(附安装包)VMware17小白详细一键安装教程

VMware 17.5 是一款强大的虚拟机软件。本安装教程将为您详细介绍VMware17安装教程其下载、安装步骤及验证方法,助您轻松完成安装,开启虚拟化体验。

2501_91538706的博客 2万+

Cheat Engine实战:多级指针逆向破解游戏内存的5个关键步骤(附C++模拟代码)

本文详细解析了使用Cheat Engine进行多级指针逆向破解游戏内存的完整流程。通过5个关键步骤,从定位动态地址到逐层追踪指针链,最终构建稳定指针路径。文章结合C++模拟代码,深入剖析了指针链的底层汇编原理,并提供了高级排查技巧,帮助读者掌握逆向工程中的核心内存追踪技术。

weixin_29239279的博客 306

SAP前台处理:业务伙伴维护(客户主数据和供应商主数据)之基础视图 <BP>

这里主要讲解BP业务伙伴主数据中和财务相关的一些内容,包括基础视图数据,采购视图数据,销售视图数据,公司代码视图数据; S4统一了供应商和客户,从事务代码上:不再使用FD01和FK01进行维护,而使用事务代码BP统一维护;

SAP.David.Gao的博客 3460

【Matlab 六自由度机器人】基于改进型D-H参数的运动学建模与蒙特卡洛工作空间分析

本文详细介绍了如何使用改进型D-H参数法为六自由度机器人建立运动学模型,并利用Matlab Robotics Toolbox实现正运动学计算与可视化。通过蒙特卡洛法对机器人工作空间进行分析,生成三维点云图以直观展示其可达范围,为机器人选型与任务规划提供关键依据。

weixin_29040367的博客 438

Chromatix 7实战:从零开始调优ISP模块的完整流程(附常见报错解决方案)

本文提供了高通平台Camera调试工具Chromatix 7的完整实战指南。详细阐述了从环境准备、项目初始化、基础校正(如LSC、BPC)到核心ISP管线(Demosaic、CCM、HDR)及后处理(CAC、ANR)的调优全流程,并附带了常见报错(如“未初始化实例”)的解决方案,旨在帮助工程师建立系统性的调试方法论。

weixin_29290863的博客 622

【SAP HANA 24】HANA与Oracle SQL语法对照表

HANA SQL参考及Oracle 语法对照

探索 Java 编程的技巧、最佳实践和解决方案。本博客提供针对 Java 开发者的实用指南,涵盖从基础到高级话题,旨在提升编程效率和技能。 1421

openpi 入门教程(一)安装、训练、微调与推理

OpenPI是由物理智能团队发布的机器人开源模型和软件包,包含两种主要模型:基于流的扩散视觉-语言-动作模型(VLA)的π₀模型和基于FAST动作标记器的自回归VLA的π₀-FAST模型。这些模型已在超过10,000小时的机器人数据上进行了预训练,并提供了基础模型检查点,支持开箱即用或根据用户数据集进行微调。OpenPI的实验性质意味着它可能不适用于所有平台,但鼓励研究人员和从业者进行创造性实验。运行这些模型需要至少具备NVIDIA GPU,推荐使用RTX 4090或更高规格的显卡。OpenPI支持在Ubu

2506_90492529的博客 5107

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

上一篇: 清华张钹院士、人大文继荣院长激情辩论:人类对AI的爱痴忧惧
下一篇: 谷歌开发EfficientNets,扩大CNN并与AutoML结合,效率提升10倍|一周AI最火论文
BigDataDigest
博客等级 码龄9年 448粉丝 500原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值