# FATE Test
A collection of useful tools to running FATE's test.
## Testsuite
Testsuite is used for running a collection of jobs in sequence. Data
used for jobs could be uploaded before jobs are submitted and,
optionally, be cleaned after jobs finish. This tool is useful for FATE's
release test.
### command options
```bash
fate_test suite --help
```
1. include:
```bash
fate_test suite -i <path1 contains *testsuite.json>
```
will run testsuites in
*path1* like /AutoFL/examples/pipeline/hetro_sbt/
2. exclude:
```bash
fate_test suite -i <path1 contains *testsuite.json> -e <path2 to exclude> -e <path3 to exclude> ...
```
will run testsuites in *path1* but not in *path2* and *path3*
3. glob:
```bash
fate_test suite -i <path1 contains *testsuite.json> -g "hetero*"
```
will run testsuites in sub directory start with *hetero* of
*path1*
4. replace:
```bash
fate_test suite -i <path1 contains *testsuite.json> -r '{"maxIter": 5}'
```
will find all key-value pair with key "maxIter" in
<span class="title-ref">data conf</span> or
<span class="title-ref">conf</span> or
<span class="title-ref">dsl</span> and replace the value with 5
5. timeout:
```bash
fate_test suite -i <path1 contains *testsuite.json> -m 3600
```
will run testsuites in *path1* and timeout when job does not finish
within 3600s; if tasks need more time, use a larger threshold
6. task-cores
```bash
fate_test suite -i <path1 contains *testsuite.json> -p 4
```
will run testsuites in *path1* with EGGROLL "task-cores" set to 4;
only effective for DSL conf
7. update-job-parameters
```bash
fate_test suite -i <path1 contains *testsuite.json> -uj {}
```
will run testsuites in *path1* with respective job parameters set to
provided values
8. update-component-parameters
```bash
fate_test suite -i <path1 contains *testsuite.json> -uc {}
```
will run testsuites in *path1* with respective component parameters
set to provided values
9. skip-dsl-jobs:
```bash
fate_test suite -i <path1 contains *testsuite.json> --skip-dsl-jobs
```
will run testsuites in *path1* but skip all *tasks* in testsuites.
It's would be useful when only pipeline tasks
needed.
10. skip-pipeline-jobs:
```bash
fate_test suite -i <path1 contains *testsuite.json> --skip-pipeline-jobs
```
will run testsuites in *path1* but skip all *pipeline tasks* in
testsuites. It's would be useful when only dsl tasks needed.
11. skip-data:
```bash
fate_test suite -i <path1 contains *testsuite.json> --skip-data
```
will run testsuites in *path1* without uploading data specified in
*testsuite.json*.
12. data only:
```bash
fate_test suite -i <path1 contains *testsuite.json> --data-only
```
will only upload data specified in *testsuite.json* without running
jobs
13. disable-clean-data:
```bash
fate_test suite -i <path1 contains *testsuite.json> --disable-clean-data
```
will run testsuites in *path1* without removing data from storage
after tasks
finish
14. enable-clean-data:
```bash
fate_test suite -i <path1 contains *testsuite.json> --enable-clean-data
```
will remove data from storage after finishing running testsuites
15. yes:
```bash
fate_test suite -i <path1 contains *testsuite.json> --yes
```
will run testsuites in *path1* directly, skipping double check
### testsuite configuration
Configuration of jobs should be specified in a testsuite whose file name
ends with "\*testsuite.json". For testsuite examples, please refer [dsl
examples](../../examples/dsl/v2) and [pipeline
examples](../../examples/dsl/pipeline).
A testsuite includes the following elements:
- data: list of local data to be uploaded before running FATE jobs
- file: path to original data file to be uploaded, should be
relative to testsuite or FATE installation path
- head: whether file includes header
- partition: number of partition for data storage
- table\_name: table name in storage
- namespace: table namespace in storage
- role: which role to upload the data, as specified in
fate\_test.config; naming format is:
"{role\_type}\_{role\_index}", index starts at 0
```json
"data": [
{
"file": "examples/data/motor_hetero_host.csv",
"head": 1,
"partition": 8,
"table_name": "motor_hetero_host",
"namespace": "experiment",
"role": "host_0"
}
]
```
- tasks: includes arbitrary number of jobs with paths to corresponding
dsl and conf files
- job: name of job to be run, must be unique within each group
list
- conf: path to conf filw, should be relative to testsuite
- dsl: path to dsl file, should be relative to testsuite
```json
"tasks": {
"cv": {
"conf": "hetero_lr_cv_conf.json",
"dsl": "hetero_lr_cv_dsl.json"
},
"early-stop": {
"conf": "hetero_lr_early_stop_conf.json",
"dsl": "hetero_lr_early_stop_dsl.json"
}
}
```
- pipeline\_tasks: includes arbitrary number of pipeline jobs with
paths to corresponding python script
- job: name of job to be run, must be unique within each group
list
- script: path to pipeline script, should be relative to
testsuite
```json
"pipeline_tasks": {
"cv": {
"script": "pipeline-hetero-lr-cv.py"
},
"normal": {
"script": "pipeline-hetero-lr-early-stop.py"
}
}
```
- model\_deps(deps): model to be used for prediction task
```json
"tasks": {
"cv": {
"conf": "hetero_lr_cv_conf.json",
"dsl": "hetero_lr_cv_dsl.json"
},
"normal": {
"conf": "hetero_lr_normal_conf.json",
"dsl": "hetero_lr_normal_dsl.json"
},
"predict": {
"conf": "hetero-lr-normal-predict-conf.json",
"dsl": "hetero-lr-normal-predict-dsl.json",
"deps": "normal"
}
}
```
- data\_deps: component output data from previous task to be used
as designated input for current task(only used for dsl tasks)
```json
"tasks": {
"column-expand": {
"conf": "./test_column_expand_job_conf.json",
"dsl": "./test_column_expand_job_dsl.json"
},
"column-expand-train": {
"conf": "./test_column_expand_train_job_conf.json",
"dsl": "./test_column_expand_train_job_dsl.json",
"data_deps": {
"column-expand": {
"guest_0": {
"reader_0": "column_expand_0"
}
}
}
}
```
}
- cache\_deps: component output cache from previous task to be
used as designated cache loader input for current task(only used
for intersect dsl tasks)
```json
"tasks": {
"intersect-cache": {
"conf": "./test_intersect_cache_job_conf.json",
"dsl": "./test_intersect_cache_job_dsl.json"
},
"intersect-cache-loader": {
"conf": "./test_intersect_cache_loader_job_conf.json",
"dsl": "./test_intersect_cache_loader_job_dsl.json
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
基于FATE进行开发的联邦学习产品.zip (2000个子文件)
index.css 227KB
termynal.css 2KB
custom.css 797B
model_service.pb.go 82KB
common-service.pb.go 46KB
proxy.pb.go 31KB
fate-serving-client.go 22KB
inference_service.pb.go 12KB
fate-serving-cmd.go 9KB
serving-rpc.go 6KB
common.go 1KB
proxy-rpc.go 1KB
roll_frame_torch.h 2KB
roll_frame_torch.h 2KB
commons.h 455B
index.html 571B
URL.java 52KB
ModelManager.java 42KB
JobExample.java 42KB
TaskExample.java 37KB
RouterTableUtils.java 31KB
DataTransferPipedServerImpl.java 30KB
PipelineModelProcessor.java 27KB
ZookeeperRegistry.java 26KB
StringUtils.java 26KB
HashedWheelTimer.java 26KB
HashedWheelTimer.java 24KB
AbstractRegistry.java 22KB
JobManagerService.java 21KB
ConfFileBasedFdnRouter.java 20KB
UrlUtils.java 20KB
FailbackRegistry.java 19KB
JobStatus.java 19KB
Dict.java 19KB
NetUtils.java 19KB
GrpcServerFactory.java 18KB
ConfigFileBasedServingRouter.java 18KB
MonitorController.java 17KB
ServerPushRequestStreamObserver.java 16KB
ModelServiceProvider.java 16KB
CuratorZookeeperClient.java 16KB
MetricWriter.java 16KB
CommonServiceProvider.java 16KB
ValidateServiceProvider.java 15KB
JobDetailController.java 14KB
LeapArray.java 14KB
DataTransferPipedClient.java 14KB
ModelController.java 14KB
DefaultFederatedRpcInvoker.java 14KB
Bootstrap.java 13KB
CommonServiceProvider.java 13KB
LogFileService.java 13KB
HealthCheckEndPointService.java 13KB
AbstractServiceAdaptor.java 12KB
FlowCounterManager.java 12KB
GrpcConnectionPool.java 11KB
HeteroSecureBoostingTreeGuest.java 11KB
RouterController.java 11KB
HeteroXGBoostGuest.java 11KB
Bootstrap.java 11KB
JobManagerController.java 11KB
GetSystemInfo.java 11KB
SftpUtils.java 10KB
URLBuilder.java 10KB
ProxyGrpcStubFactory.java 10KB
LogWebSocketController.java 10KB
ServiceController.java 10KB
ExpiringMap.java 10KB
HeteroPoisson.java 9KB
GrpcClientContext.java 9KB
ComponentService.java 9KB
JVMMemoryUtils.java 9KB
HeteroLR.java 9KB
HeteroLinR.java 9KB
RouteTableWrapper.java 9KB
ModelService.java 9KB
FateServerBuilder.java 9KB
BaseContext.java 9KB
HttpClientPool.java 8KB
AuthUtils.java 8KB
MetricSearcher.java 8KB
FateFlowModelLoader.java 8KB
TailFile.java 8KB
SshService.java 8KB
JobWebSocketService.java 8KB
DSLParser.java 8KB
TestPipedClient.java 8KB
ProxyController.java 8KB
HealthCheckService.java 8KB
ProxyServerConf.java 7KB
Bootstrap.java 7KB
AbstractZookeeperClient.java 7KB
CommonRequestHandler.java 7KB
JsonUtil.java 7KB
AbstractModelLoader.java 7KB
Constants.java 7KB
BatchInferenceFuture.java 7KB
AwaitSettableFuture.java 7KB
RetryerBuilder.java 7KB
SshConfigFileWatcher.java 7KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
白话Learning
- 粉丝: 3299
- 资源: 2464
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功