1.FedAvg代码来源
2.要安装的东西,按步骤来
前提:python3.6 torch0.4.1 torchvision0.2.2
(1)安装anaconda3(如果是anaconda2请重新装,因为anaconda2默认支持Python2.x)
教程可以看最新版本的Anaconda环境配置、Cuda、cuDNN以及pytorch环境一键式配置流程_anaconda cuda安装-CSDN博客
(2)在anaconda prompt中输入如下内容
conda create -n python36 python=3.6
activate python36
(3)安装cuda torch0.4.1 torchvision0.2.2
安装cuda可以看最新版本的Anaconda环境配置、Cuda、cuDNN以及pytorch环境一键式配置流程_anaconda cuda安装-CSDN博客
安装torch0.4.1和torchvision0.2.2(这个地方特别多坑,我反复尝试了特别多遍,看了很多文章)
step1:win+R cmd 命令行输入 NVIDIA-smi(查看cuda版本)
这里我的CUDA版本是11.6
step2:到download.pytorch.org/whl/torch_stable.html中找cu92/torch-0.4.1-cp36-cp36m-wim_amd64.whl(这个表示cuda9.2 python36 window 64位,按照上面的cuda安装教程为cuda9.2,如果是其他的,按照这个解释去找自己对应的文件)
下载完我放在了D盘下,这样的(更好找)
step3:在刚刚打开的anaconda prompt中输入如下内容
d:
pip install torch-0.4.1-cp36-cp36m-win_amd64.whl
结果显示如下(红色部分是因为我之前已经安装过torch1.10.2版本,没什么)
至此,torch0.4.1安装完成,下一步安装torchvision0.2.2
step4:输入如下内容(用清华源更快)
pip install torchvision==0.2.2 -i https://pypi.tuna.tsinghua.edu.cn/simple/
结果显示如下
检查一下看看有没有对
显示上面的True以及对应的版本信息,就是torch0.4.1和torchvision0.2.2安装完成!!!!!!开心!!!!
3.运行
在Pycharm的终端上输入(该指令选择了CIFAR数据集,卷积神经网络在使用独立同分布(ID)的数据(CNN),进行训练,轮次为10轮),注意终端输入的时候是在federated learing master这个下,意思就是要cd进去这个文件夹内,再输入下面的东西
python main_fed.py --dataset cifar --epoch 10 --num_channel 3 --gpu 0 --model cnn --iid
结果如下图:
结果图在save文件内
也可以输入这个(换mnist数据集跑50轮)
python main_fed.py --dataset mnist --iid --num_channels 1 --model cnn --epochs 50 --gpu 0
结果图也是在save文件内,就不放了
4.运行过程中可能出现的问题
(1)import copy出现问题(这个不用管,过一会就好了)
(2)from utils/from models导入有问题(把federated-learning-master这个文件夹设置成Sources Root就行)
这样整
(3) 出现torch._c import *这个问题,说明你的torch和torchvision安装的版本不对
重新查看一下版本是什么 ,按照上面的步骤重新来一遍。查看版本在python内输入如下内容
import torch
import torchvision
torch.__version__ #看torch版本,正确应该显示0.4.1
torchvision.__version__ #看torchvision版本,正确应该显示0.2.2
torch.cuda.is_available #正确应该是True,如果不对说明上面的步骤都错了,重新安装cuda、torch、torchvision
另外想研究这个代码的具体内容,可以看看这个博主的东西哦
【联邦学习新手必看】手把手教你读懂FedAvg代码,并顺利运行-CSDN博客
OK,以上就是全部内容啦,加油!!!