FATE联邦学习开源平台V2.1.0学习笔记(一):使用PyPI安装部署单机版FATE-2.1.0

FATE-2.1.0安装部署(PyPI部署

FATE官网https://fate.readthedocs.io/en/latest/
FATE-Githubhttps://github.com/FederatedAI/FATE

1.FATE简介

FATE(Federated AI Technology Enabler)是一个开源的联邦学习框架,由Webank(微众银行)的AI部门发起并开源。FATE联邦学习框架的主要特点包括:

  1. 多方安全计算:使用同态加密、秘密共享等密码学技术,确保在模型训练过程中数据的安全性和隐私性。
  2. 模型一致性:即使数据分散在不同的参与方,FATE也能够保证模型训练的一致性和准确性。
  3. 异构支持:支持不同的机器学习算法和模型,包括但不限于逻辑回归、决策树、深度神经网络等。
  4. 可扩展性:设计用于大规模分布式计算环境,可以处理大规模数据集。
  5. 易用性:提供友好的API和文档,方便开发者快速上手和集成到现有系统中。
  6. 开源社区:作为一个开源项目,FATE拥有活跃的社区,不断有新的功能和改进被加入。

2.FATE安装

2.1虚拟机安装

FATE官网推荐centos7,这里我使用VMware Workstation Pro17中安装centos7,VMware可以在实验过程中随时拍摄快照,快照可以保存当前进度,防止后续误操作需要重新安装或部署。这里建议每完成一个重要步骤(例如安装fate)就拍摄一个快照。
在这里插入图片描述

2.2安装FATE

FATE2.1.0版本提供了使用PyPI安装FATE,我们使用PyPI安装(官方推荐),参考

2.2.1在centos7中安装anaconda

安装连接:https://repo.anaconda.com/archive/
我选择最新版:https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh

运行一下代码下载anaconda

wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh

如果出现证书过期,可以在上面代码后面加上 ----no-check-certificate

wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh --no-check-certificate

等待安装,安装完成如下所示
在这里插入图片描述
下载完成后使用以下命令安装

sh Anaconda3-2024.02-1-Linux-x86_64.sh

出现如下画面,按回车继续
在这里插入图片描述
继续回车
在这里插入图片描述
输入yes继续
在这里插入图片描述
更改anaconda3的安装路径,注意,尽量不要用默认,安装文件夹不要提前创建,不然会报错
在这里插入图片描述
等待安装

在这里插入图片描述
这里会询问是否自动激活base环境,我这里选yes

后续可以通过以下代码设置为base环境不自动激活

conda config --set auto_activate_base false

安装完成
在这里插入图片描述
添加环境变量

export PATH=/root/anaconda/bin:$PATH

输入以下代码查看安装的版本

conda -V

在这里插入图片描述

如果遇到安装不了,可以尝试重新创建虚拟机。

2.2.2配置anaconda环境

首先创建fate虚拟环境

# fate的运行环境为python>=3.8
conda create -n fate_env python=3.8
conda activate fate_env    # 激活fate_env环境

出现下图即为激活成功
在这里插入图片描述
另外,可以为conda和pip添加清华源或其他源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge 
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --set show_channel_urls yes

pip永久更换清华源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
2.2.3安装fate

这里我们介绍 PyPI 安装携带FATE-Flow服务,更多可查看FATE-Github官网

安装FATE, FATE_FLOW, FATE_CLIENT

安装之前推荐进入root权限:

su root

然后输入密码之后输入以下代码进行安装:

pip install fate_client[fate,fate_flow]==2.1.0

安装之前配置pip清华源,不然下载会很慢

linux系统下anaconda自己安装的包都在anaconda_path/envs/fate_env/lib/python3.8/site-packages目录下(fate,fate_flow等)

2.2.4服务初始化
fate_flow init --ip 127.0.0.1 --port 9380 --home $HOME_DIR    
# HOME_DIR是存放数据的绝对路径---/home/fate_path(第一次需要加home,往后在打开时不用加home)
pipeline init --ip 127.0.0.1 --port 9380

ip:服务运行的ip
port:服务运行的 http 端口
home:数据存储目录。主要包括:数据/模型/日志/作业配置/sqlite.db等内容

例如:

fate_flow init --ip 127.0.0.1 --port 9380 --home /home/username/FATE/    
# HOME_DIR是存放数据的绝对路径---/home/fate_path(第一次需要加home,往后在打开时不用加home)
pipeline init --ip 127.0.0.1 --port 9380

出现如下结果则初始化成功
在这里插入图片描述
在这里插入图片描述

2.2.5服务启动
fate_flow start
fate_flow status # 通过该指令确认FATE-Flow服务的状态

出现如下结果则启动成功
在这里插入图片描述
在这里插入图片描述
查看FATE服务数据存储目录(2.2.4中的 --home
在这里插入图片描述
包含数据,任务,日志等文件夹

2.2.6 服务停止/重启(一般不用)
# 注意:正常的部署流程不需要执行stop/restart指令
fate_flow stop
fate_flow restart

2.3 测试(2.1.0版本只有toy测试,我没有找到单机测试)

flow test toy -gid 10000 -hid 10000

出现以下结果则为成功!

在这里插入图片描述

3 FATE实例测试

准备工作–在主机安装fate源码(注意,此需要root权限):

version=2.1.0
wget https://webank-ai-1251170195.cos.ap-guangzhou.myqcloud.com/fate/${version}/release/standalone_fate_install_${version}_release.tar.gz;
tar -xzvf standalone_fate_install_${version}_release.tar.gz

进入解压后的文件夹
在这里插入图片描述

找到/examples/pipeline/upload文件夹,右键进入终端并进入root身份
激活conda环境到服务状态查询,
在这里插入图片描述
查看8080,9360,9380端口号是否被占用

netstat -apln|grep 8080;
netstat -apln|grep 9360;
netstat -apln|grep 9380

如果被占用需要先杀死这些端口的进程
在这里插入图片描述
使用以下代码

kill -9 pid		# pid是被占用的端口的进程的pid,如图中圈出的数字2459和3607
# 可以运行以下命令
kill -9 2459
kill -9 3607

在运行netstat命令,无反应则是未被占用
在这里插入图片描述

启动fate服务,参考2.2.4-2.2.5

输入以下命令进入test_upload.py编辑文件

vi test_upload.py

随意按一个键进入编辑模式,见右下角INSERT
在这里插入图片描述

修改以下代码,注意file前面的#记得删掉

file = /fatepath/examples/data/breast_hetero_guest.csv
file = /fatepath/examples/data/breast_hetero_host.csv

在这里插入图片描述

保存文件,按ESC然后输入 :wq 回车即可保存并退出
在这里插入图片描述

如下:
在这里插入图片描述

上传test_upload.py文件,等待上传

python test_upload.py

在这里插入图片描述

上传成功后如下图
在这里插入图片描述
然后返回pipeline文件夹,cd ..返回上一级目录,并进入coordinated_lr文件夹cd coordinated_lr

运行test_lr.py文件,开始训练

python test_lr.py

想看结果可以把test_lr.py最后一行代码注释删掉

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值