es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Importando módulos de Python3 con argumentos de línea de comandos.

Tengo un archivo train.py sin una clase, solo una lista de funciones. Al principio, después de las declaraciones de importación, hay líneas:

parser = argparse.ArgumentParser(description='Entrenamiento de Imagenet de PyTorch')

parser.add_argument('data', metavar='DIR',
                    help='ruta al conjunto de datos')
parser.add_argument('--model-dir', type=str, default='', 
    help='ruta al directorio de salida deseado para guardar los checkpoints del modelo (por defecto: directorio actual)')
parser.add_argument('-a', '--arch', metavar='ARCH', default='resnet18',
                    choices=model_names,
                    help='arquitectura del modelo: ' +
                        ' | '.join(model_names) +
                        ' (por defecto: resnet18)')

Coloqué este archivo en la carpeta del segundo archivo py, app.py, y quiero ejecutarlo desde app.py.

import train as train

Por lo general, train.py se llama desde la línea de comando como:

train.py --model-dir="sdcsdc" --batch-size=333 .... ruta_al_folder_de_datos

Pero debo llamar a este archivo desde app.py. ¿Cómo puedo importar este archivo train.py y establecer los argumentos dentro de app.py?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para importar el archivo train.py y establecer los argumentos dentro de app.py, puede seguir estos pasos:

    1. Importe el módulo argparse:
    import argparse
    
    1. Defina un objeto ArgumentParser y agregue los argumentos necesarios:
    parser = argparse.ArgumentParser(description='PyTorch Entrenamiento de ImagenNet')
    parser.add_argument('data', metavar='DIR', help='ruta al conjunto de datos')
    parser.add_argument('--model-dir', type=str, default='', help='ruta al directorio de salida deseado para guardar los puntos de control del modelo (por defecto: directorio actual)')
    parser.add_argument('-a', '--arch', metavar='ARCH', default='resnet18', choices=model_names, help='arquitectura del modelo: ' + ' | '.join(model_names) + ' (por defecto: resnet18)')
    
    1. Analice los argumentos:
    args = parser.parse_args()
    
    1. Importe el archivo train.py utilizando el siguiente comando:
    import train
    
    1. Llame a las funciones de train.py y pase los argumentos analizados según sea necesario:
    train.nombre_funcion(args.data, args.model_dir, args.arch)
    

    Sustituya ‘nombre_funcion’ por el nombre de la función que desea llamar desde train.py.

    Con estos pasos, puede importar train.py y establecer los argumentos necesarios en app.py.

Comments are closed.