Python 手写数字识别 MNIST数据集下载失败

news2025/3/12 9:42:34

目录

一、MNIST数据集下载失败

1 失败的解决办法(经验教训):

2 亲测有效的解决方法:


一、MNIST数据集下载失败

场景复现:想要pytorch+MINIST数据集来实现手写数字识别,首先就是进行MNIST数据集的下载,但是下载失败了。

import torch
import torch.nn as nn
import torch.utils.data as Data
import torchvision
import matplotlib.pyplot as plt
import os
import cv2


# 下载mnist手写数据集
train_data = torchvision.datasets.MNIST(
    root='./data/MNIST/',  # 保存或提取的位置  会放在当前文件夹中
    train=True,  # true说明是用于训练的数据,false说明是用于测试的数据
    transform=torchvision.transforms.ToTensor(),  # 转换PIL.Image or numpy.ndarray
    download=True,  # 是否下载到 root指定的位置,如果指定的root位置已经存在该数据集,则不再下载
)

test_data = torchvision.datasets.MNIST(
    root='./data/MNIST/',
    train=False,  # 表明是测试集
    download=True,  # 是否下载到 root指定的位置,如果指定的root位置已经存在该数据集,则不再下载
)

报错

 

1 失败的解决办法(经验教训):

看到网上的方法,尝试一下,

(1)从http://yann.lecun.com/exdb/mnist/网址下载四个MNIST数据压缩包,

(2)下载完成后放入任意文件夹。将文件目录复制放到浏览器链接窗口处,并复制浏览器上的url,

(3)找到mnist.py文件 ,对于我个人而言,我的mnist.py文件在D:\my\python-pycharm\python-envs\venv-deep\Lib\site-packages\torchvision\datasets下,

将源代码中的urls注释掉,将自己浏览器上的url地址复制过去,

(4)对文件进行保存修改,然后重新运行代码,还是下载失败了,不清楚什么原因。

2 亲测有效的解决方法:

突然想到了既然报错的是下面所示的第一个下载方式不行,

http://yann.lecun.com/exdb/mnist/

那么我们就试试第二种下载路径看看可不可以,

https://ossci-datasets.s3.amazonaws.com/mnist/

(1)因此,把两个下载路径调换位置, 第二种下载路径放在前面,

(2)对文件进行保存修改,然后重新运行代码即可。

注:代码运行中断后,已经下载了mnist文件夹,你重新运行时需要找到这个文件夹并删除,否则将报错。

 

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

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

相关文章

Fastjson踩“坑”记录和“深度”学习

作者:陶征策 阿里国际站商家技术团队 Fastjson是阿里开发的Java语言编写的高性能JSON库,本文总结了Fastjson使用时的一些注意事项,并简单分析了Fastjson的底层工作原理,结合具体的验证代码以及跟Jackson的对比,希望能…

非代码的贡献也能成为Committer,我与DolphinScheduler社区的故事

点亮 ⭐️ Star 照亮开源之路 https://github.com/apache/dolphinscheduler ​ // 每个人对于”开源社区“的定义都不一样,在社区的想法也完全不一样,我认为玩开源就像”谈恋爱“,要想方设法对它好,在接触 Apache DolphinSche…

nodejs+vue毕业生求职招聘平台系统

前台首页功能模块毕业生信息招聘平台首页、空中宣讲会、招聘岗位、求职信息、论坛信息、试卷列表、招聘资讯、个人中心、后台管理功能。论坛中心试卷列表招聘资讯管理员功能模块管理员登录空中宣讲会管理招聘岗位管理毕业生管理企业功能模块招聘岗位管理信息咨询管理线上面试管…

java实现二叉树(一文带你详细了解二叉树的)

🎇🎇🎇作者: 小鱼不会骑车 🎆🎆🎆专栏: 《数据结构》 🎓🎓🎓个人简介: 一名专科大一在读的小比特,努力学习编程是我唯一…

JDBC与Druid连接池

1 什么是jdbc? JDBC(java database connectivity )是Java语言连接操作关系型数据库的一套解决方案,屏蔽了底层各数据库不同的差异。 具体是通过sun公司定义的统一的一套API【标准接口】来实现解决差异, 具体实现是各大数据库厂商…

【数据库】 mysql的四种安装方式

目录 MySQL 安装部署 一,仓库安装 二,本地安装 三,容器安装 四,源码安装 MySQL 安装部署 一,仓库安装 1,使用rpm命令从指定的网址装包 ​ [rootlocalhost yum.repos.d]# rpm -ivh https://repo.mys…

每日学术速递2.10

Subjects: cs.Cv 1.Spatiotemporal Deformation Perception for Fisheye Video Rectification 标题:鱼眼视频矫正的时空形变感知 作者:Shangrong Yang, Chunyu Lin, Kang Liao, Yao Zhao 文章链接:https://arxiv.org/abs/2302.03934v1 项…

【手写 Vuex 源码】第四篇 - Vuex 中 Getters 的实现

一,前言 上篇,主要介绍了 Vuex 中 State 状态的实现,主要涉及以下几个点: 创建 Store 类中的 State 状态;借助 Vue 实现 State 状态的响应式; 本篇,继续介绍 Vuex 中 getters 的实现&#xf…

VHDL语言基础-时序逻辑电路-寄存器

目录 寄存器的设计: 多位寄存器: 多位寄存器的VHDL描述: 移位寄存器: 串进并出的移位寄存器的VHDL描述: 寄存器的设计: 多位寄存器: 一个D触发器就是一位寄存器,如果需要多位寄存器&…

飞凌嵌入式RK3568J核心板助力工业机器人产业迈向高质量发展新阶段

工业机器人是能够代替人工完成高强度重复工作的多自由度机器装置,不仅可以确保产品质量,还可以大幅提高生产效率。据工信部数据显示,“十三五”期间我国工业机器人产量从7.2万套增长到了21.2万套,年均增长31%,预计2023…

切换分支报错:Untracked Files Prevent Checkout

切换分支报错:Untracked Files Prevent Checkoutgit分支切换 Untracked Files Prevent Checkout本人解决办法:git分支切换 Untracked Files Prevent Checkout 新起的项目在切换master分支到工作分支时,出现下图的问题: Untracked…

【机器学习】过拟合与正则化

上一章——逻辑回归 文章目录三种拟合状态解决过拟合的三种方法什么是正则化正则化的数学原理线性回归恭喜三种拟合状态 在之前的课程中,我们说过机器学习的中极为重要的一步,就是给训练集找到一条合适的拟合曲线。 还是以房价问题这个回归问题为例&…

【微服务】微服务架构超强讲解,通俗易懂

微服务架构目录一、微服务架构介绍二、出现和发展三、传统开发模式和微服务的区别四、微服务的具体特征五、面向服务的架构SOA(service oriented architecture)和微服务的区别1、SOA喜欢重用,微服务喜欢重写2、SOA喜欢水平服务,微…

Linux教程:MQTT入门基础概念与学习介绍及服务部署搭建并使用桌面工具进行测试开发

前言: ----在2023年的今天,智能家居与智能家电的兴起犹如滚滚长江迅速袭来,智能终端设备也不断出现在人们的视野当中,实现远程控制,其中必然不能缺少终端与终端,终端与服务之间的交互,如何来解…

ag-Grid Enterprise

ag-Grid Enterprise Ag-Grid被描述为一种商业产品,已在EULA下分发,它非常先进,性能就像Row分组一样,还有范围选择、master和case、行的服务器端模型等等。 ag Grid Enterprise的巨大特点: 它具有以下功能和属性&#x…

Docker调用Intel集显实现FFmpeg硬解码

文章目录Docker调用Intel集显实现FFmpeg硬解码参考FFmpeg 集成qsv方式一 容器完成所有步骤方式二 容器完成部分步骤方式三 dockerfile部署Docker调用Intel集显实现FFmpeg硬解码 参考 ffmpeg_qsv_docker拉取该镜像可以实现FFmpeg集成vaapi的硬加速,通过dockerfile文…

什么是特权访问管理(PAM)

特权访问管理 (PAM) 是指一组 IT 安全管理原则,可帮助企业隔离和管理特权访问、管理特权帐户和凭据、控制谁可以获得对哪些端点的管理访问权限级别,并监视用户对该访问权限执行的操作。 什么是特权访问 特权访问是一种 IT 系统访…

2023.2.10学习记录Docker容器

Docker 必须跑在Linux内核上 镜像是一个轻量级可执行的独立软件包 新建一个docker容器只需要几秒钟 Docker常用命令 启动类命令 镜像命令 容器命令 docker images docker search --limit 5 redis docker pull redis:6.0.8 docker system df 查看镜像/容器/…

使用QT中的绘画工具与定时器工具实现简易时钟

需求&#xff1a;使用QT中的绘画工具与定时器工具实现简易时钟代码实现过程&#xff1a;widget.h#ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QPainter> //引入画家类 #include<QPaintEvent> //引入绘制事件类 #include&l…

vue-router 源码解析(三)-实现路由守卫

文章目录基本使用导语初始化路由守卫useCallbacks 发布订阅模式管理路由守卫push 开始导航resolve返回路由记录匹配结果navigate 开始守卫抽取路由记录guardToPromiseFn 用Promise包装守卫方法extractComponentsGuards 从组件中抽取守卫beforeRouteLeave 守卫收集composition 守…