🐍 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
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.techo con solo pip:
pip install sinapsis-framework-converter --extra-index-url https://pypi.sinapsis.techImportant
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.techo con solo pip:
pip install sinapsis-framework-converter[all] --extra-index-url https://pypi.sinapsis.techImportant
Para habilitar Tensorflow con soporte cuda por favor instala tensorflow como sigue:
uv pip install tensorflow[and-cuda]==2.18.0o
pip install tensorflow[and-cuda]==2.18.0El 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: 224Esta configuración define un Agente y una secuencia de plantillas para realizar la conversión de modelo.
- Manejo de entrada (
InputTemplate): Esto sirve como plantilla inicial. - Conversión modelo (
TorchONNXConverter):- Carga un modelo PyTorch (por ejemplo,
resnet50) y lo convierte en formato ONNX. La plantilla: - Usa el atributo
model_namepara especificar qué modelo PyTorch para convertir. - Aplica el
opset_versionatributo para definir la versión de configuración del operador ONNX (por ejemplo,12). - Ajusta las dimensiones del tensor de entrada utilizando
heighty **width**. - Habilita
force_compilationpara asegurar que el modelo se recompile si es necesario.
- Carga un modelo PyTorch (por ejemplo,
- Guardar modelo convertido: El atributo
save_model_pathse establecetrue, asegurando que la salida del modelo ONNX se guarda en el contenedor de datos.
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
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.