Netron, un programa para visualizar modelos de redes neuronales
En el siguiente artículo vamos a echar un vistazo a Netron. Este es un programa para visualizar modelos de redes neuronales. Esta aplicación que utiliza Electron / NodeJS y se publica bajo la licencia MIT, la podremos ejecutar en sistemas Gnu/Linux, macOS, Windows y desde el navegador web.
Este programa fue creado por Lutz Roeder. Netron es una herramienta de código abierto que permite visualizar modelos de redes neuronales, la cual también nos va a permitir analizar la estructura del modelo y asegurarnos así de que coincida con el diseño esperado. Se trata de un software compatible con una variedad de marcos y formatos de modelos.
Formatos soportados por Netron
Netron dispone de soporte para formatos como son:
- ONNX (.onnx, .pb, .pbtxt)
- Keras (.h5, .keras)
- TensorFlow Lite (.tflite)
- Caffe (.caffemodel, .prototxt)
- Darknet (.cfg)
- Core ML (.mlmodel)
- MNN (.mnn)
- MXNet (.model, -symbol.json)
- ncnn (.param)
- PaddlePaddle (.zip, __model__)
- Caffe2 (predict_net.pb)
- Barracuda (.nn)
- Tengine (.tmfile)
- TNN (.tnnproto)
- RKNN (.rknn)
- MindSpore Lite (.ms)
- UFF (.uff)
Además Netron también cuenta con soporte experimental para; TensorFlow (.pb, .meta, .pbtxt, .ckpt, .index), PyTorch (.pt, .pth), TorchScript (.pt, .pth), OpenVINO (.xml), Torch (.t7), Arm NN (.armnn), BigDL (.bigdl, .model), Chainer (.npz, .h5), CNTK (.model, .cntk), Deeplearning4j (.zip), MediaPipe (.pbtxt), ML.NET (.zip), scikit-learn (.pkl), TensorFlow.js (model.json, .pb).
Instalar Netron Neural Network Viewer en Ubuntu
Probar desde el navegador web
Antes de decidirnos a instalar este programa, podemos optar por probarlo desde el navegador web. Si no tienes un modelo que puedas cargar para probarlo, puedes utilizar los ejemplos de modelo de muestra que se pueden encontrar en el respositorio en GitHub del proyecto, para descargar o abrir con esta versión de navegador.
Como paquete snap
Si te decides a instalar este software en tu equipo, este programa lo podrás instalar mediante su paquete snap, el cual se puede encontrar disponible en Snapcraft.
Como decía, se puede instalar Netron Neural Network Viewer en Ubuntu a través de Snap haciendo lo siguiente. Para empezar necesitaremos abrir una terminal (Ctrl+Alt+T) y a continuación vamos a instalar la versión estable del programa usando el comando:
sudo snap install netron
Tras la instalación, en caso de que necesites actualizar el programa, en una terminal no hay más que ejecutar:
sudo snap refresh netron
Tras todo lo anterior, ya podremos iniciar el programa desde el menú Aplicaciones o desde cualquier otro lanzador que tengamos disponible en nuestra distribución. Además también podremos iniciarlo escribiendo en la terminal (Ctrl+Alt+T):
netron
Desinstalar
Para desinstalar Netron Neural Network Viewer instalado a través del paquete Snap, tan solo tendremos que ejecutar en una terminal (Ctrl+Alt+T) el comando:
sudo snap remove netron
Descargar AppImage
También podremos utilizar este programa usando el paquete AppImage que se puede descargar desde la página de lanzamientos del proyecto. Además de poder descargar este paquete desde el navegador web, también tendremos la posibilidad de utilizar wget para hacernos con el archivo.
Para descargar la última versión publicada a día de hoy, solo tendremos que abrir una terminal (Ctrl+Alt+T) y ejecutar en ella:
wget https://github.com/lutzroeder/netron/releases/download/v5.3.4/Netron-5.3.4.AppImage
Cuando finalice la descarga, nos queda darle permisos de ejecución al archivo que acabamos de descargar. Para esto, si nos movemos a la carpeta en la que tengamos guardado el archivo, no tendremos más que ejecutar este comando:
sudo chmod +x Netron-5.3.4.AppImage
Tras el comando anterior, ya podemos iniciar el programa haciendo doble clic sobre el archivo, o escribiendo en la misma terminal:
./Netron-5.3.4.AppImage
Netron es una forma sencilla de visualizar las redes neuronales. Este programa nos permitirá utilizar una amplia gama de marcos y tipos de modelos compatibles. Es realmente escalable y utilizable para muchas personas en la comunidad de aprendizaje. Incluso es posible exportar los gráficos, aunque es posible que quieras utilizar un enfoque diferente si tu objetivo es generar gráficos para imprimir, especialmente cuando son muy profundos.
Los usuarios que quieran, pueden obtener más información acerca de este programa en la página web del proyecto o en su repositorio de GitHub.