使用Docker Compose 部署FATE v1.5.0 您所在的位置:网站首页 潮汐的形成条件是什么意思 使用Docker Compose 部署FATE v1.5.0

使用Docker Compose 部署FATE v1.5.0

2023-04-21 17:45| 来源: 网络整理| 查看: 265

题图摄于Austin

(本文作者系 VMware 中国研发云原生实验室工程师,从事联邦学习 FATE/ KubeFATE 开源项目开发。)

需要加入KubeFATE开源项目讨论群的同学,请关注本公众号后回复 “kubefate” 即可。

VMware招聘机器学习和云原生开发工程师

FATE 已经发布了首个长期支持版本,怎样快速体验新版本的FATE来做联邦学习的实验任务呢,接下来我们带领大家一起使用 docker-compose 来快速部署 FATE v1.5.0 LTS。

本文将指导你在两台 Linux 主机上使用 docker-compose 部署两方的 FATE集群。(本文为公众号:亨利笔记 原创文章)

准备环境

使用  docker-compose 部署 FATE  需要三台 Linux 的机器,两个工作机和一个部署机。

硬件需求两台工作机一台部署机,只需要是 Linux 环境的机器就可以;

本文使用 VMware Workstation 来新建两台虚拟机,部署机使用本机的 Windows 的 WSL 环境,也可以使用上边两台机器的任意一台。(本文为公众号:亨利笔记 原创文章)

安装部署环境信息如下:

本文运行 FATE 的主机使用的是Centos  环境,由于 docker container 的运行不依赖主机操作系统,所以使用 Ubuntu 也是可以的,不过基础环境配置的命令会有一些不同。

基础环境

这部分需要同时在两个目标机器上操作

关闭防火墙安装docker

如果你使用上面的方式安装 docker,不能成功,也可以使用 docker-ce 其他安装方式 (http://developer.aliyun.com/mirror/docker-ce)

安装docker-compose# step 1: 下载Docker Compose sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose # step 2: 增加可执行权限 sudo chmod +x /usr/local/bin/docker-compose # step 3: 创建指向/usr/bin的符号链接 sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose # step 4: 测试安装结果 sudo docker-compose --version

如果你使用上面的方式安装docker,不能成功,也可以使用docker-compose (https://developer.aliyun.com/mirror/docker-toolbox)

新增用户# 新增用户fate sudo useradd -s /bin/bash -g docker -d /home/fate fate # 设置用户密码 sudo passwd fate配置免密

这部分需要在部署机上操作

# step 1: 生成公私钥 ssh-keygen # step 2: 发送到partyA ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] # step 3: 发送到partyB ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]安装FATE

安装 FATE 比较简单,只需要下载相应的安装包,解压,配置,安装就可以了。接下来是具体操作:(本文为公众号:亨利笔记 原创文章)

下载安装包

在部署机下载 FATE 的 docker-compose 安装包

FATE的各个版本的安装包都可以在这里找到 

https://github.com/FederatedAI/KubeFATE/releases

修改配置

我们在partyA上部署9999,在partyB上部署10000,按顺序填写party_id和party_ip。

主要修改party_ip_list和serving_ip_list,其他的可以默认不变。 如果想要使用spark计算引擎,修改computing_backend=spark即可。

第一次部署的时候镜像需要从docker hub下载,由于国内用户经常不能链接docker hub,可以使用hub.c.163.com的镜像,只需要配置RegistryURI就可以。

生成安装包

根据上文的配置生成相对应的安装文件包

bash generate_config.sh

这一步会生成部署FATE的两方的所有tar包。如果修改了配置文件parties.conf或者.env,那么就需要重新生成安装包。

部署

部署双方的FATE和FATE-Serving

bash docker_deploy.sh all

这一步会通过scp和ssh的方式将tar包拷贝到目标主机的对应目录,然后启动FATE集群。(本文为公众号:亨利笔记 原创文章)

这里使用了参数all直接部署了party10000和party9999的FATE与FATE-Serving,如果想要只部署一个部分,可以参考这里的详细使用(https://github.com/FederatedFATE/tree/v1.5.0/docker-deploy-deploy#deploying-fate-to-target-hosts )

检查FATE是否部署成功

所有的组件状态都是Up并且python容器中出现"* Running on http://x.x.x.x:9380/ (Press CTRL+C to quit)"的日志消息代表FATE已经成功启动。

测试FATE是否部署成功

显示job status is running代表任务已经开始运行,并且出现"success to calculate secure_sum, it is 2000.0"代表任务已经成功。(本文为公众号:亨利笔记 原创文章)

使用FATE

在使用WSL部署的时候,屏幕显示有 fateboard 和 notebook 的地址

查看fateboard

在浏览器分别打开双方的fateboard

partyA:http://192.168.0.9:8080partyB:http://192.168.0.10:8080

使用notebook

查看notebookpartyA:http://192.168.0.9:20000partyB:http://192.168.0.10:20000使用notebook运行toy_example

step 1:打开 partyA 的 notebook 里面的 toy_example 的示例: 

http://192.168.0.9:20000/notebooks/Toy_Example/toy_example_submit_job.ipynb

step 2:修改默认的party_id

step 3:运行toy_example

出现success,使用notebook运行toy_example成功,接下来使用notebook完成自己的联邦学习模型建设吧!(本文为公众号:亨利笔记 原创文章)

需要加入KubeFATE开源项目讨论群的同学,请关注本公众号后回复 “kubefate” 即可。

参考文档:

https://github.com/FederatedAI/KubeFATE/blob/v1.5.0/docker-deploy/README.md

https://github.com/FederatedAI/FATE/blob/v1.5.0/examples/toy_example/README.md

要想了解云原生、人工智能和区块链等技术原理,请立即长按以下二维码,关注本公众号亨利笔记 ( henglibiji ),以免错过更新。

欢迎点 “在看”和赞。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有