联邦学习框架FederatedScope
前排提醒:本框架是2022年5月开源的框架,所以是一个非常新的框架,所以你无论是在国内外互联网上都难以找到相关系列的教程,所以如果想学习的话,只能按部就班的跟着官方的文档链接: https://federatedscope.io/走。
笔者写本篇博客也是作为入门级的教程,本着大家在学习的过程中避免踩一些没必要的坑的初衷才写的。
1、简介
这里主要说一下该框架与其他联邦学习框架有什么区别。
本人感觉最主要的区别在于本框架对在联邦学习上的图学习任务有了很好的支持。
这里推荐一下原作者介绍该框架的一个视频,如果有小伙伴想对该框架有一个大致的了解的话,建议先看一下这个视频。
链接: https://www.bilibili.com/video/BV1z14y1p7Lx/?spm_id_from=333.337.search-card.all.click
2、Conda环境配置
可以跟着官方教程走,但是我想说的是,官方文档的教程是默认你本地的附加环境是理想的,但是笔者本人在搭建本地环境的时候还是遇到了各种各样的问题,所以想在这里说一下,主要还是使用Anoconda创建虚拟环境以及下载相关依赖是遇到的问题,一句话总结就是各种报错。
第一点:Anoconda的安装时,环境变量的配置一定要手工配置
第二点:修改.condarc文件为如下内容,直接全覆盖,还有就是修改完毕此文件之后,直接运行Conda update --all,这一点很重要!
channels:
- defaults
show_channel_urls: true
default_channels:
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
3、运行环境
3.1 创建虚拟环境
# 创建项目运行所需的虚拟环境
# name表示虚拟环境的名字
# py_ver表示虚拟环境下python的版本,官方建议python的版本大于等于3.9
conda create -n name python=py_ver
3.2 下载
官方使用git克隆的,你也可以直接去Github下载源码到本地。
git clone https://github.com/alibaba/FederatedScope.git
3.2 导入Pycharm
将下载下来的源码文件导入到IDE中,本人使用的IDE的版本信息如下,所以我接下来的演示也会在此基础上:
鼠标左键点击File,选择Open打开你下载下来的源码文件,打开之后如下图所示。
然后就是将项目配置到咱们创建的虚拟环境下。
首先鼠标左键点击File->Setting->Project->Python Interpreter。
点击右栏那个小齿轮旁边向下指的箭头,如图所示:
点击Show ALL,这里不必理会下方的环境,这些都是笔者用过的,如果你们没有用过的话,应该是没有的
点击+加号,选中Conda Environment
选中Existing Environment
然后找到你刚才创建的虚拟环境的解释器所在的位置。Conda创建的虚拟环境会在目录envs下,找到对应的python.exe文件即可。
然后点击OK
4、安装项目所需依赖
这个可以直接跟着官方文档走,切换到自己的创建的虚拟环境下,先后执行以下命令。
conda install -y pytorch=1.10.1 torchvision=0.11.2 torchaudio=0.10.1 cudatoolkit=11.3 -c pytorch -c conda-forge
# 依赖文件:requirements-torch1.10.txt
conda install --file enviroment/requirements-torch1.10.txt -c pytorch -c conda-forge -c nvidia
5、验证
如果以上步骤你都顺利完成了,那么可以在终端执行下面这条命令来验证环境是不是配置成功了
python federatedscope/main.py --cfg scripts/example_configs/femnist.yaml federate.total_round_num 50 data.batch_size 128
如果这条命令也执行成功了,那么恭喜你,你的环境搭建完成了,然后就可以根据自己的业务需求做项目了。该命令执行成功的截图如下:
6、总结
由于大家基础环境的不同,可能在配置环境的时候会遇到不同的问题,笔者只是把自己在搭建环境过程中遇到的问题筛选掉,然后总结了一个搭建环境的基本流程,希望能帮到大家,遇到问题的话大家乐意评论区留言,或者添加本人QQ1838834500,记得备注“FS”。