title: Specifying Machine Type in Vertex AI Pipeline
body: <p>I have a pipeline component defined like this:</p>
  <pre><code>data_task = run_ssd_data_op(
          labels_path=input_labels,
          data_config=config_task.outputs[&quot;output_data_config&quot;],
          training_config=config_task.outputs[&quot;output_training_config&quot;],
          assets_json=dump_conversion_task.outputs[&quot;output_ssd_query&quot;]
      )
  data_task.execution_options.caching_strategy.max_cache_staleness = &quot;P0D&quot;
  data_task.container.add_resource_request('cpu', cpu_request)
  data_task.container.add_resource_request('memory', memory_request)
  </code></pre>
  <p>When I run the pipeline on VertexAI the above component runs on an E2 machine type which matches the CPU and RAM requirements.</p>
  <p>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.</p>
  <p>I would like to request that this component is run on an <code>n1-highmem-32</code> machine, how can I do that?</p>
  <p>For the GPU component of the pipeline I could use the line:</p>
  <pre><code>training_task.add_node_selector_constraint('cloud.google.com/gke-accelerator', 'NVIDIA_TESLA_T4').set_gpu_limit(
          gpu_request)
  </code></pre>
  <p>What is the equivalent <code>node_selector_constraint</code> that I need to apply to my <code>data_task</code>?</p>