两点注意事项:
- FedVision部署需要Python版本>=3.7,若版本低于3.7需要先进行升级
- 当前版本安装FedVision部署工具包需要配置SSH免密登录(也可以通过修改fedvision源码的形式来实现需要密码的登陆,但不推荐)。
以单机部署为例,按照以下步骤实现本地免密登录:
(1)检查SSH keys是否存在
#输入下面的命令,如果有文件id_rsa.pub 或 id_dsa.pub,则直接进入步骤3
ls -al ~/.ssh
(2)生成ssh-key
ssh-keygen -t rsa -C yourname
(3)配置本地免密登录
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
部署(以下流程包含fedvision官方quick start教程)
(1)创建虚拟环境并安装fedvision部署工具包
#创建虚拟环境
python -m venv <virtualenv>
#激活虚拟环境
source <virtualenv>/bin/activate
#安装fedvision部署工具包
python -m pip install -U pip && python -m pip install fedvision_deploy_toolkit
(2)生成部署模板(以单机模板为例)
fedvision-deploy template standalone
(3)按照需求修改生成的配置文件standalone_template.yaml
(4)运行部署指令
fedvision-deploy deploy deploy standalone_template.yaml
在第(4)步中有可能出现部署失败的问题,可以在 /data/projects/fedvision/FedVision/logs路径下查看输出日志,确定问题在哪
- 如果是部分模块安装失败可以尝试修改pip源为阿里云
- 如果出现证书问题需要添加trusted-host
具体pip.conf文件可以按照如下配置:
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
启动服务
fedvision-deploy services all start standalone_template.yaml
运行测试示例
#只有在服务成功启动以后才能提交任务
cd /data/projects/fedvision
source venv/bin/activate
export PYTHONPATH=$PYTHONPATH:/data/projects/fedvision/FedVision
sh FedVision/examples/paddle_mnist/run.sh 127.0.0.1:1000
#这一步如果出现端口无法访问的问题大概率是忘记启动服务了,重新启动一下就可以了。
可以通过lsof -i指令查看配置文件中对应端口是否有被监听
如果成功提交则会有如下输出:
版权声明:本文为weixin_45043668原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。