ai-center
2020.10
false
UiPath logo, featuring letters U and I in white
AI Center
Automation CloudAutomation SuiteStandalone
Last updated 6 de jun. de 2024

Procesos de entrenamiento

Se utiliza un proceso de entrenamiento para entrenar un nuevo modelo de aprendizaje automático. Para utilizar este proceso, el paquete debe contener código para entrenar un modelo (la función train() en el archivo train.py) y código para mantener un modelo recién entrenado (la función save() en el archivo train.py). Estos, junto con un conjunto de datos o una subcarpeta dentro de un conjunto de datos, generan una nueva versión de paquete.

Crear procesos de entrenamiento

Crea un nuevo proceso de entrenamiento como se describe aquí. Asegúrate de proporcionar la siguiente información específica del proceso de entrenamiento:

  • En el campo Tipo de proceso, selecciona Ejecución de entrenamiento.
  • En el campo Elegir conjunto de datos de input, selecciona un conjunto de datos o una carpeta desde la que quieres importar datos para el entrenamiento. Todos los archivos en este conjunto de datos/carpeta deben estar disponibles localmente durante el tiempo de ejecución del proceso, ya que se transmiten al primer argumento de tu función train() (es decir, la ruta a los datos montados se transferirá a la variable data_directory en la definición train(self, data_directory)).
  • En la sección Introducir parámetros, escribe las variables de entorno definidas y utilizadas por tu proceso, si las hubiera. Las variables de entorno que se establecen de forma predeterminada son las siguientes:
    • artifacts_directory, con artefactos de valor predeterminado: define la ruta a un directorio que se mantiene como datos auxiliares relacionados con este proceso. La mayoría, si no todos los usuarios, nunca tendrá la necesidad de anular esto a través de la IU. Todo lo que puede guardarse durante la ejecución del proceso, incluidas imágenes, pdfs y subcarpetas. En concreto, cualquier dato que escriba tu código en el directorio especificado por la ruta os.environ['artifacts_directory'] se cargará al final de la ejecución del proceso y se podrá ver desde la página Detalles del proceso.
    • save_training_data, con el valor predeterminado false: si se establece en true, la carpeta seleccionada en Choose input dataset se cargará al final de la ejecución del proceso como un output del proceso en el directorio data_directory.

      Mira el siguiente vídeo para obtener más información sobre cómo crear un proceso de entrenamiento:



Resultados de la ejecución de un proceso de entrenamiento

Aviso: La ejecución del proceso puede tardar algún tiempo. Échale un vistazo después de un tiempo para ver su estado.

Una vez ejecutado el proceso, habrá una nueva versión secundaria del paquete disponible, y esta se muestra en la página Paquetes ML > [Nombre del paquete]. En nuestro ejemplo, esta es la versión del paquete 1.1.

En la página Procesos, el estado del proceso cambió a Con éxito. La página Detalles del proceso muestra los archivos y carpetas arbitrarios relacionados con la ejecución del proceso. En nuestro ejemplo, la ejecución creó un archivo llamado my-training-artifact.txt.


Analogía conceptual para crear tus propios procesos de entrenamiento

Aquí se muestra una ejecución conceptualmente analógica de un proceso de entrenamiento en un paquete; por ejemplo, la versión 1.0.

Importante: Este es un ejemplo simplificado. Su propósito es ilustrar cómo los conjuntos de datos y los paquetes interactúan en un proceso de entrenamiento. Los pasos son meramente conceptuales y no representan cómo funciona la plataforma.
  1. Copia la versión 1.0 del paquete en ~/mlpackage.
  2. Copia el conjunto de datos de input o la subcarpeta del conjunto de datos seleccionada desde la IU a ~/mlpackage/data.
  3. Ejecuta el siguiente código python:
    from train import Main 
    m = Main() 
    m.train(./data’) 
    m.save()from train import Main 
    m = Main() 
    m.train(‘./data’) 
    m.save()
  4. Mantén el contenido de ~/mlpackage como versión del paquete 1.1. Mantén los artefactos si se escriben, haz una instantánea de los datos si save_data está establecido en true.

Outputs de un proceso

El archivo _results.json contiene un resumen de la ejecución del proceso y expone todas los inputs/outputs y los tiempos de ejecución para un proceso de entrenamiento.
{
    "parameters": {
        "pipeline": "< Pipeline_name >",
        "inputs": {
            "package": "<Package_name>",
            "version": "<version_number>",
            "train_data": "<storage_directory>",
            "gpu": "True/False"
        },
        "env": {
            "key": "value",
            ...
        }
    },
    "run_summary": {
     "execution_time": <time>, #in seconds 
     "start_at": <timestamp>, #in seconds 
     "end_at": <timestamp>, #in seconds 
     "outputs": {
        "train_data": "<test_storage_directory>", 
        "artifacts_data": "<artifacts_storage_directory>", 
        "package": "<Package_name>",
        "version": "<new_version>"
            }
    }
}{
    "parameters": {
        "pipeline": "< Pipeline_name >",
        "inputs": {
            "package": "<Package_name>",
            "version": "<version_number>",
            "train_data": "<storage_directory>",
            "gpu": "True/False"
        },
        "env": {
            "key": "value",
            ...
        }
    },
    "run_summary": {
     "execution_time": <time>, #in seconds 
     "start_at": <timestamp>, #in seconds 
     "end_at": <timestamp>, #in seconds 
     "outputs": {
        "train_data": "<test_storage_directory>", 
        "artifacts_data": "<artifacts_storage_directory>", 
        "package": "<Package_name>",
        "version": "<new_version>"
            }
    }
}

El archivo .zip del paquete ML es la nueva versión del paquete generada automáticamente por el proceso de entrenamiento.

La carpeta Artefactos, visible solo si no está vacía, es una carpeta que reagrupa todos los artefactos generados por el proceso y se guardan en la carpeta artifacts_directory.
La carpeta Conjunto de datos, existente solo si save_data se estableció en el valor true predeterminado, es una copia de la carpeta del conjunto de datos de input.

Control del modelo

El control en el aprendizaje automático es algo para lo que muy pocas empresas están preparadas. Al permitir que cada modelo tome una instantánea de los datos en los que se entrenó, AI Fabric permite a las empresas tener la trazabilidad de los datos.

Prácticamente, puedes obtener una instantánea de los datos de input si transmites el parámetro save_training_data = true, que realiza una instantánea de los datos que se transmiten como input. A partir de ahí, un usuario siempre puede ir a la página Detalles del proceso correspondiente para ver exactamente qué datos se utilizaron en el momento del entrenamiento.

¿Te ha resultado útil esta página?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Uipath Logo White
Confianza y seguridad
© 2005-2024 UiPath. Todos los derechos reservados.