Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

215
Visualizações
¿Cómo pasar archivos de dependencia a sagemaker SKLearnProcessor y usarlos en Pipeline?

Necesito importar la función de diferentes scripts de python, que se usarán dentro del archivo preprocessing.py . No pude encontrar una manera de pasar los archivos dependientes al objeto SKLearnProcessor , por lo que ModuleNotFoundError .

Código:

 from sagemaker.sklearn.processing import SKLearnProcessor from sagemaker.processing import ProcessingInput, ProcessingOutput sklearn_processor = SKLearnProcessor(framework_version='0.20.0', role=role, instance_type='ml.m5.xlarge', instance_count=1) sklearn_processor.run(code='preprocessing.py', inputs=[ProcessingInput( source=input_data, destination='/opt/ml/processing/input')], outputs=[ProcessingOutput(output_name='train_data', source='/opt/ml/processing/train'), ProcessingOutput(output_name='test_data', source='/opt/ml/processing/test')], arguments=['--train-test-split-ratio', '0.2'] )

Me gustaría pasar, dependent_files = ['file1.py', 'file2.py', 'requirements.txt'] . Entonces, ese preprocessing.py tiene acceso a todos los módulos dependientes.

Y también necesita instalar bibliotecas desde el archivo requirements.txt .

¿Puede compartir algún trabajo o una forma correcta de hacer esto?

Actualización-25-11-2021:

Q1. (Respondido pero buscando resolver usando FrameworkProcessor )

Aquí , la función get_run_args maneja dependencies , source_dir y parámetros de code mediante FrameworkProcessor . ¿Hay alguna forma de que podamos configurar estos parámetros desde ScriptProcessor o SKLearnProcessor o cualquier otro Processor para configurarlos?

Q2.

¿Puede también mostrar alguna referencia para usar nuestro Processor como sagemaker.workflow.steps.ProcessingStep y luego usarlo en sagemaker.workflow.pipeline.Pipeline ?

Para tener Pipeline , ¿necesitamos sagemaker-project como obligatorio o podemos crear Pipeline directamente sin ningún Sagemaker-Project ?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Esto no es compatible con SKLearnProcessor. Debería empaquetar sus dependencias en la imagen de la ventana acoplable y crear un Processor personalizado (por ejemplo, un ScriptProcessor con el image_uri de la imagen de la ventana acoplable que creó).

over 4 years ago · Santiago Trujillo Relatório

0

Hay un par de opciones para que lo logres.

Uno que es realmente simple es agregar todos los archivos adicionales a una carpeta, por ejemplo:

 . ├── my_package │  ├── file1.py │  ├── file2.py │  └── requirements.txt └── preprocessing.py

Luego envíe esta carpeta completa como otra entrada bajo el mismo /opt/ml/processing/input/code/ , ejemplo:

 from sagemaker.sklearn.processing import SKLearnProcessor from sagemaker.processing import ProcessingInput, ProcessingOutput sklearn_processor = SKLearnProcessor( framework_version="0.20.0", role=role, instance_type="ml.m5.xlarge", instance_count=1, ) sklearn_processor.run( code="preprocessing.py", # <- this gets uploaded as /opt/ml/processing/input/code/preprocessing.py inputs=[ ProcessingInput(source=input_data, destination='/opt/ml/processing/input'), # Send my_package as /opt/ml/processing/input/code/my_package/ ProcessingInput(source='my_package/', destination="/opt/ml/processing/input/code/my_package/") ], outputs=[ ProcessingOutput(output_name="train_data", source="/opt/ml/processing/train"), ProcessingOutput(output_name="test_data", source="/opt/ml/processing/test"), ], arguments=["--train-test-split-ratio", "0.2"], )

Lo que sucede es que sagemaker-python-sdk colocará su argumento code="preprocessing.py" en /opt/ml/processing/input/code/ y tendrá my_package/ en el mismo directorio.

Editar:

Para los requirements.txt , puede agregar a su preprocessing.py :

 import sys import subprocess subprocess.check_call([ sys.executable, "-m", "pip", "install", "-r", "/opt/ml/processing/input/code/my_package/requirements.txt", ])
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda