Fate单机部署(docker版本)

文章目录

  • 1.常用网址
  • 2.环境配置
  • 3.docker单机部署核心
  • 4.部署流程
    • 4.1 基本配置
    • 4.2 安装docker镜像
    • 4.3 获取资源并部署
    • 4.4 测试
      • 4.4.1 单元测试
      • 4.4.2 Toy测试
    • 4.5 安装FATE-Client和FATE-Test
    • 4.6 配置vim编辑器
    • 4.7 上传默认的配置文件
      • 4.7.1 host
      • 4.7.2 guest
      • 4.7.3 test
      • 4.7.4 同时传conf和dsl配置文件
    • 4.8 Fateboard查看结果
      • 4.8.1 训练过程展示
      • 4.8.2 上传的所有操作展示
      • 4.8.3 guest展示
      • 4.8.4 guest的evaluation_0模块展示

1.常用网址

Fate1.6.0联邦学习下载网站:https://github.com/WeBankFinTech/FATE
FATE官方网站:https://fate.fedai.org

2.环境配置

FATE单机部署指南——服务器配置:

数量 1
配置 8 core / 16G memory / 500G hard disk
操作系统 Version: CentOS Linux release 7
用户 User: app owner:apps

单机版提供2种部署方式,可以根据实际情况选择:
docker镜像安装FATE(推荐)
主机中安装FATE

本篇主要讲述docker镜像安装FATE
建议使用docker镜像,这样可以大大降低遇到问题的可能性。

3.docker单机部署核心

在虚拟机的CentOS系统的docker镜像里用python命令上传数据和配置文件并在fateboard(镜像自动配置)上展示出来

4.部署流程

4.1 基本配置

主机需要能够访问外部网络,从公共网络中拉取安装包和docker镜像。
主机最好是Linux系统的CentOS或Ubuntu版本,Windows系统的电脑建议配置虚拟机+镜像,再进行部署操作
配置:VMware16+CentOS7.4
链接提供虚拟机、镜像以及Fate1.6.0框架,有需要的伙伴自取

链接:https://pan.baidu.com/s/1jcox1dXrnYF2M0Ss1eQNcw 提取码:8bve

Fate单机部署(docker版本)_第1张图片
网络设置注意:设置如图才可以在CentOS镜像系统中连接网络,其他的步骤都按照正常安装流程就行
Fate单机部署(docker版本)_第2张图片

4.2 安装docker镜像

参考链接

yum list installed|grep docker #检查是否安装过 docker
yum -y remove docker-ce.x86_64 #使用命令卸载,卸载完成
uname-r #检查centOs的内核版本 docker要求centOs的内核版本在3.10 以上
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine #移除旧版本
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 #安装必要的系统工具
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #添加软件源信息
sudo yum makecache fast #更新yum 缓存
sudo yum -y install docker-ce #安装docker-ce
sudo systemctl start docker #启动 docker 后台服务
docker run hello-world #运行hello-world 镜像

4.3 获取资源并部署

执行之前,请检查8080是否已被占用。 如果要再次执行,请使用docker命令删除以前的容器和镜像。
请按照以下步骤操作:
注意,请用实际的版本号替换下文中的${version},参考fate.env文件中的FATE版本!(此处版本为1.6.0,下文直接替换成1.6.0)

#获取安装包
wget https://webank-ai-1251170195.cos.ap-guangzhou.myqcloud.com/docker_standalone_fate_1.6.0.tar.gz
tar -xzvf docker_standalone_fate_1.6.0.tar.gz

#执行部署
cd docker_standalone_fate_1.6.0
bash install_standalone_docker.sh

4.4 测试

4.4.1 单元测试

CONTAINER_ID=docker ps -aqf "name=fate"
docker exec -t -i ${CONTAINER_ID} bash
bash ./python/federatedml/test/run_test.sh

如果成功,屏幕显示类似下方的语句:

there are 0 failed test

4.4.2 Toy测试

CONTAINER_ID=docker ps -aqf "name=fate"
docker exec -t -i ${CONTAINER_ID} bash
python ./examples/toy_example/run_toy_example.py 10000 10000 0

如果成功,屏幕显示类似下方的语句:

success to calculate secure_sum, it is 2000.0

4.5 安装FATE-Client和FATE-Test

为方便使用FATE,我们提供了便捷的交互工具FATE-Client以及测试工具FATE-Test.
请在环境内使用以下指令安装:

pip install fate-client
pip install fate-test

4.6 配置vim编辑器

自己编写配置文件,需要在fate镜像中安装vim编辑器,下方是配置步骤
参考链接

直接输入命令换源
mv /etc/apt/sources.list /etc/apt/sources.list.bak
echo “deb http://mirrors.163.com/debian/ jessie main non-free contrib” >> /etc/apt/sources.list
echo “deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib” >>/etc/apt/sources.list
echo “deb-src http://mirrors.163.com/debian/ jessie main non-free contrib” >>/etc/apt/sources.list
echo “deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib” >>/etc/apt/sources.list

更新安装命令
apt-get update

更新依赖
apt-get install -y libtinfo5 --allow-remove-essential

安装vim
apt-get install -y vim

4.7 上传默认的配置文件

4.7.1 host

python /fate/python/fate_flow/fate_flow_client.py -f upload -c /fate/examples/dsl/v1/homo_logistic_regression/upload_data_host.json 

Fate单机部署(docker版本)_第3张图片

4.7.2 guest

python /fate/python/fate_flow/fate_flow_client.py -f upload -c /fate/examples/dsl/v1/homo_logistic_regression/upload_data_guest.json 

Fate单机部署(docker版本)_第4张图片

4.7.3 test

python /fate/python/fate_flow/fate_flow_client.py -f upload -c /fate/examples/dsl/v1/homo_logistic_regression/upload_data_test.json 

Fate单机部署(docker版本)_第5张图片

4.7.4 同时传conf和dsl配置文件

python /fate/python/fate_flow/fate_flow_client.py -f submit_job -c /fate/examples/dsl/v1/homo_logistic_regression/test_homolr_train_eval_job_conf.json -d /fate/examples/dsl/v1/homo_logistic_regression/test_homolr_train_eval_job_dsl.json 

Fate单机部署(docker版本)_第6张图片

python /fate/python/fate_flow/fate_flow_client.py -f submit_job -c /fate/examples/dsl/v1/homo_logistic_regression/test_homolr_train_job_conf.json -d /fate/examples/dsl/v1/homo_logistic_regression/test_homolr_train_job_dsl.json 

Fate单机部署(docker版本)_第7张图片

4.8 Fateboard查看结果

查看上传结果,在浏览器访问Http://hostip:8080

4.8.1 训练过程展示

Fate单机部署(docker版本)_第8张图片

4.8.2 上传的所有操作展示

Fate单机部署(docker版本)_第9张图片

4.8.3 guest展示

Fate单机部署(docker版本)_第10张图片

4.8.4 guest的evaluation_0模块展示

其他模块也可以逐一点进去查看,都能够看到很多评估训练的指标
Fate单机部署(docker版本)_第11张图片
感谢大家的关注和支持,希望我写的文章能够帮助大家!
如有不足,也希望大家能够多多指正!

感谢大佬,参考网址如下:
[1]https://blog.csdn.net/weixin_47383664/article/details/117910171?spm=1001.2014.3001.5502
[2]https://blog.csdn.net/weixin_39477597/article/details/87715899

你可能感兴趣的:(联邦学习,docker,centos,容器)