更新时间:2021-12-17 GMT+08:00
分享

安装FLC

前提条件

已获取FLC安装包。

背景信息

FLC支持两种用户注册:

  • 公有云用户:FLC使用公有云用户id、ak/sk、用户名和密码、domainName信息向华为云端FLS申请注册。
  • 云道用户:FLC通过云道用户appid从云道侧获取用户token后向华为云端FLS申请注册。

操作步骤

  1. 上传并解压安装包。

    将已下载的FL-Client_x.x.x.xxx.tar.gz压缩包上传到/root路径下,并解压包。

    [root@EulerOS-BaseTemplate ~]# tar -xzvf FL-Client_x.x.x.xxx.tar.gz

    包名“FL-Client_x.x.x.xxx.tar.gz”中“x.x.x.xxx”为实际的包版本号和打包时间戳。

    文件解压缩后,系统会在/root路径生成一个名为FL-Client_x.x.x.xxx的文件夹,文件夹的目录文件如下:

    • action:存放安装脚本文件
    • config:存放配置rpm包
    • repo:存放jre、client的rpm包
    • vars:存放配置变量文件
    • manifest.yml:描述包的基本属性文件

  2. 执行安装命令。

    进入解压后文件夹内的action文件夹,执行“sh appctl.sh install”。

    [root@EulerOS-BaseTemplate ~]# cd FL-Client_x.x.x.xxx
    [root@EulerOS-BaseTemplate  FL-Client_x.x.x.xxx]# cd action
    [root@EulerOS-BaseTemplate  action]# sh appctl.sh install

    系统提示“Install Federated-Client success.”表示FLC安装成功。

  3. 配置参数。

    FLC安装成功后,实际部署目录为“/opt/cloud/Federated-Client/”,需要切换到此目录下,修改“conf/config.properties”中的配置参数取值,参数说明如表1所示。

    [root@EulerOS-BaseTemplate ~]# cd /opt/cloud/Federated-Client 
    [root@EulerOS-BaseTemplate Federated-Client]# cd conf
    [root@EulerOS-BaseTemplate conf]# vi config.properties
    表1 配置参数

    参数名称

    参数描述

    配置样例

    federalServer.address

    FLC连接的华为云端FLS服务地址。

    联系华为联邦学习部署服务接口人确认取值。

    公有云北京四region配置为网关地址:https://119.3.161.172

    https://10.10.10.1:7443

    client.user

    配置注册公有云用户信息,通过用户ak/sk鉴权注册:

    • id:用户ID
    • ak/sk:用户访问密钥,sk配置为明文,服务启动后会自动加密。
    • domainName:用户所在租户名(账号名)。

    系统支持使用“|”同时配置多个用户信息。用户信息为华为公有云用户信息,可在“我的凭证”页面获取。

    仅在使用公有云用户注册时需要配置该参数,使用云道用户注册时不需要配置该参数。

    {"id":"*******","ak":"*******","sk":"*******","domainName":"*******""}|{"id":"*******","ak":"*******","sk":"*******","domainName":"*******""}

    client.user.pwd

    配置注册公有云用户信息,通过用户名和密码鉴权注册:

    • id:用户ID
    • name:用户名
    • pwd:用户密码,配置为明文,服务启动后会自动加密。
    • domainName:用户所在租户名(账号名)。

    系统支持使用“|”同时配置多个用户信息。用户信息为华为公有云用户信息,可在“我的凭证”页面获取。

    该参数为可选参数,当无法使用用户ak/sk鉴权注册时,可通过用户名和密码鉴权注册。

    仅在使用公有云用户注册时需要配置该参数,使用云道用户注册时不需要配置该参数。

    {"id":"*******","name":"*******","pwd":"*******","domainName":"*******""}

    client.custom.registerRequest

    配置FLC自动注册信息。

    • instanceId:实例ID
    • userId:用户ID
    • name:用户名
    • instanceVersion:实例版本

    仅在网络AI框架场景下需要配置。

    {"instanceId":"*******" ,"userId":"*******", "name":"*******" ,"instanceVersion":"*******"}

    client.model.global.path

    全局模型存储路径。

    建议使用默认值。

    /opt/cloud/Federated-Client/model/global/

    client.model.local.path

    本地模型存储路径。

    建议使用默认值。

    /opt/cloud/Federated-Client/model/local/

    client.kpi.local.path

    本地模型kpi存储路径。

    建议使用默认值。

    /opt/cloud/Federated-Client/model/kpi/

    client.apppackage.path

    应用包存储路径。

    建议使用默认值。

    /opt/cloud/Federated-Client/apppackage/

    client.model.keep.num

    FLC上保存的模型文件最大个数。系统凌晨1:00会自动清理client.model.global.path和client.model.local.path配置路径下的模型文件,只保留最新文件的最大个数。

    100

    client.policy

    对接的联邦FLS服务类型:

    • online:FLS在华为云端。
    • offline:FLS在客户端。

    配置为online。

    online

    rest.proxy.enabled

    FLC是否通过Rest请求代理方式连接FLS。

    • true:使用Rest请求代理。
    • false:不使用Rest请求代理。

    false

    rest.proxy.host

    FLC的Rest请求代理host。

    当FLC使用Rest请求代理方式连接FLS时有效。

    10.12.11.11

    rest.proxy.port

    FLC的Rest请求代理端口。

    当FLC使用Rest请求代理方式连接FLS时有效。

    8080

    client.offline.sftp.host

    线下sftp服务器ip,仅当client.policy配置为offline时生效。

    无需配置。

    10.10.10.12

    client.offline.sftp.port

    线下sftp服务器端口,仅当client.policy配置为offline时生效。

    无需配置。

    22

    client.offline.sftp.username

    线下sftp服务器登录用户,仅当client.policy配置为offline时生效。

    无需配置。

    root

    client.offline.sftp.password

    线下sftp服务器登录用户密码,仅当client.policy配置为offline时生效。

    无需配置。

    -

    cloud.region

    FLS服务部署区域,仅当client.policy配置为online时生效。

    联系华为联邦学习部署服务接口人确认取值。

    cn-north-4

    iam.global.endpoint

    iam对外提供的global区访问地址,仅当client.policy配置为online时生效。

    联系华为联邦学习部署服务接口人确认取值。

    https://iam.myhuaweicloud.com

    obs.endpoint

    obs对外提供的访问地址,仅当client.policy配置为online时生效。

    联系华为联邦学习部署服务接口人确认取值。

    https://obs.cn-north-4.myhwclouds.com

    obs.location

    obs服务的部署区域,仅当client.policy配置为online时生效。

    联系华为联邦学习部署服务接口人确认取值。

    cn-north-4

    apig.app.authentication

    federalServer.address参数配置的华为云端FLS服务地址是否为华为云API网关地址。

    取值:

    • yes
    • no

    联系华为联邦学习部署服务接口人确认取值。

    no

    client.csb

    是否使用云道用户注册:

    • on:使用云道用户注册。
    • off:使用公有云用户注册。

    off

    client.csb.app

    云道用户appid、account(w3工号)、pwd(w3密码)、region和是否灰度账号信息,联系华为联邦学习部署服务接口人确认取值。

    系统支持使用“|”同时配置多个app信息。

    仅在使用云道用户注册时需要配置该参数,使用公有云用户注册时不需要配置该参数。

    {"id":"*******","account":"*******","pwd":"*******","region":"*******","gray":"no"}

    client.csb.adapter.address

    集成adapter的服务地址,联系华为联邦学习部署服务接口人确认取值。

    仅在使用云道用户注册时需要配置该参数,使用公有云用户注册时不需要配置该参数。

    https://10.10.10.10:8080

    client.python

    FLC使用的python路径。

    /opt/cloud/3rdComponent/python3.9.2/bin/python

    business.model.in.type

    边缘节点上业务训练系统的输入:

    • model:模型
    • model_change:模型改变量

    model

    business.model.out.type

    边缘节点上业务训练系统的输出:

    • model:模型
    • model_change:模型改变量

    model_change

    model.name

    边缘节点上FLC的输入模型和输出模型名称。

    • Tensorflow框架下,模型名称不需要加后缀,例如:model
    • Caffe框架下,模型名称以“.caffemodel”后缀结尾,例如:model.caffemodel
    • Pytorch框架下,模型名称以“.pth”后缀结尾,例如:model.pth
    • Keras框架下,模型名称以“.h5”后缀结尾,例如:model.h5

    model.h5

    keystore.path

    https单向认证使用的服务端证书库路径。

    无需配置。keystore.check.switch.on配置为true时有效。

    /opt/cloud/Federated-Client/conf/trustServer.keystore

    keystore.passwd

    https单向认证使用的服务端证书库访问密码。

    无需配置。keystore.check.switch.on配置为true时有效。

    -

    keystore.check.switch.on

    是否开启https单向认证。

    • true:开启
    • false:关闭

    配置为false。

    false

    revoke.cert.path

    https单向认证使用的服务端吊销证书文件路径。

    无需配置。keystore.check.switch.on配置为true时有效。

    /opt/cloud/Federated-Client/conf/revoke.crl

    naie.platform

    NAIE的部署平台。如果NAIE部署在GDE上,则配置为gde,否则不需要配置。

    -

    agent.edge.switch.on

    是否使用FLC中自带的边缘业务训练系统。

    • true:使用
    • false:不使用

    配置为false。

    false

    agent.edge.heartbeat.interval

    FLC和自带的边缘业务训练系统间的心跳消息时间间隔。单位:秒。

    使用默认值。agent.edge.switch.on配置为true时有效。

    5

    agent.edge.checkstatus.interval

    FLC自带的边缘业务训练系统检查训练和评估任务状态的时间间隔。单位:秒。

    使用默认值。agent.edge.switch.on配置为true时有效。

    5

    use.global.algo

    FLC自带的边缘业务训练系统是否使用创建联邦实例时上传的模型包中的全局算法。

    • true:使用
    • false:不使用

    agent.edge.switch.on配置为true时有效。

    false

    edge.model.kpi.file

    FLC自带的边缘业务训练系统本地训练时记录的模型kpi文件。

    使用默认值。agent.edge.switch.on配置为true时有效。

    result

    edge.prereportdata

    FLC自带的边缘业务训练系统注册FLS时上报的初始kpi文件。

    使用默认值。agent.edge.switch.on配置为true时有效。

    /opt/cloud/Federated-Client/result.txt

    edge.customer.properties

    FLC自带的边缘业务训练系统注册FLS信息文件。

    使用默认值。agent.edge.switch.on配置为true时有效。

    /opt/cloud/Federated-Client/conf/customer.properties

    edge.train.data

    FLC自带的边缘业务训练系统本地训练数据目录。

    agent.edge.switch.on配置为true时有效。

    /opt/demo/data/

    edge.test.data

    FLC自带的边缘业务训练系统本地模型评估数据目录。

    agent.edge.switch.on配置为true时有效。

    /opt/demo/data/

    edge.python

    FLC自带的边缘业务训练系统使用的python路径。

    /opt/cloud/3rdComponent/python3.9.2/bin/python

    edge.train.file

    FLC自带的边缘业务训练系统本地训练时调用的python代码入口。

    agent.edge.switch.on配置为true,且use.global.algo配置为false时有效。

    /opt/demo/code/main.py

    edge.test.file

    FLC自带的边缘业务训练系统本地模型评估时调用的python代码入口。

    agent.edge.switch.on配置为true,且use.global.algo配置为false时有效。

    /opt/demo/code/main.py

  4. 启动服务。

    切换至service用户,进入/opt/cloud/Federated-Client/bin目录,执行start.sh启动服务。
    [root@EulerOS-BaseTemplate conf]# su - service
    [service@EulerOS-BaseTemplate conf]$ cd /opt/cloud/Federated-Client/bin
    [service@EulerOS-BaseTemplate bin]$ sh start.sh

    系统提示“Start Federated-Client success”表示服务启动成功。

分享:

    相关文档

    相关产品

close