ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

从新电脑开始构建FATE环境,图文并茂

2022-02-02 11:59:53  阅读:195  来源: 互联网

标签:图文并茂 fate python FATE flow 构建 yum docker 安装


注:本文很长,择需阅览,未经许可,严禁转载!转载前请征得笔者本人许可

无脑操作流程

写在前面

假期在做服务外包竞赛,和联邦学习相关,所以写本篇(系列)博客,来记录自己的学习。
感谢指导我的学长zjj,本片博客的绝大部分内容也是出自他之手,是他引领一个真正的小白到现在一个略懂一二的小白。这里附上他csdn的主页链接(但是我现在好像还不知道55,等要到了一定在这里加上!)

废话不多说,我们现在开始吧!

下载安装VMware WorkStation 16

运行文件VMware-workstation-full-16.0.exe,根据提示完成操作即可。
密钥:(这个我就不提供了,dddd,动手自己搜搜吧)

安装CentOS7(已安装的可以略过,这部分比较详细内容较多)

此处安装的是CentOS7.9的版本

  1. 在主页点击“创建新的虚拟机”。也可以点击“文件”–>“新建虚拟机”在这里插入图片描述

  2. 选中“自定义(高级)”后,点击“下一步”在这里插入图片描述

  3. 默认即可,点击“下一步”在这里插入图片描述

  4. 选择“稍后安装操作系统”,然后点击“下一步”在这里插入图片描述

  5. 客户机操作系统选择Linux,版本选择CentOS7 64位,然后下一步在这里插入图片描述

  6. 给虚拟机起名字,设置保存路径,然后下一步在这里插入图片描述

  7. 配置处理器,试过单个处理器,系统太慢,建议多几个,下一步在这里插入图片描述

  8. 分配内存,和cpu相似,给少了也卡,下一步在这里插入图片描述

  9. 一般都选择NAT,默认即可,下一步在这里插入图片描述

  10. 接下来一路默认直到指定磁盘容量,给多点,给FATE预留空间,下一步在这里插入图片描述

  11. 一直默认下一步,最后点击完成。在这里插入图片描述

  12. 在虚拟机中,点虚拟机–>设置–>CD/DVD(IDE),选择自己的映像文件,此处选择CentOS-7-x86_64-DVD-2009.iso即可在这里插入图片描述

  13. 开启虚拟机,进入系统安装,按下回车后等待在这里插入图片描述

  14. 方便学习与理解,选择中文在这里插入图片描述

  15. 选择键盘,添加英语在这里插入图片描述在这里插入图片描述

  16. 磁盘分区点进去后直接点完成

  17. 选择“网络和主机名”,打开网络即可在这里插入图片描述在这里插入图片描述

  18. 选择“软件选择”安装软件在这里插入图片描述在这里插入图片描述

  19. 点击开始安装在这里插入图片描述

  20. 设置密码,创建用户,用户可以不创建在这里插入图片描述

  21. 等待,完成后,乖乖重启在这里插入图片描述

  22. 许可点进去,点下同意、完成就好了在这里插入图片描述

  23. 接下来一直前进,直到选择地区,选择上海在这里插入图片描述

  24. 接着前进、跳过等,在“关于您”用英文写,前进在这里插入图片描述

  25. 密码设置,前进在这里插入图片描述

  26. 安装CentOS7系统完成在这里插入图片描述

安装python3(注意网络要保持连接)

  1. 右键桌面打开终端
  2. 使用root权限
su
  1. 安装python3.6的一些依赖包
rm -f /var/run/yum.pid
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel

出现下图结果就说明成功在这里插入图片描述

  1. 下载python3.6.5
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

在这里插入图片描述

  1. 解压到指定文件夹
tar -xzvf Python-3.6.5.tgz -C /usr/local

在这里插入图片描述

  1. 进入解压完的文件
cd /usr/local/Python-3.6.5

在这里插入图片描述

  1. 用yum安装gcc
yum install gcc

在这里插入图片描述

  1. 编译
./configure prefix=/usr/local/python3
make && make install

在这里插入图片描述

  1. 配置软链接
cd /usr/bin
mv python python.backup    
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3

在这里插入图片描述

  1. 把下列三个文件的第一行的python改为python2
    进入文件后,输入i,表示插入,最下方就会变成INSERT,这个时候就可以修改了。
    在修改文件内容之后,进行保存,按Esc+:+wq 回车保存
vim /usr/bin/yum
vim /usr/libexec/urlgrabber-ext-down
vim /usr/bin/yum-config-manager

安装docker

  1. 用yum安装软件包
yum install -y yum-utils device-mapper-persistent-data lvm2

在这里插入图片描述

  1. 安装Docker Engine-Community
    使用Docker仓库进行安装:
    在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。
    之后,可以从仓库安装和更新 Docker。
yum install -y yum-utils \
 device-mapper-persistent-data \
 lvm2
  1. 设置稳定的仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

在这里插入图片描述

  1. 安装 Docker Engine-Community:
    要安装特定版本的 Docker Engine-Community,请在存储库中列出可用版本,然后选择并安装,步骤如下:
列出并排序您存储库中可用的版本。此示例按版本号(从高到低)对结果进行排序:
yum list docker-ce --showduplicates | sort -r
通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1:
yum install docker-ce-18.09.0 docker-ce-cli-18.09.0 containerd.io
启动并加入开机自启:
systemctl start docker
systemctl enable docker

在这里插入图片描述

通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community 
docker run hello-world
检查版本
docker -v
docker version

在这里插入图片描述

  1. 安装docker-compose
curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

在这里插入图片描述

  1. 查看版本
chmod +x /usr/local/bin/docker-compose
docker-compose version

在这里插入图片描述

Docker命令

指令作用
docker images显示镜像
docker ps -a查看当前系统中容器的列表。
docker ps -l会列出最后一次运行的容器,包括正在运行和已经停止的。
docker start启动一个或多个已经被停止的容器
docker stop停止一个运行中的容器
docker rm删除一个或多个容器
docker exec在运行的容器中执行命令
docker restart重启容器
docker stop [容器名称/容器ID]停止容器运行

下载FATE项目

  1. 下载:
wget https://webank-ai-1251170195.cos.ap-guangzhou.myqcloud.com/docker_standalone_fate_1.6.0.tar.gz

在这里插入图片描述
或者将docker_standalone_fate_1.6.0.tar.gz直接从本机导入(推荐)

  1. 解压:
tar -xzvf docker_standalone_fate_1.6.0.tar.gz

在这里插入图片描述

  1. 部署:
cd docker_standalone_fate_1.6.0
bash install_standalone_docker.sh

在这里插入图片描述

  1. 单元测试:
CONTAINER_ID=`docker ps -aqf "name=fate"`
docker exec -t -i ${CONTAINER_ID} bash
bash ./python/federatedml/test/run_test.sh
  1. 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

Fate命令

  1. 查看Table
python python/fate_flow/fate_flow_client.py -f table_info -n experiment -t breast_homo_host
  1. 删除table
python fate_flow_client.py -f table_delete -n $namespace -t $table_name
python fate_flow_client.py -f table_delete -j $job_id
python python/fate_flow/fate_flow_client.py -f table_delete -n experiment -t breast_homo_host

横向联邦学习样例

  1. 上传训练数据
python python/fate_flow/fate_flow_client.py -f upload -c  /fate/examples/dsl/v1/homo_logistic_regression/upload_data_host.json 
python python/fate_flow/fate_flow_client.py -f upload -c  /fate/examples/dsl/v1/homo_logistic_regression/upload_data_guest.json
  1. 提交训练任务
python  python/fate_flow/fate_flow_client.py -f submit_job -d /fate/examples/dsl/v1/homo_logistic_regression/test_homolr_train_job_dsl.json  -c /fate/examples/dsl/v1/homo_logistic_regression/test_homolr_train_job_conf.json
  1. 预测数据
python python/fate_flow/fate_flow_client.py -f submit_job -c /fate/examples/dsl/v1/homo_logistic_regression/test_predict_conf.json
记得修改test_predict_conf.json文件中的model_version: {jobid}

横向联邦学习样例

  1. 上传训练数据
python python/fate_flow/fate_flow_client.py -f upload -c  /fate/examples/dsl/v1/homo_logistic_regression/up_dt_guest.json -drop 1
 python python/fate_flow/fate_flow_client.py -f upload -c  /fate/examples/dsl/v1/homo_logistic_regression/up_dt_host.json -drop 1
  1. 训练任务
python  python/fate_flow/fate_flow_client.py -f submit_job -d /fate/examples/dsl/v1/hetero_logistic_regression/test_hetero_lr_train_job_dsl.json  -c /fate/examples/dsl/v1/hetero_logistic_regression/test_hetero_lr_train_job_conf.json
hetero_secureboost
hetero_secureboost
test_secureboost_train_dsl.json
test_secureboost_train_binary_conf.json
  1. 训练任务
python python/fate_flow/fate_flow_client.py -f submit_job -c /fate/examples/dsl/v1/hetero_logistic_regression/test_predict_conf.json
记得修改test_predict_conf.json文件中的model_version: {jobid}

写在最后

特别感谢

真正把全文打下来,我才认识到,当时zjj学长给我们制作教程的时候有多辛苦,实在是太累了!
学长的教程是以word形式展现的,为了更直观的展现、自己能够看的更方便,所以写下了这篇blog。

结尾

如果喜欢这篇文章的话,不妨点个赞收藏一下
有任何的问题都非常欢迎在评论区提出,一起讨论共同进步!
以后还会持续更新更多FATE学习进度

标签:图文并茂,fate,python,FATE,flow,构建,yum,docker,安装
来源: https://blog.csdn.net/MashiroSakura/article/details/122767909

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有