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

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开发,人工智能,边缘计算,致力于掌握前沿技术 5020

基于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文件,分别运行即可

展锐双摄帧同步实战:从配置到调试的完整避坑指南

本文深入剖析了在展锐平台上实现双摄帧同步的完整流程与核心技术。详细对比了硬件帧同步与软件帧同步的差异、应用场景及核心挑战,提供了从XML配置、驱动层适配到调试验证的实战指南。重点强调了硬件帧同步必须与固定帧率强绑定这一关键避坑点,并分享了针对景深虚化等场景的同步质量验证方法及长稳测试策略。

kiwi8的博客 401

Unity UI Toolkit避坑指南:从官方Samples到实际项目,这些‘坑’我帮你踩过了

本文分享了Unity UI Toolkit在实际项目中的避坑经验和优化技巧,包括动画系统的高效替代方案、3D世界UI的创新实现方式、USS样式继承的反直觉规则等。通过详细的代码示例和性能优化策略,帮助开发者避免常见陷阱,提升开发效率。

weixin_29535577的博客 342

DeepSeek-OCR又更新:一起看下OCR1和OCR2

DeepSeek-AI 最近又又开源了,这次是DeepSeek-OCR2,结合之前发布的DeepSeek-OCR ,可以发现DeepSeek走出了一条不同于主流 OCR 方案的技术路线。第一代模型探索了**“视觉作为文本压缩介质”的可行性,打破了传统的序列长度限制;第二代模型则通过“Visual Causal Flow(视觉因果流)”**架构,将因果推理引入视觉编码器,解决了复杂排版下的阅读顺序难题。本文将从架构设计、逻辑结构、训练范式及工程实现四个维度,深度剖析这两代模型的异同与创新。

kakaZhui的博客 623

【重温童年】基于tkinter模块设计的Q宠大乐斗武器升星模拟器:重温经典,畅享休闲时光

与传统的Q宠大乐斗不同,这款模拟器还加入了一个创新的功能——自定义升星概率。玩家可以根据自己的喜好和策略,为不同的武器设置不同的成功率和降级率。比如,你可以将“嗜血”这把武器的升星难度设置得极高,以体现其稀有性和强大威力;也可以将“平底锅”这样的普通武器设置得相对容易升星,让玩家在升级过程中感受到更多的成就感。这种自定义的概率设置,不仅增加了游戏的趣味性和挑战性,还让玩家在升级过程中有了更多的策略和选择。你可以根据自己的武器库和卷轴数量,制定出最合适的升级计划,从而在游戏中占据先机。

nmdbbzcl的博客 1236

YOLOv11全方位改进指南:卷积层、轻量化、注意力、损失函数等创新优化一览

YOLOv11通过八大核心模块的创新设计,在保持YOLO系列实时性的同时显著提升检测精度。本文提出的可变形卷积DCNv4多模态注意力动态解耦头等创新方案,已在工业质检、自动驾驶、无人机巡检等领域成功应用。完整项目地址预训练模型:包含从nano到x六个规格在线演示创新声明首次在YOLO系列集成DCNv4,小目标检测AP提升8.2%提出多模态混合注意力(MMAttention),兼顾通道与空间关系动态标签分配策略使训练效率提升40%

QQ_778132974的博客 1019

半小时搞定Yolov5安装配置及使用(详细过程)

Yolov51. 下载Yolov52. 安装Yolov5 在下载配置Yolov5前,先要安装好Anaconda环境,可参考之前博文:最新Anaconda3的安装配置及使用教程(详细过程) 1. 下载Yolov5 首先下载Yolov5源码: Yolov5 Github地址:https://github.com/ultralytics/yolov5 直接git clone到本地工作目录,等待下载完成: Yolov5代码目录架构: 2. 安装Yolov5 源码下完后,下面开始安装Yolov5所需模块,

HowieXue 薛永浩的博客 12万+

代谢组数据分析(三):代谢组降维分析

本文详细介绍了代谢组学中常用的降维分析方法,包括PCA、PLS-DA和OPLS-DA。PCA通过线性变换降低数据维度,便于数据可视化和异常值检测;PLS-DA是一种有监督的模式识别方法,适用于分类和预测;OPLS-DA通过正交分解避免过拟合,更准确地筛选差异代谢物。降维分析在揭示样本间差异和发现生物标志物方面具有重要意义

专注生信领域 3790

3D 韩系风格漫剧人设 | GPT-Image2 人设生成【附完整提示词】

宁姚同款清冷剑系美人,极致小巧鹅蛋脸,下颌线紧致纤细流畅,下巴小巧精致收窄,小脸衬得五官格外舒展,韩式水光肌,面部精细水光高光,鼻梁高光、鼻尖高光、面中苹果肌高光、唇珠高光,红棕色长卷发偏分大波浪,垂在一侧肩前,发量蓬松。发量丰厚蓬松有体积感,不贴头皮,几缕碎发自然垂落脸侧修饰脸型,长度过胸及背,发丝柔顺丝滑卷度自然,发尾自然垂落,身穿香槟色缎面挂脖长裙,挂脖设计无袖露肩露背,上半身围裹式荡领胸口垂褶,腰部堆褶收腰,修身直筒包臀裙长度到脚踝,缎面光泽感强垂坠感好,极简剪裁。纯白色背景,3D漫剧写实厚涂风。

欢迎来到鸾姝淡月博客,专为程序员和编程爱好者打造的技术博客。我们分享编程语言趋势、开发工具、编程哲学、职业发展等,助你掌握新技术,优化技能,激发编程热情。 129

假人有限元模型

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

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

上一篇: 清华张钹院士、人大文继荣院长激情辩论:人类对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、付费专栏及课程。

余额充值