运行shaoxiongji/federated-learning代码遇MNIST下载403错误求助
解决MNIST数据集下载403 Forbidden错误(针对shaoxiongji/federated-learning仓库)
问题场景
运行联邦学习仓库shaoxiongji/federated-learning的步骤:
- 克隆仓库:
git clone https://github.com/shaoxiongji/federated-learning.git - 进入仓库目录:
cd federated-learning - 安装依赖:
pip install -r requirements.txt - 启动训练:
python main_fed.py
执行时触发MNIST数据集下载报错,核心错误为:
urllib.error.HTTPError: HTTP Error 403: Forbidden
解决方案
方法1:手动下载数据集
- 下载MNIST的四个核心文件:
- train-images-idx3-ubyte.gz
- train-labels-idx1-ubyte.gz
- t10k-images-idx3-ubyte.gz
- t10k-labels-idx1-ubyte.gz
- 在仓库根目录外创建
data/mnist路径(即../data/mnist/),将下载好的文件放入该目录 - 打开
main_fed.py,找到MNIST初始化代码行:
将dataset_train = datasets.MNIST('../data/mnist/', train=True, download=True, transform=trans_mnist)download=True改为download=False,保存后重新运行python main_fed.py
方法2:替换torchvision的MNIST下载源
找到本地Python环境中torchvision的mnist.py文件(报错路径示例:C:\Users\raineen\AppData\Local\Programs\Python\Python311\Lib\site-packages\torchvision\datasets\mnist.py):
- 打开文件,找到定义MNIST下载URL的部分,将原URL前缀
http://yann.lecun.com/exdb/mnist/替换为https://ossci-datasets.s3.amazonaws.com/mnist/ - 保存文件后,重新运行训练命令
方法3:升级torchvision到最新版本
新版本torchvision已修复MNIST下载源问题,执行升级命令:
pip install --upgrade torchvision
完成后重新运行python main_fed.py即可自动下载数据集
内容的提问来源于stack exchange,提问作者SH_IQ
相关产品推荐
相关产品推荐

