我们提供了两种方式配置和运行XFL:通过docker或conda来搭建环境。
Python:3.9
OS:MacOS,Linux(支持主流的发行版本,教程使用的是CentOS 7)
CPU/Memory:推荐的最低配置为8核16G内存
Redis
git clone https://github.com/paritybit-ai/XFL
cd XFL
# 获取redis镜像
docker pull redis:7.0.3
# 启动redis,注意需要保证6379的端口开放
docker run --name my_redis -p 6379:6379 -d redis:7.0.3
# 获取镜像
docker pull basebit/xfl:1.4.0
# 启动XFL
docker run -it --entrypoint /bin/bash \
--network container:my_redis \
-v $PWD/demo:/opt/app/xfl/demo \
-v /opt/dataset:/opt/dataset \
-v /opt/config:/opt/config \
-v /opt/log:/opt/log \
-v /opt/checkpoints:/opt/checkpoints \
basebit/xfl:1.2.0
# 在镜像中运行demo脚本
cd demo/vertical/logistic_regression/2party
sh run.sh
推荐使用anaconda创建虚拟环境
conda create -n xfl python=3.9.7
conda activate xfl
通过pip安装依赖
# 升级到最新版本
pip install -U pip
# 通过requirements.txt安装依赖
pip install -r requirements.txt
本地单机运行第一个demo算子
# 进入项目目录
cd ./demo/vertical/logistic_regression/2party
# 激活虚拟环境
conda activate xfl
# 启动redis服务(已经开启了可以跳过这一步)
redis-server &
# 运行demo
sh run.sh
在项目的demo目录里,我们准备了丰富的测试用例:
demo
├── horizontal
│ ├── logistic_regression
│ └── resnet
├── local
│ ├── normalization
│ └── standard_scaler
├── vertical
│ ├── binning_woe_iv
│ ├── feature_selection
│ ├── kmeans
│ ├── logistic_regression
│ ├── pearson
│ └── xgboost
└── ...
每个子目录下包含配置文件和执行脚本。以两方的纵向逻辑回归为例,启动步骤如下:
cd ./demo/vertical/logistic_regression/2party
sh run.sh
/opt
目录的读写权限。如果无法获取该目录权限,则需要修改对应的配置文件。JOB_ID
,根据这个JOB_ID
可以查看任务的输出以及日志文件。INFO: All Stage Successful.
表示所有任务执行成功。一个成功执行的两方纵向逻辑回归任务会生成以下文件:
/opt
├── checkpoints # 模型输出的存放路径
│ ├── ...
│ └── 4 # 本次执行的[JOB_ID]
│ ├── node-1 # 节点1的输出文件(包含模型文件)
│ │ ├── vertical_logistic_regression_guest.pt
│ │ └── ...
│ └── node-2 # 节点2的输出文件(包含模型文件)
│ ├── vertical_logistic_regression_host.pt
│ └── ...
└── log
└── 4 # 本次执行的[JOB_ID]
└── xfl.log # 日志文件
任务完成后,可以用demo
目录下的脚本清楚残留子进程。
# 任务结束后杀死残留子进程
sh stop.sh
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )