Guía rápida

MATLAB con Python para inteligencia artificial

Aprenda a integrar MATLAB con PyTorch y TensorFlow, y a usar LLM en flujos de trabajo de IA.

Esta es una guía de referencia para combinar MATLAB y modelos basados en Python® en flujos de trabajo de inteligencia artificial (IA). Descubra cómo convertir entre MATLAB, PyTorch® y TensorFlow™ con Deep Learning Toolbox.

La integración de MATLAB con PyTorch y TensorFlow permite:

  • Facilitar la colaboración entre plataformas y equipos de trabajo
  • Probar el rendimiento de modelos y la integración de sistemas
  • Acceder a herramientas de MATLAB y Simulink para diseñar sistemas de ingeniería
Diagrama de flujo de conversión.

Conversión entre MATLAB, PyTorch y TensorFlow

Con Deep Learning Toolbox y MATLAB, puede acceder a modelos previamente entrenados y diseñar todo tipo de redes neuronales profundas. Pero no todo el personal especializado en IA trabaja con MATLAB. Para facilitar la colaboración entre plataformas y equipos de trabajo durante el diseño de sistemas basados en IA, puede integrar Deep Learning Toolbox con PyTorch y TensorFlow.

Por qué importar modelos de PyTorch y TensorFlow en MATLAB

Cuando convierte un modelo de PyTorch o TensorFlow a una red de MATLAB, puede utilizar la red convertida con todas las funciones y apps de IA integradas en MATLAB, para transferencia del aprendizaje, IA explicable y verificación, simulación y pruebas en nivel de sistema, compresión de red y generación automática de código para la implementación en dispositivos objetivos.

Prepare modelos de PyTorch y TensorFlow para importarlos

Antes de importar modelos de PyTorch y TensorFlow en MATLAB, debe prepararlos y guardarlos con el formato adecuado. Puede utilizar el siguiente código en Python para preparar los modelos.

El importador de PyTorch espera un modelo de PyTorch trazado. Después de trazar el modelo de PyTorch, guárdelo. Para obtener más información sobre cómo trazar un modelo de PyTorch, consulte la documentación de Torch: Trazado de una función.

X = torch.rand(1,3,224,224)
traced_model = torch.jit.trace(model.forward,X)
traced_model.save("torch_model.pt")

El modelo de TensorFlow se debe guardar con el formato SavedModel.

model.save("myModelTF")

Cómo importar modelos de PyTorch y TensorFlow

Diagrama que muestra cómo integrar PyTorch y TensorFlow en MATLAB.

Puede importar modelos desde PyTorch y TensorFlow en MATLAB, y convertirlos en redes de MATLAB con una sola línea de código.

Utilice la función importNetworkFromPyTorch y especifique PyTorchInputSizes con el tamaño de entrada adecuado para el modelo de PyTorch específico. Esto permite que la función cree una capa de entrada de imagen para la red importada, ya que los modelos de PyTorch no tienen capas de entrada de manera inherente. Para obtener más información, consulte Sugerencias sobre importación de modelos desde PyTorch y TensorFlow.

net = importNetworkFromPyTorch("mnasnet1_0.pt",PyTorchInputSizes=[NaN,3,224,224])

Para importar una red desde TensorFlow, utilice la función importNetworkFromTensorFlow.

Importe modelos de PyTorch y TensorFlow de manera interactiva

Puede importar modelos desde PyTorch de manera interactiva con la app Deep Network Designer. Después, puede ver, editar y analizar la red importada desde la app. Incluso puede exportar la red directamente a Simulink desde la app.

Cómo exportar modelos desde MATLAB a PyTorch y TensorFlow

Diagrama que muestra cómo exportar modelos desde MATLAB a PyTorch, ONNX y TensorFlow.

Puede exportar y compartir redes de MATLAB a TensorFlow y PyTorch. Utilice exportNetworkToTensorFlow para exportar directamente a TensorFlow, y la función exportONNXNetwork para exportar a PyTorch a través de ONNX™.

exportNetworkToTensorFlow(net,"myModel")

Pruébelo en el navegador

Importe un modelo de TensorFlow y explique la predicción.

LIME (pavo real).

Coejecute modelos basados en Python desde MATLAB y Simulink

Utilice modelos de IA basados en Python directamente en un flujo de trabajo de MATLAB o sistema de Simulink para probar el rendimiento de modelos y la integración de sistemas.

Comparación: Coejecución frente a conversión de modelos

Primero, compare la coejecución de un modelo de PyTorch o TensorFlow en un entorno de MATLAB con la conversión del modelo de plataforma externa en una red de MATLAB para decidir qué flujo de trabajo se adapta mejor a la tarea.

 

Coejecución

Conversión de modelos

Funciona con todos los modelos de PyTorch y TensorFlow

No

Simulación de un modelo en Simulink

Generación automática de código

No

Aplicación de técnicas de explicabilidad

Solo para detección de objetos

Verificación de solidez y fiabilidad

No

Uso de apps de IA de low-code

No

Compresión de red

No

Coejecute modelos basados en Python desde MATLAB

Llame a modelos de PyTorch y TensorFlow, o a código de Python, directamente desde MATLAB. Esto permite comparar modelos basados en Python, por ejemplo, para buscar el modelo que ofrezca la mayor precisión, como parte del flujo de trabajo de IA que haya creado en MATLAB.

Diagrama que muestra cómo llamar a modelos de PyTorch y TensorFlow, o a código de Python, directamente desde MATLAB.

Coejecute modelos basados en Python desde Simulink

Simule y pruebe modelos de Python personalizados y de PyTorch, TensorFlow y ONNX en sistemas utilizando los bloques de coejecución de Simulink. Esto permite realizar iteraciones de diseños, evaluar el comportamiento de modelos, y probar el rendimiento de sistemas.

Diagrama que muestra cómo simular y probar modelos de Python personalizados y de PyTorch, TensorFlow y ONNX en sistemas utilizando los bloques de coejecución de Simulink.

Por qué utilizar Simulink para modelos de IA

Combinar IA con diseño basado en modelos, además de probar la integración de modelos de Deep Learning en sistemas de mayor tamaño, permite acelerar y mejorar el diseño de sistemas complejos para aplicaciones de diseño de sensores virtuales.

Detección de vehículos y carriles en Simulink con Deep Learning

Llamada a MATLAB desde Python

Diagrama que muestra una llamada a MATLAB desde Python.

Otra opción para combinar MATLAB con Python para un flujo de trabajo de IA es llamar a MATLAB desde un entorno de Python. Explore esta opción para preparar datos antes de introducirlos en un modelo basado en Python con herramientas específicas del dominio de MATLAB, o llamar a herramientas de IA de MATLAB para visualizar e interpretar las decisiones de un modelo de IA basado en Python.

Abra un repositorio en MATLAB Online

Puede trabajar con LLM en MATLAB Online. Los repositorios de File Exchange y GitHub® con código de MATLAB disponen del botón Open in MATLAB Online. Si hace clic en el botón, el repositorio se abre directamente en MATLAB Online.


Acceso a LLM desde MATLAB

Puede acceder a modelos de lenguaje de gran tamaño (LLM) populares, como gpt-4, llama3 y mixtral, desde MATLAB a través de una API, o instalarlos localmente. Después, puede utilizar su modelo preferido para generar texto. Alternativamente, puede utilizar un modelo BERT previamente entrenado, que se incluye en MATLAB.

LLM para procesamiento del lenguaje natural

Los LLM han revolucionado el procesamiento del lenguaje natural (PLN), ya que pueden captar relaciones complejas entre palabras y matices propios del lenguaje humano. Utilizar un LLM desde MATLAB es solo parte de la cadena de tareas de PLN (consulte IA de MATLAB para PLN). Aproveche las herramientas de MATLAB para desarrollar la cadena de tareas completa. Por ejemplo, puede utilizar funciones de Text Analytics Toolbox para acceder a datos de texto y prepararlos.

Flujo de trabajo del procesamiento del lenguaje natural.

Cadena de tareas de procesamiento del lenguaje natural.

Repositorio: LLM con MATLAB

Puede conectar MATLAB a OpenAI® Chat Completions API (que impulsa ChatGPT™), Ollama™ (para LLM locales) y servicios Azure® OpenAI utilizando los LLM con repositorio de MATLAB.

Acceda a LLM a través de la API de OpenAI

Sirviéndose del código del repositorio, puede interactuar con la API de OpenAI desde un entorno de MATLAB y utilizar modelos (GPT-4 y GPT-4 Turbo) para varias tareas de PLN, como crear un chatbot propio y realizar análisis de sentimientos. Para interactuar con la API de OpenAI, debe obtener una clave de API de OpenAI. Para obtener más información sobre claves y tarifas, consulte OpenAI API.

Consulta de usuarios que pasa por un chatbot para generar una respuesta.

Creación de un chatbot.

Acceda a LMM a través de Azure OpenAI Service

Para utilizar Azure OpenAI Service, primero debe desplegar un modelo en su cuenta de Azure y obtener una clave. Azure OpenAI desarrolla las API conjuntamente con OpenAI e incorpora las prestaciones de seguridad de Microsoft® Azure. Los LLM con el repositorio de MATLAB ofrecen código para conectarse a Azure OpenAI Service desde MATLAB.

Acceda a LLM locales a través de Ollama

Puede acceder a LLM locales populares, como llama3, mistral y gemma, empleando el código del repositorio y conectando MATLAB a un servidor de Ollama local. Puede utilizar LLM locales para tareas de PLN, como generación aumentada con recuperación (RAG), que puede mejorar la precisión del LLM empleando sus propios datos.

Flujo de trabajo de generación aumentada con recuperación.

Flujo de trabajo de generación aumentada con recuperación.

Pruébelo en el navegador

Cree un chatbot sencillo con MATLAB y la API de OpenAI.


Navegación de panel

Tutorial

Deep Learning Onramp

Aprenda los conceptos básicos de Deep Learning para problemas de clasificación de imágenes en MATLAB