从新电脑开始构建FATE环境,图文并茂
注:本文很长,择需阅览,未经许可,严禁转载!转载前请征得笔者本人许可
无脑操作流程
- 注:本文很长,择需阅览,未经许可,严禁转载!转载前请征得笔者本人许可
- 写在前面
- 下载安装VMware WorkStation 16
- 安装CentOS7(已安装的可以略过,这部分比较详细内容较多)
- 安装python3(注意网络要保持连接)
- 安装docker
- Docker命令
- 下载FATE项目
- Fate命令
- 横向联邦学习样例
- 横向联邦学习样例
- 写在最后
- 特别感谢
- 结尾
写在前面
假期在做服务外包竞赛,和联邦学习相关,所以写本篇(系列)博客,来记录自己的学习。
感谢指导我的学长zjj,本片博客的绝大部分内容也是出自他之手,是他引领一个真正的小白到现在一个略懂一二的小白。这里附上他csdn的主页链接(但是我现在好像还不知道55,等要到了一定在这里加上!)
废话不多说,我们现在开始吧!
下载安装VMware WorkStation 16
运行文件VMware-workstation-full-16.0.exe,根据提示完成操作即可。
密钥:(这个我就不提供了,dddd,动手自己搜搜吧)
安装CentOS7(已安装的可以略过,这部分比较详细内容较多)
此处安装的是CentOS7.9的版本
在主页点击“创建新的虚拟机”。也可以点击“文件”–>“新建虚拟机”
选中“自定义(高级)”后,点击“下一步”
默认即可,点击“下一步”
选择“稍后安装操作系统”,然后点击“下一步”
客户机操作系统选择Linux,版本选择CentOS7 64位,然后下一步
给虚拟机起名字,设置保存路径,然后下一步
配置处理器,试过单个处理器,系统太慢,建议多几个,下一步
分配内存,和cpu相似,给少了也卡,下一步
一般都选择NAT,默认即可,下一步
接下来一路默认直到指定磁盘容量,给多点,给FATE预留空间,下一步
一直默认下一步,最后点击完成。
在虚拟机中,点虚拟机–>设置–>CD/DVD(IDE),选择自己的映像文件,此处选择CentOS-7-x86_64-DVD-2009.iso即可
开启虚拟机,进入系统安装,按下回车后等待
方便学习与理解,选择中文
选择键盘,添加英语
磁盘分区点进去后直接点完成
选择“网络和主机名”,打开网络即可
选择“软件选择”安装软件
点击开始安装
设置密码,创建用户,用户可以不创建
等待,完成后,乖乖重启
许可点进去,点下同意、完成就好了
接下来一直前进,直到选择地区,选择上海
接着前进、跳过等,在“关于您”用英文写,前进
密码设置,前进
安装CentOS7系统完成
安装python3(注意网络要保持连接)
- 右键桌面打开终端
- 使用root权限
su
- 安装python3.6的一些依赖包
rm -f /var/run/yum.pid
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
出现下图结果就说明成功
- 下载python3.6.5
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
- 解压到指定文件夹
tar -xzvf Python-3.6.5.tgz -C /usr/local
- 进入解压完的文件
cd /usr/local/Python-3.6.5
- 用yum安装gcc
yum install gcc
- 编译
./configure prefix=/usr/local/python3
make && make install
- 配置软链接
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
- 把下列三个文件的第一行的python改为python2
进入文件后,输入i,表示插入,最下方就会变成INSERT,这个时候就可以修改了。
在修改文件内容之后,进行保存,按Esc+:+wq 回车保存
vim /usr/bin/yum
vim /usr/libexec/urlgrabber-ext-down
vim /usr/bin/yum-config-manager
安装docker
- 用yum安装软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
- 安装Docker Engine-Community
使用Docker仓库进行安装:
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。
之后,可以从仓库安装和更新 Docker。
yum install -y yum-utils \device-mapper-persistent-data \lvm2
- 设置稳定的仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 安装 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
- 安装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
- 查看版本
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项目
- 下载:
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直接从本机导入(推荐)
- 解压:
tar -xzvf docker_standalone_fate_1.6.0.tar.gz
- 部署:
cd docker_standalone_fate_1.6.0
bash install_standalone_docker.sh
- 单元测试:
CONTAINER_ID=`docker ps -aqf "name=fate"`
docker exec -t -i ${CONTAINER_ID} bash
bash ./python/federatedml/test/run_test.sh
- 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命令
- 查看Table
python python/fate_flow/fate_flow_client.py -f table_info -n experiment -t breast_homo_host
- 删除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
横向联邦学习样例
- 上传训练数据
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
- 提交训练任务
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
- 预测数据
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}
横向联邦学习样例
- 上传训练数据
python python/fate_flow/fate_flow_client.py -f upload -c /fate/examples/dsl/v1/homo_logistic_regression/up_dt_guest.json -drop 1python python/fate_flow/fate_flow_client.py -f upload -c /fate/examples/dsl/v1/homo_logistic_regression/up_dt_host.json -drop 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
- 训练任务
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环境,图文并茂相关推荐
- 构建JSE 开发环境(图文并茂)
前言 学习 Java 程序设计,同样需要方便易用的开发工具.Java 的开发工具很多,而且各有优缺点,初学者往往不知道有哪些常用的开发工具,或者由于面临的选择比较多而产生困惑. 要建立 Java 开发 ...
- 如何高性价比地构建GPU环境,实现GPU自由?
Datawhale 主题:构建GPU环境 引言:要做深度学习,必然需要 GPU,如何构建一个弹性的 GPU 环境是很多读者关心和常问的问题,今天主要分享关于云服务器的选择. 由于购买GPU价格高昂,通 ...
- 《VMware vCAT权威指南:成功构建云环境的核心技术和方法》一3.6 vCloud计量
本节书摘来自华章出版社<VMware vCAT权威指南:成功构建云环境的核心技术和方法>一书中的第3章,第3.6节,作(美)VMware vCAT 团队,更多章节内容可以访问云栖社区&qu ...
- 《VMware vCAT权威指南:成功构建云环境的核心技术和方法》一3.8 多站点考虑因素...
本节书摘来自华章出版社<VMware vCAT权威指南:成功构建云环境的核心技术和方法>一书中的第3章,第3.8节,作(美)VMware vCAT 团队,更多章节内容可以访问云栖社区&qu ...
- 如何给MindSpore添加一个新的硬件后端?快速构建测试环境!
摘要:介绍如何给MindSpore添加一个新的硬件后端. 本文分享自华为云社区<如何给MindSpore添加一个新的硬件后端?快速构建测试环境!>,原文作者:HWCloudAI. Mind ...
- 电脑怎么设计java环境_java环境变量配置,详细教您win7怎么配置java环境变量。
据了解Java程序设计语言被广泛应用于PC.数据中心.游戏控制台.科学超级计算机.移动电话和互联网.而用java开发软件离不开java环境变量,那么win7下怎么配置java环境变量?下面,小编就来跟 ...
- 使用 IBM Bluemix 容器构建 Django 环境
使用 IBM Bluemix 容器构建 Django 环境 创建用户 首先需要在 IBM Bluemix 上创建一个用户 创建成功用户,就可以访问 IBM Bluemix 的仪表板了 https:// ...
- 构建开发环境 构建demo_构建自己的wotsapp第6部分
构建开发环境 构建demo I should start this article with a disclaimer: It is based on iOS 13, Swift 5, and Xco ...
- Dockerfile 构建python环境
Dockerfile 构建python环境 构建步骤 编写一个dockerfile文件 通过docker build构建文件的一个镜像 docker run 运行镜像 具体步骤 首先,创建目录 pyt ...
- 问题一:操作系统是什么?你知道哪些操作系统?怎么看自己的操作系统?电脑上怎么找到环境变量?问题二:Java开发工具还有哪些?问题三:软件公司有哪些?
问题一: <1>操作系统试什么? "操作系统(operating system,OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石.操作系统需要处理如管 ...
最新文章
- FPGA之道(27)VHDL的操作符号
- 50 调度器事件监听
- 【杂谈】如何在专家指导下系统性学习自然语言处理
- Python 定时调度
- 虚拟机没有域服务器,虚拟化现存域控制器
- php mysql 线程安全_PHP 线程安全与非线程安全版本的区别深入解析
- java 新浪短网址生成器,新浪短链接接口被限制?最新新浪短网址api接口
- 继爱奇艺后,腾讯视频会员也要涨价了
- 【Spark】Spark Class is not registered joins UnsafeHashedRelation kryo
- left join 大表放前面_带娃时,走在孩子前面与跟在孩子身后区别很大,很多父母都做错了...
- 「MYSQL」MYSQL中的int(11)到底代表什么意思?
- ezcad旋转轴标刻参数_激光打标机软件ezcad中菜单下的多文档标刻功能介绍及其操作设置...
- jenkins打包后文件通过ssh上传linux服务器配置
- PDF编辑方法,怎么删除PDF文档中的空白页
- 减少域名DNS解析时间将网页加载速度提升新层次
- windows10 给指定扩展名扩展名添加右键菜单
- hp服务器修改阵列,HP ProLiant 服务器 修改磁盘阵列的方法
- 51nod1635 第K个幸运排列
- 前端的工程化、模块化和组件化
- 2016华为软件精英挑战赛:赛题及其答疑汇总
热门文章
- [Maven实战-许晓斌]-[第二章]-2.6 NetBeans上面安装Maven插件
- Python学习之UnitTest【使用,生成HTML测试报告】
- RationalDMIS 2020定制报告(EXCEL)
- 一次旅行:汕尾-汕头-梅州
- exlc表格怎么换行_excel表格怎么换行_excel表格怎么换行上下换行
- 视频编码解码(H264中的profile和level)
- 使用html+css画一个波士顿凯尔特人的三叶草logo
- Java:基础 :集合和迭代器
- c语言中随机排序函数,利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。 用C语言编程...
- 牛客 送分啦-QAQ