Objetivo
El complemento Torch Deep Learning para JMP® Pro proporciona una interfaz sin código para la popular biblioteca Torch para modelado predictivo con redes neuronales profundas. El complemento le permite entrenar e implementar modelos predictivos que utilizan imágenes, texto o características tabulares como entradas para predecir objetivos binarios, continuos o nominales.
Características clave
- Acceso a una amplia variedad de modelos previamente entrenados para datos de imágenes y texto que pueden ajustarse o entrenarse desde cero.
- Realizar clasificación o regresión de imágenes o textos.
- Capacidad para personalizar redes profundas para datos tabulares, así como opciones para diseñar sus propias redes neuronales convolucionales personalizadas para series temporales y datos de imágenes.
- Una gran cantidad de opciones avanzadas para facilitar la creación, evaluación y comparación de modelos.
- Validación cruzada repetida de k veces con predicciones fuera de pliegue, además de una rutina separada para crear columnas de validación de k veces optimizadas
- Capacidad para ajustar múltiples respuestas Y con diferentes tipos de modelado en un modelo
- Salidas gráficas y tabulares detalladas e interactivas
- Interfaz de comparación de modelos
- Perfilado de redes neuronales tabulares, lo que ayuda a la interpretabilidad
- Cálculo rápido en una GPU NVIDIA, si está disponible, en Windows
Instalación
Debes tener una versión autorizada de JMP Pro 18 o posterior. Descargue TorchDeepLearning.jmpaddin desde el enlace de esta ventana en la parte superior derecha. Inicie JMP Pro, abra TorchDeepLearning.jmpaddin y haga clic en Sí para instalar. El complemento instalado se ubica en el menú superior Complementos ( Complementos > Torch Deep Learning ).
El complemento se basa en una gran colección de bibliotecas dinámicas precompiladas y modelos de Torch previamente entrenados que no se incluyen en el complemento después de la instalación inicial. Tras el primer inicio de la plataforma de complementos principal (seleccionando Complementos > Torch Deep Learning > Torch Deep Learning ), se descargará y descomprimirá una serie adicional de archivos grandes (aproximadamente 4 GB en total). Las descargas incluyen bibliotecas compiladas con CUDA si está en Windows y la descarga y extracción total de estos archivos puede tardar varios minutos o más dependiendo de la velocidad de su conexión web. Tenga paciencia y deje que se descarguen al 100% y descomprímalos por completo. Todos los archivos descargados y extraídos se colocan debajo del directorio de inicio del complemento (haga clic en Ver > Complementos, seleccione TorchDeepLearning y luego haga clic en el enlace Carpeta de inicio ).
Requisitos del sistema
Este complemento funciona solo con JMP® Pro versión 18. Para conjuntos de datos más pequeños, los requisitos mínimos de JMP® Pro deberían ser suficientes; sin embargo, para modelar conjuntos de datos de tamaño mediano a grande, incluidos aquellos con una gran cantidad de imágenes o textos no estructurados, se recomienda tener al menos 32 GB de RAM de CPU y un disco duro de estado sólido rápido con almacenamiento generoso ( por ejemplo, 1 TB) para manejar la cantidad de datos y parámetros que normalmente se generan para el modelado de redes neuronales profundas.
Si tiene una máquina Windows con una GPU NVIDA, se proporcionan más detalles sobre la configuración del procesamiento de GPU en la documentación del complemento Torch ( Complementos > Aprendizaje profundo de Torch > Ayuda ). En MacOS, las arquitecturas Intel x86_x64 y Apple Silicon arm64 (M1 M2 y M3) son compatibles y deben detectarse automáticamente.
Cómo usarlo
Después de instalar el complemento en JMP Pro:
- Abra una tabla JMP que contenga una variable de destino Y para predecir junto con imágenes, texto o características tabulares para usar como entradas.
- Cree una o más columnas de validación haciendo clic en Complementos > Aprendizaje profundo de Torch > Crear columnas K-Fold . especificando Y como variable de Respuesta y Estratificación (recomendado).
- Haga clic en Complementos > Torch Deep Learning > Torch Deep Learning para iniciar la plataforma. Asigne variables a roles como en el siguiente ejemplo:
El submenú Complementos > Aprendizaje profundo de Torch > Datos de ejemplo contiene varios conjuntos de datos de ejemplo y una tabla JMP denominada Torch_Storybook , que contiene 40 ejemplos de diferentes tipos de escenarios en los que el complemento puede resultar útil. Incluye metadatos enriquecidos sobre cada ejemplo y enlaces para descargar tablas de datos JMP con scripts integrados, ejemplos de revistas JMP resultantes y referencias.
El submenú Complementos > Torch Deep Learning > Descargar adicional proporciona una forma de descargar varios modelos de imágenes y texto más que amplían aún más las capacidades del complemento.
Haga clic en Ayuda en el menú para abrir documentación detallada sobre el complemento, incluidos ejemplos paso a paso y orientación para un uso más eficaz.
Ejemplos

Antecedentes: como químico, usted necesita predecir la composición de muestras desconocidas comparándolas con la espectroscopia de RMN de un experimento de mezcla en el que se altera la proporción de tres componentes.
Desafío: Los espectros de RMN de salida para experimentos de mezclas son amplios, con una pequeña cantidad de ejecuciones experimentales, pero miles de columnas de características únicas. El modelado predictivo estándar no es preciso y se sobreajusta, y el proceso de codificación lleva mucho tiempo.
Proceso: tome espectros individuales y conviértalos en imágenes con Graph Builder, utilizándolos para entrenar un modelo de clasificación de imágenes (red neuronal convolucional) para comprender cómo se ven los espectros en diferentes proporciones de los 3 componentes.
Resultado: Puede aplicar muestras desconocidas e identificar con precisión la composición/proporción de los 3 componentes.


Antecedentes: Los defectos de las obleas en la fabricación de semiconductores pueden ocurrir a lo largo de la oblea en diferentes áreas. Las imágenes de las obleas o los mapas de obleas pueden capturar el área de los defectos en diferentes lotes. Identificar los tipos de defectos y la causa raíz es esencial para sugerir soluciones adecuadas.
Desafío: Tiene más de 30 000 imágenes de mapas de obleas, algunas con numerosos tipos de defectos que deben identificarse con precisión.
Proceso: utilice imágenes de mapas de obleas con defectos de oblea conocidos para entrenar redes neuronales convolucionales profundas.
Resultado: construir e implementar un modelo de aprendizaje profundo para predecir con precisión las clases de defectos más probables y la probabilidad de defectos en nuevas imágenes de obleas.

Antecedentes: las reseñas de productos en línea proporcionan una gran cantidad de datos de texto que se pueden analizar para comprender el sentimiento de los clientes hacia el producto y tomar decisiones clave sobre la mejora del producto, la atención al cliente y las estrategias de marketing.
Desafío: Las revisiones de texto no están estructuradas, tienen un gran volumen y son difíciles de determinar el sentimiento e identificar temas, lo que requiere un análisis sofisticado.
Proceso: Prediga el sentimiento de compra utilizando redes neuronales de lenguaje profundo basadas en puntuaciones de reseñas de productos para identificar resultados clave, como la probabilidad de volver a comprar.
Resultado: Identificar el sentimiento clave hacia el producto (es decir, probabilidad de volver a comprar, problemas con el producto) como retroalimentación crítica para las decisiones sobre el producto.
Tutoriales en vídeo
Antecedentes completos y descripción general con ejemplos
Datos tabulares e inferencia causal
Clasificación de imágenes
Si tiene un aspecto particular del complemento o tema sobre el cual le gustaría ver un video tutorial, publíquelo en los comentarios.
Comentario
Agradecemos sus comentarios y lo alentamos a publicar comentarios aquí en esta página. Tenga en cuenta que, si bien los complementos, en general, no cuentan con soporte oficial de nuestro equipo de soporte técnico de JMP, este complemento fue escrito y desarrollado activamente por JMP Life Sciences R&D.
También puede enviar comentarios, problemas, preguntas y sugerencias directamente a russ.wolfinger@jmp.com . Si informa un posible error o falla, envíe tanta información como sea posible para reproducirlo y diagnosticarlo, incluidos datos y configuración del modelo, capturas de pantalla, ventanas de error, mensajes de registro y el sistema operativo y la versión de JMP Pro que está utilizando.
Agradecimientos y avisos de derechos de autor
Agradecemos amablemente al equipo de PyTorch por desarrollar capacidades tan excelentes con una interfaz C++ bien diseñada. Consulte el documento de Ayuda para obtener una lista completa de personas y avisos de derechos de autor, así como estos avisos en línea de la Fundación PyTorch .
También apreciamos y agradecemos mucho a Mark Lalonde y Francis Charette-MIgneault por sus excelentes contribuciones a LibTorch:
https://medium.com/crim/contributing-to-libtorch-recent-architectures-and-vanilla-training-pipeline-3789c7bf6959
https://github.com/crim-ca/crim-libtorch-extensions
¿Estoy leyendo esto bien? En la documentación para cargar modelos en pytorch dice.
En Python, debe recrear exactamente los mismos componentes de arquitectura usando PyTorch y luego cargar estos archivos uno por uno.
Entonces, no importa lo que hagamos, todavía necesitamos a alguien que conozca pytorch y sea capaz de traducir lo que hicieron en JMP a Python. ¿Correcto? ¿Necesitan saber cómo crear los conjuntos de datos, los nn y cualquier validación que haya realizado el usuario de JMP?
@vince_faller Gracias por tu comentario. Esta parte del documento se refiere a la implementación en Python, en cuyo caso estas cosas deben hacerse de una forma u otra. La implementación en JSL es más sencilla. Se está agregando lo siguiente al documento:
El código de implementación de Python de ejemplo está disponible en los archivos del cuaderno Jupyter iPython en la carpeta de inicio del complemento. Haga clic en Ver > Complementos , seleccione TorchDeepLearning , haga clic en el enlace Carpeta de inicio y luego navegue hasta la subcarpeta de cuadernos para ver este código.
Este código de implementación de Python de ejemplo aún es aproximado en varios lugares y estamos trabajando para perfeccionarlo y optimizarlo. Tomaremos su publicación como un voto a favor de una generación de código Python más automatizada, como está disponible con los ajustes del modelo XGBoost. Tanto el complemento Torch como la integración nativa de Python de JMP son completamente nuevos para la versión 18 y aún no hemos implementado conexiones entre los dos (el complemento Torch está escrito en C++ sin Python).