I have a pipeline component defined like this:
data_task = run_ssd_data_op(
labels_path=input_labels,
data_config=config_task.outputs["output_data_config"],
training_config=config_task.outputs["output_training_config"],
assets_json=dump_conversion_task.outputs["output_ssd_query"]
)
data_task.execution_options.caching_strategy.max_cache_staleness = "P0D"
data_task.container.add_resource_request('cpu', cpu_request)
data_task.container.add_resource_request('memory', memory_request)
When I run the pipeline on VertexAI the above component runs on an E2 machine type which matches the CPU and RAM requirements.
However, the component runs much more slowly on VertexAI than on the Kubeflow pipeline I setup using AIPlatform. I configured that cluster to use N1-highmem-32 machines for this job.
I would like to request that this component is run on an n1-highmem-32 machine, how can I do that?
For the GPU component of the pipeline I could use the line:
training_task.add_node_selector_constraint('cloud.google.com/gke-accelerator', 'NVIDIA_TESLA_T4').set_gpu_limit(
gpu_request)
What is the equivalent node_selector_constraint that I need to apply to my data_task?