HumanSignal / HumanSignal/label-studio-ml-backend

api 接口异步调用

Open
#259 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
1.1k
Forks
490
Avg merge
1d 14h
Merged PRs (30d)
3

Description

现象,之前训练时候调用必须等训练完成,才能返回。现在改为异步调用
```
def train_background_task(annotations, project, label_config, params):
job = _manager.train(annotations, project, label_config, **params)
return {'job': job.id} if job else {}
@_server.route('/train', methods=['POST'])
@exception_handler
def _train():
logger.warning("=> Warning: API /train is deprecated since Label Studio 1.4.1. "
"ML backend used API /train for training previously, "
"but since 1.4.1 Label Studio backend and ML backend use /webhook for the training run.")
data = request.json
annotations = data.get('annotations', 'No annotations provided')
project = data.get('project')
label_config = data.get('label_config')
params = data.get('params', {})
if isinstance(project, dict):
project = ""
if len(annotations) == 0:
return jsonify('No annotations found.'), 400
train_thread = threading.Thread(target=train_background_task, args=(annotations, project, label_config, params))
train_thread.start()

return jsonify({}), 201
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.