Rahul Mehta
11/29/2022, 12:49 PMNamedTuple
s work? Does each field in the NamedTuple
just need to have an appropriate annotation w/ the HashMethod
?Lukas Bommes
11/29/2022, 4:04 PM@task()
def download_data() -> FlyteDirectory:
working_dir = flytekit.current_context().working_directory
download_to_working_dir()
# now data is in "working_dir"
return FlyteDirectory(path=working_dir)
@task()
def train(data_dir: FlyteDirectory): -> None
train_model(data_dir=data_dir) # reads files from disk and trains model
Frank Shen
11/29/2022, 8:10 PM{'eval-logloss': 0.40768596817526903,
'done': True,
'time_this_iter_s': 0.03399085998535156,
'timesteps_total': None,
'episodes_total': None,
'training_iteration': 1,
'trial_id': '665dc_00005',
'experiment_id': '55faf486d8e24b999e269e485a88ccbc',
'date': '2022-11-29_11-39-00',
'timestamp': 1669750740,
'time_total_s': 0.03399085998535156,
'pid': 51901,
'hostname': 'Franks-MacBook-Pro-2.local',
'node_ip': '127.0.0.1',
'config': {'objective': 'binary:logistic',
'eval_metric': ['logloss', 'error'],
'max_depth': 2,
'min_child_weight': 1,
'subsample': 0.9626982657573901,
'eta': 0.05413737207295681,
'tree_method': 'hist'},
'time_since_restore': 0.03399085998535156,
'timesteps_since_restore': 0,
'iterations_since_restore': 1,
'warmup_time': 0.005497932434082031,
'experiment_tag': '5_eta=0.0541,max_depth=2,min_child_weight=1,subsample=0.9627'}
And I kept getting error:
TypeError: Failed to convert return value for var o0 for function dai_mle_models.xgboost.xgboost_tune_wf.xgb_tune with error <class 'flytekit.core.type_engine.TypeTransformerFailedError'>: Python value cannot be None, expected <class 'flytekit.types.pickle.pickle.FlytePickle.__class_getitem__.<locals>._SpecificFormatClass'>/blob {
format: "PythonPickle"
}
Frank Shen
11/29/2022, 8:10 PMFrank Shen
11/29/2022, 8:12 PMFrank Shen
11/29/2022, 8:46 PM'timesteps_total': None,
'episodes_total': None,
Sabrina Lui
11/29/2022, 9:38 PMdask
cluster and we would like to ensure that the cluster gets cleaned up in every case that the workflow finishes (successful completion, failure, or user terminates). We are currently using the dask-kubernetes KubeCluster
operator to create the cluster in pre_execute
, then close everything in the post_execute
(pseudo-code). However, post_execute
doesn't get called when a user terminates from the UI, so we are seeing the dask
cluster consistently hang. Thanks for your help!Ailin Yu
11/30/2022, 6:39 PMList[Type]
where the Type
is complex? Or maybe I’m just specifying my input incorrectly: I specifically have a workflow with an input List[FlyteFile]
that is passing that input to task that takes a List[FlyteFile]
. When I try to run this workflow through the Flyte UI, passing an input like ["test_file.txt"]
and the workflow starts running, the UI shows that this was my input:
{
"test_list": [
"(empty)"
]
}
So as you can imagine, the workflow then fails to run:
Message:
Cannot convert from scalar {
none_type {
}
}
to <class 'flytekit.types.file.file.FlyteFile'>
SYSTEM ERROR! Contact platform administrators.
(More details in thread)Frank Shen
11/30/2022, 7:09 PMNischel Kandru (Woven Planet)
11/30/2022, 7:35 PMTarmily Wen
11/30/2022, 9:32 PMJun Kwan
12/01/2022, 7:00 AMflytectl demo start
works well.
pyflyte run example.py wf --n 500 --mean 42 --sigma 2
works well.
export FLYTECTL_CONFIG=...
done.
But when i do pyflyte run --remote example.py wf --n 500 --mean 42 --sigma 2
Kubernetes is giving me this error
Pod failed. No message received from kubernetes.
Message: tar: Removing leading '/' from member names.
Any ideas?Ekku Jokinen
12/01/2022, 6:37 PMmap_task
to map the chunks to equally many worker nodes. However, now I would like to add another task into the mix. The task would be a ShellTask, which would prefetch data into Flyte filesystem for the worker nodes to use in processing. Reasoning behind this is that currently the fetching of the data happens inside of the processing loop, which creates a sizeable I/O bottleneck. The problem is that according to the docs, one should not call another task from inside a mapped task. So I’m looking for a more flexible approach to distribute processing to multiple pods, which would allow calling tasks from inside the worker nodes. I’ve looked into @dynamic
and subworkflows. Which would be better, or is there a better option? Thanks a tonYee
12/01/2022, 9:36 PMAlex Pozimenko
12/02/2022, 12:38 AMKim Junil
12/02/2022, 9:08 AMflytectl get project --filter.fieldSelector
command.
Is there a way?Brandon Segal
12/05/2022, 2:00 PMdbt compile
to create a fresh copy of manifest.json
(Where dependencies are stored)
2. Reads the model selectors defined in the YAML file
3. Uses the dbt ls
command to list all of the models associated with each model selector in the YAML file
4. Turns the dbt DAG from manifest.json
into a Graph
object with the networkx
library
5. Uses the methods available on the Graph
object to figure out the correct set of dependencies for each group of models defined in the YAML file
6. Writes the dependencies for each group of models (stored as a list of tuples) to file
7. Create an Airflow DAG for each group of models based on the given dependenciesFrank Shen
12/05/2022, 8:46 PMFrank Shen
12/05/2022, 11:21 PMLaura Lin
12/06/2022, 12:14 AMTom Melendez
12/06/2022, 12:30 AMChirag Gosalia
12/06/2022, 2:05 PM@task(timeout=60)
def foo:
return "foo"
safe to assume 60
is seconds?milliseconds?
cc @Louis DiNataleLouis DiNatale
12/06/2022, 5:53 PMOr Itzary
12/06/2022, 9:36 PMvarsha Parthasarathy
12/07/2022, 7:23 PMA
with inputs a,b,c
I have another wf B which find out what the inputs should be to wf A and “invokes” it. My current model is as below:
Are there better ways to handle this?
@workflow
A:
@workflow
B:
result = B(..)
Laura Lin
12/07/2022, 7:58 PMTarmily Wen
12/07/2022, 8:50 PMSandra Youssef
12/07/2022, 9:16 PMFabio Grätz
12/08/2022, 3:44 PMHank Fanchiu
12/08/2022, 4:25 PMHank Fanchiu
12/08/2022, 4:25 PMKetan (kumare3)
12/08/2022, 4:28 PMFelix Ruess
12/08/2022, 4:32 PMDavid Espejo (he/him)
01/19/2023, 4:45 PMFelix Ruess
01/19/2023, 4:50 PMDavid Espejo (he/him)
01/19/2023, 4:55 PMFelix Ruess
01/19/2023, 5:08 PMKetan (kumare3)
01/19/2023, 8:11 PMFelix Ruess
01/19/2023, 8:22 PMDavid Espejo (he/him)
01/19/2023, 8:29 PMKetan (kumare3)
01/19/2023, 11:27 PM