[Python] Getting `ValidationException: Component function doesn't support positional...

Discussão em 'Python' iniciado por Stack, Fevereiro 27, 2025.

  1. Stack

    Stack Membro Participativo

    I am trying to create a pipeline using:

    pipeline = income_prediction_pipeline(pipeline_job_data_input=Input(type="uri_file", path=income_data.path),
    pipeline_job_test_train_ratio=0.25,
    pipeline_job_learning_rate=0.05,
    pipeline_job_n_estimators=100,
    pipeline_job_registered_model_name='income_prediction_model')


    for which I am getting below error:

    ValidationException: Component function doesn't support positional arguments, got (<azure.ai.ml.entities._job.pipeline._io.base.PipelineInput object at 0x7f3b42663e50>, <azure.ai.ml.entities._job.pipeline._io.base.PipelineInput object at 0x7f3b426635b0>) for data_prep_income_prediction. Please use keyword arguments like: component_func(data=xxx, test_train_ratio=xxx).

    It talks about positional argument in data_pre_income_prediction. This is how the code looks like:

    from azure.ai.ml import command, Input, Output

    data_prep_component = command(name='data_prep_income_prediction',
    description='data preparation step for income prediction model pipeline',
    display_name='Data Preparation',
    inputs={
    'data' : Input(type='uri_folder'),
    'test_train_ratio' : Input(type='number')
    },
    outputs={
    'train_data' : Output(type='uri_folder', mode='rw_mount'),
    'test_data' : Output(type='uri_folder', mode='rw_mount')
    },
    # Source folder of the component
    code=data_prep_folder,
    command='''python data_prep.py \
    --data ${{inputs.data}}) --test_train_ratio ${{inputs.test_train_ratio}} \
    --train_data ${{outputs.train_data}} --test_data ${{outputs.test_data}}''',
    environment=f"{pipeline_job_env.name}:{pipeline_job_env.version}")


    can someone please let me know where I am going wrong.

    Continue reading...

Compartilhe esta Página