# Entrenamiento

Entrenamiento significa tanto inferencia como entrenamiento, lo cual extiende la funcionalidad del tiempo de ejecución permitiendo también a los usuarios configurar, agregar, quitar y entrenar herramientas a través de la DLL de ViDi.

Pros | Contras
--- | ---
Puede reentrenar | Más difícil de integrar Los parámetros no están congelados El control de versiones está expuesto al usuario

Las aplicaciones para implementar el entrenamiento son las siguientes:

- Cuando los operadores necesitan, a menudo, adaptar las herramientas e importar y exportar supone un escollo difícil.
- Cuando un integrador quiere utilizar su propio ecosistema para entrenar y no depender de otra aplicación.

Lenguaje de programación | Métodos
--- | ---
.NET | namespace Training
C | vidi_* vidi_training_*

###### Ejemplos

Lenguaje de programación | Ejemplos
--- | ---
.NET | Example.Training.Console
Example.Training.GUI
C | Example.Cpp.Training.Blue
Example.Cpp.Training.Red

###### Inferencia

Su aplicación de visión se encarga de lo siguiente:

- Reserva una carpeta del disco duro para operar ViDi
- Adquiere imágenes
- Transmite las imágenes a la aplicación ViDi
- Interpreta los resultados y actuar en consecuencia
- Proporciona feedback al usuario

La DLL de ViDi se encarga de lo siguiente:

- Administra la GPU
- Recupera una imagen (a través de la memoria o del disco duro) y devolver una cadena XML

- Carga un espacio de trabajo desde una carpeta o un archivo dado

  Nota: Un contenedor .NET proporciona elementos de UI que implementan esas tareas.

###### Entrenamiento

Su aplicación de visión se encarga de lo siguiente:

- Reserva una carpeta del disco duro para operar ViDi
- Expone todos los parámetros de la herramienta de ViDi para reentrenar las herramientas
- Maneja las versiones de espacio de trabajo
- Proporciona feedback al usuario a través de un resumen de base de datos

Nota: Un contenedor .NET proporciona elementos de UI que implementan esas tareas.