跳转至

命令行操作

计算需求节点

The requester-cli is the client of Requester. It can help users begin work on the training and predicting. There are four major subcommands of requester-cli as follows.

command explanation
files query sample files info used when the task is published
key generate the requester client private/public key pair
nodes query executor nodes used when the task is published
task the subcommands related to task's management

1. 文件操作

The subcommand requester-cli files used to query the sample file's authorization application info.

command explanation
getauthbyid get the file authorization application detail
listauth list file authorization applications
global flag short flag explanation necessary
--conf -c configuration file no, the default is "./conf/config.toml"

1.1 getauthbyid

flag short flag explanation necessary
--authID -i id of file authorization application yes

根据授权ID查询样本文件授权详情:

$  ./requester-cli files getauthbyid  -i 82bd3362-a95e-4c8b-9512-f17fc4091309

1.2 listauth

flag short flag explanation necessary
--applier -a applier's public key, often known as executor's public key no, but owner or applier cannot both be empty
--owner -o file owner no, but owner or applier cannot both be empty
--end -e authorization applications publish before endTime, example '2022-07-10 12:00:00' no
--fileID -f sample file ID no
--start -s authorization applications publish after startTime, example '2022-06-10 12:00:00' no
--limit -l slimit for list file authorization applications no
--status status of file authorization application no

依据申请者公钥查询申请者所发起的样本授权使用列表:

$  ./requester-cli files listauth  -a  b02fe5f7d12bf63131bb98c339f312c53ddf126e04a9a8b85d29bc3d74f2e7c04009db13e9d48039d0738f86fd71693187d2ed6bdf193dc260b0d594728b9e09

2. 账户操作

The subcommand requester-cli key used to generate the Requester client private/public key pair.

command explanation
genkey generate a pair of key

2.1 genkey

flag short flag explanation necessary
--output -o output path yes

生成节点公私钥:

$  ./requester-cli key genkey -o ./reqkeys

3. 查询任务执行节点

The subcommand requester-cli nodes used to query executor nodes when the Requester publishes tasks.

command explanation
getbyid get the executor node by id
getbyname get the executor node by name
list list executor nodes
global flag short flag explanation necessary
--conf -c configuration file no, the default is "./conf/config.toml"

3.1 getbyid

flag short flag explanation necessary
--id -i executor node id yes

根据任务执行节点公钥查询节点详情:

$  ./requester-cli nodes getbyid  -i b02fe5f7d12bf63131bb98c339f312c53ddf126e04a9a8b85d29bc3d74f2e7c04009db13e9d48039d0738f86fd71693187d2ed6bdf193dc260b0d594728b9e09

3.2 getbyname

flag short flag explanation necessary
--name -n executor node name yes

根据任务执行节点名称查询节点:

$  ./requester-cli nodes getbyname  -n executor1

3.3 list

$  ./requester-cli nodes list

4. 任务操作

The subcommand requester-cli task related to task's management. The detailed explanation is shown as follows.

command explanation
getbyid get the task by id
list list all tasks
publish publish a training task or prediction task
start start the confirmed task
result get predict task result from executor node
global flag short flag explanation necessary
--conf -c configuration file no, the default is "./conf/config.toml"

4.1 getbyid

flag short flag explanation necessary
--id -i task's id yes

根据任务ID查询任务详情:

$  ./requester-cli task getbyid  -i 87d22f67-6b84-4266-aec5-581ac3df09f9

4.2 list

flag short flag explanation necessary
--rPubkey -r requester public key no, default './reqkeys/public.key'
--ePubkey -p executor public key no, executor public key hex string
--keyPath the file path of the requester client's public key no, default './reqkeys'
--st -s start of time ranges no
--et -e end of time ranges no, default 'now'
--limit -l maximum of tasks can be queried no, default is 100
--status status of task, such as Confirming, Ready, ToProcess, Processing, Finished, Failed no, default query all

查询已发布的任务列表:

$  ./requester-cli task list  --keyPath ./reqkeys

4.3 publish

flag short flag explanation necessary
--name -n task's name yes
--privkey -k private key no, can be replaced by 'keyPath'
--keyPath the file path of the requester client's private key no, default './reqkeys'
--type -t task type, 'train' or 'predict' yes
--algorithm -a algorithm assigned to task, 'linear-vl' or 'logistic-vl' yes
--files -f files IDs with ',' as delimiter yes
--executors -e executor node names with ',' as delimiter, like 'executor1,executor2' yes
--label -l training task's target feature yes in training task, no in prediction task
--labelName target variable required in logistic-vl training task yes in logistic-vl training task, no in others
--PSILabel -p labels used by PSI process yes
--taskId -i algorithm assigned to task, 'linear-vl' or 'logistic-vl' yes
--regMode regularization mode of training task, can be l1(L1-norm) or l2(L2-norm) no, default no regularization
--regParam regularization parameter no, default is 0.1
--alpha learning rate alpha no, default is 0.1
--amplitude amplitude amplitude no, default is 0.0001
--accuracy accuracy accuracy no, default is 10
--description -d task description no
--batchSize -b size of samples for one round of training loop, no, default is 4
--ev perform model evaluation no
--evRule the way to evaluate model, 0 means 'Random Split', 1 means 'Cross Validation', 2 means 'Leave One Out' no, default is 0
--folds number of folds, 5 or 10 supported, a optional parameter when perform model evaluation in the way of 'Cross Validation' no, default is 10
--shuffle shuffle the samples before division when perform model evaluation in the way of 'Cross Validation' no
--plo percentage to leave out as validation set when perform model evaluation in the way of 'Random Split' no, default is 30
--le perform live model evaluation no
--lplo percentage to leave out as validation set when perform live model evaluation no, default is 30

发布纵向线性回归训练任务:

$  ./requester-cli task publish -a "linear-vl" -l "MEDV" -k 14a54c188d0071bc1b161a50fe7eacb74dcd016993bb7ad0d5449f72a8780e21 -t "train" -n "房价预测任务" -d "it's a test" -p "id,id" -f "52357151-de44-445a-a137-9c79a33c12ed,21e44577-c57f-4c92-b97e-7213222062da" -e "executor1,executor2"

4.4 start

flag short flag explanation necessary
--id -i task's id yes
--privkey -k private key you can replace 'privkey' with 'keyPath'
--keyPath the file path of the requester client's private key no, default './reqkeys'

启动发布的任务:

$  ./requester-cli task start -i a109984d-d741-4aea-800e-a5d0cf2b1eaf --keyPath ./reqkeys

4.5 result

flag short flag explanation necessary
--id -i task's id yes
--privkey -k private key you can replace 'privkey' with 'keyPath'
--keyPath the file path of the requester client's private key no, default './reqkeys'
--output -o file to store prediction outcomes yes

获取预测任务的预测结果:

$  ./requester-cli task result -i a109984d-d741-4aea-800e-a5d0cf2b1eaf --keyPath ./reqkeys -o ./output.csv --config ./conf/config.toml

任务执行节点

The executor-cli is the client of Executor. It was used to control executor's behavior on the task. There are two major subcommands of executor-cli as follows.

command explanation
key generate the executor node private/public key pair
task A command helps to executor manage tasks

1. 账户操作

The subcommand executor-cli key used to generate the Executor node private/public key pair.

command explanation
genkey generate a pair of key

1.1 genkey

flag short flag explanation necessary
--output -o output path yes

生成任务执行节点公私钥:

$  ./executor-cli key genkey -o ./keys

2. 任务操作

The subcommand executor-cli task related to task's management. The detailed explanation is shown as follows.

command explanation
getbyid get a task by id
list list tasks of the executor node
global flag short flag explanation necessary
--host -h the executor's host yes

2.1 getbyid

flag short flag explanation necessary
--id -i task's id yes

通过TaskID查询任务详情:

$ ./executor-cli --host localhost:8184 task getbyid -i 87d22f67-6b84-4266-aec5-581ac3df09f9 

2.2 list

flag short flag explanation necessary
--ePubkey -p executor public key no, default './keys/public.key'
--rPubkey -r requester public key no, requester public key hex string
--keyPath the file path of the node's public key no, default './keys'
--start -s start of time ranges no
--end -e end of time ranges no, default 'now'
--limit -l maximum of tasks can be queried no, default is 100
--status status of task, such as Confirming, Ready, ToProcess, Processing, Finished, Failed no, default query all

查询指定时间范围内的任务列表:

$ ./executor-cli --host localhost:8184 task list --keyPath ./keys -l 10 -s "2021-09-30 15:00:00" -e "2022-11-30 16:00:00"