This project included in gokart 1.0.0. Thanks :)
gokart pipeline project
Please show SampleTask.py or Eaxmple.ipynb
from gokart_pipeliner import GokartPipeliner
from ExampleTasks import *
# make pipeline
preprocess = [TaskA, {'task_b': TaskB, 'task_c': TaskC}, TaskD]
modeling = preprocess + [TaskE, {'task_f': TaskF}, TaskF]
predict = [{'model': modeling, 'task_a': TaskA}, TaskG]
# instantiation (setting static params)
params = {'TaskA': {'param1':0.1, 'param2': 'sample'}, 'TaskD': {'param1': 'foo'}}
config_path_list = ['./conf/param.ini']
gp = GokartPipeliner(
params=params,
config_path_list=config_path_list)
# run (setting dynamic params)
running_params = {'TaskB': {'param1':'bar'}}
gp.run(predict, params=running_params)
task example
class Task(gokart.TaskOnKart):
foo = gokart.TaskInstanceParameter()
def run(self):
x = self.load('foo')
self.dump(x)
We can get result of latest pipeline tasks.
task_b_result = gp.run([TaskA, TaskB], return_value=True)
If you say "want to write requires" or "want to reuse existing tasks", we can use override_requires
parameter.
params = {'ExistingTask': {'override_requires': False}}
gp.run([ExistingTask], params=params)
gp.run([Task], params=params, verbose=False)
pip install poetry
pip install poetry-dynamic-versioning
# poetry install
poetry build
# poetry lock