Skip to content

Latest commit

 

History

History
152 lines (109 loc) · 5.24 KB

File metadata and controls

152 lines (109 loc) · 5.24 KB




Sinapsis Framework Converter: Conversión de marcos de trabajo

Plantillas para la conversión entre marcos de trabajo de aprendizaje profundo.

🐍 Instalación🚀 Características 📙 Documentación🔍 Licencia

El sinapsis-framework-converter módulo permite la conversión entre algunos de los marcos de trabajo de aprendizaje profundo más populares en la comunidad:

  • Keras -> Tensorflow
  • Tensorflow -> ONNX*
  • Pytorch -> TensorRT*
  • Pytorch -> ONNX*
  • ONNX -> Propiedad TensorRT

🐍 Instalación

Note

Las plantillas basadas en CUDA en Sinapsis-framework-converter requieren que la versión de controlador NVIDIA sea 550 o superior.

Instala el administrador de tu paquete de elección. Alentamos el uso de uv

Ejemplo con uv:

uv pip install sinapsis-framework-converter --extra-index-url https://pypi.sinapsis.tech

o con solo pip:

pip install sinapsis-framework-converter --extra-index-url https://pypi.sinapsis.tech

Important

Las plantillas en cada paquete pueden requerir dependencias adicionales. Para el desarrollo, recomendamos instalar el paquete con todas las dependencias opcionales:

Ejemplo con uv:

uv pip install sinapsis-framework-converter[all] --extra-index-url https://pypi.sinapsis.tech

o con solo pip:

pip install sinapsis-framework-converter[all] --extra-index-url https://pypi.sinapsis.tech

Important

Para habilitar Tensorflow con soporte cuda por favor instala tensorflow como sigue:

uv pip install tensorflow[and-cuda]==2.18.0

o

pip install tensorflow[and-cuda]==2.18.0

🚀 Características

Plantillas soportadas

El Sinapsis Framework Converter El módulo proporciona múltiples plantillas para la conversión del marco de aprendizaje profundo.

  • KerasTensorFlowConverter: Convierte los modelos Keras en TensorFlow.
  • ONNXTRTConverter: Convierte modelos ONNX en TensorRT.
  • TensorFlowONNXConverter: Convertir Tensor Modelos de flujo a ONNX.
  • TorchONNXConverter: Convierte modelos PyTorch a ONNX.
  • TorchTRTConverter: Convertir modelos PyTorch en TensorRT.
Ejemplo de uso

El siguiente ejemplo demuestra cómo utilizar la plantilla TorchONNXConverter para convertir un modelo PyTorch al formato ONNX. La configuración establece un agente con las plantillas necesarias para cargar un modelo, convertirlo y almacenar el archivo convertido. A continuación se encuentra la configuración completa de YAML, seguida de un desglose de cada componente.

agent:
  name: conversion_agent

templates:
- template_name: InputTemplate
  class_name: InputTemplate
  attributes: {}

- template_name: TorchONNXConverter
  class_name: TorchONNXConverter
  template_input: InputTemplate
  attributes:
    model_name: resnet50
    save_model_path: true
    force_compilation: true
    opset_version: 12
    height: 224
    width: 224

Esta configuración define un Agente y una secuencia de plantillas para realizar la conversión de modelo.

  1. Manejo de entrada (InputTemplate): Esto sirve como plantilla inicial.
  2. Conversión modelo (TorchONNXConverter):
    • Carga un modelo PyTorch (por ejemplo, resnet50) y lo convierte en formato ONNX. La plantilla:
    • Usa el atributo model_name para especificar qué modelo PyTorch para convertir.
    • Aplica el opset_version atributo para definir la versión de configuración del operador ONNX (por ejemplo, 12).
    • Ajusta las dimensiones del tensor de entrada utilizando height y **width **.
    • Habilita force_compilation para asegurar que el modelo se recompile si es necesario.
  3. Guardar modelo convertido: El atributo save_model_path se establece true, asegurando que la salida del modelo ONNX se guarda en el contenedor de datos.

📙 Documentación

La documentación está disponible en el sitio web de sinapsis

Los tutoriales para diferentes proyectos dentro de sinapsis están disponibles en la página de tutoriales de sinapsis

🔍 Licencia

Este proyecto está licenciado bajo la licencia AGPLv3, que fomenta la colaboración abierta y el intercambio. Para más detalles, consulta el LICENSE archivo.

Para uso comercial, consulta nuestra página Sitio web de Sinapsis para información sobre la obtención de una licencia comercial.