Hydra erlaubt kein Befehlszeilenskript in Azure MLPython

Python-Programme
Anonymous
 Hydra erlaubt kein Befehlszeilenskript in Azure ML

Post by Anonymous »

Ich versuche, Daten von einer Komponente in die nächste in Azure ML -Pipeline zu übergeben.
Ich kann es in einem einfachen Code tun. und ich definiere sie wie unten: < /p>

Code: Select all

components_dir = "."
prep = load_component(source=f"{components_dir}/preprocessing_config.yml")
middle = load_component(source=f"{components_dir}/middle_config.yml")
< /code>
Dann definiere ich eine Pipeline wie unten: < /p>
@pipeline(
display_name="test_pipeline3",
tags={"authoring": "sdk"},
description="test pipeline to test things just like all other test pipelines."
)
def data_pipeline(
# raw_data: Input,
compute_train_node: str,
):

prep_node = prep()

prep_node.outputs.Y_df= Output(type="uri_folder", mode = 'rw_mount', path="path/testing/")
prep_node.outputs.S_df= Output(type="uri_folder", mode = 'rw_mount', path="path/testing/")

transform_node = middle(Y_df=prep_node.outputs.Y_df,
S_df=prep_node.outputs.S_df)
< /code>
Der Prep -Knoten verfügt über ein Skript, an dem Hydra in die Parameter aus einer Konfigurationsdatei gelangt. Dieses Skript hat auch eine Konfigurationsdatei, die das Skript in die Befehlszeile unten wie unten kickt: < /p>
  python preprocessing_script.py
--Y_df ${{outputs.Y_df}}
--S_df ${{outputs.S_df}}
< /code>
Ich versuche, die Werte von y_df.path und s_df.path in der Hauptfunktion des Vorbereitungsskripts wie unten zu erhalten: < /p>
@hydra.main(version_base=None, config_path=".", config_name="config_file")
def main(cfg: DictConfig):

parser = argparse.ArgumentParser("prep")
parser.add_argument("--Y_df", type=str, help="Path of prepped data")
parser.add_argument("--S_df", type=str, help="Path of prepped data")
args = parser.parse_args()

# Call the preprocessing function with Hydra configurations
df1,df2 = processing_func(cfg.data_name,cfg.prod_filter)
df1.to_csv(Path(cfg.Y_df) / "Y_df.csv")
df2.to_csv(Path(cfg.S_df) / "S_df.csv")
< /code>
Wenn ich all dies ausführe, erhalte ich einen Fehler in der Vorbereitungskomponente selbst: < /p>
Execution failed. User process 'python' exited with status code 2. Please check log file 'user_logs/std_log.txt' for error details. Error: /bin/bash: /azureml-envs/azureml_bbh34278yrnrfuehn78340/lib/libtinfo.so.6: no version information available (required by /bin/bash)
usage: data_processing.py [--help] [--hydra-help] [--version]
[--cfg {job,hydra,all}] [--resolve]
[--package PACKAGE] [--run] [--multirun]
[--shell-completion] [--config-path CONFIG_PATH]
[--config-name CONFIG_NAME]
[--config-dir CONFIG_DIR]
[--experimental-rerun EXPERIMENTAL_RERUN]
[--info [{all,config,defaults,defaults-tree,plugins,searchpath}]]
[overrides ...]
data_processing.py: error: unrecognized arguments: --Y_df --S_df /mnt/azureml/cr/j/ffyh7fs984ryn8f733ff3/cap/data-capability/wd/S_df
< /code>
Der Code wird gut ausgeführt und die Daten werden zwischen den Komponenten übertragen, wenn keine Hydra beteiligt ist. Wenn jedoch Hydra beteiligt ist, erhalte ich diesen Fehler. Warum ist das so?$schema: https://azuremlschemas.azureedge.net/latest/commandComponent.schema.json
type: command

name: preprocessing24
display_name: preprocessing24

outputs:
Y_df:
type: uri_folder

S_df:
type: uri_folder

code: ./preprocessing_final

environment: azureml:datapipeline-environment:4

command: >-
python data_processing.py
< /code>
Die Konfigurationsdatei Datenvorverarbeitung enthält nur eine Reihe von Variablen, aber ich habe 2 weitere hinzugefügt, die: < /p>
Y_df:
random_txt

S_df:
random_txt
Die Hauptfunktion des Datenverarbeitungsskripts wird oben erwähnt.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post