(Nguồn: ashishpatel26)
Net2Vis
Net2Vis tự động tạo ra các hình minh họa trừu tượng cho mạng nơ-ron tích chập từ mã Keras.

visualkeras
Visualkeras là một gói Python giúp trực quan hóa kiến trúc mạng nơ-ron Keras (có thể dùng độc lập hoặc trong TensorFlow). Nó cho phép tùy chỉnh giao diện dễ dàng theo hầu hết nhu cầu. Hiện tại nó hỗ trợ tạo kiến trúc dạng lớp, rất phù hợp cho CNN (Mạng Nơ-ron Tích chập) và kiến trúc dạng biểu đồ.
import visualkeras
model = ...
visualkeras.layered_view(model).show() # hiển thị bằng trình xem hệ thống
visualkeras.layered_view(model, to_file='output.png') # ghi ra đĩa
visualkeras.layered_view(model, to_file='output.png').show() # ghi và hiển thị
visualkeras.layered_view(model)

draw_convnet
Script Python để minh họa Mạng Nơ-ron Tích chập (ConvNet).

NNSVG



PlotNeuralNet
Mã LaTeX để vẽ mạng nơ-ron cho báo cáo và thuyết trình. Hãy xem các ví dụ để hiểu cách chúng được tạo ra. Ngoài ra, hãy tổng hợp mọi cải tiến bạn thực hiện và sửa lỗi để giúp nhiều người hơn với mã này.


Tensorboard
Bảng điều khiển Graphs của TensorBoard là một công cụ mạnh để kiểm tra mô hình TensorFlow của bạn.

Caffe
Trong Caffe, bạn có thể sử dụng caffe/draw.py để vẽ NetParameter protobuffer:

Matlab

Keras.js

keras-sequential-ascii
Một thư viện cho Keras dùng để khảo sát kiến trúc và tham số của các mô hình tuần tự.
Kiến trúc VGG 16
OPERATION DATA DIMENSIONS WEIGHTS(N) WEIGHTS(%)
Input ##### 3 224 224
InputLayer | ------------------- 0 0.0%
##### 3 224 224
Convolution2D \|/ ------------------- 1792 0.0%
relu ##### 64 224 224
Convolution2D \|/ ------------------- 36928 0.0%
relu ##### 64 224 224
MaxPooling2D Y max ------------------- 0 0.0%
##### 64 112 112
Convolution2D \|/ ------------------- 73856 0.1%
relu ##### 128 112 112
Convolution2D \|/ ------------------- 147584 0.1%
relu ##### 128 112 112
MaxPooling2D Y max ------------------- 0 0.0%
##### 128 56 56
Convolution2D \|/ ------------------- 295168 0.2%
relu ##### 256 56 56
Convolution2D \|/ ------------------- 590080 0.4%
relu ##### 256 56 56
Convolution2D \|/ ------------------- 590080 0.4%
relu ##### 256 56 56
MaxPooling2D Y max ------------------- 0 0.0%
##### 256 28 28
Convolution2D \|/ ------------------- 1180160 0.9%
relu ##### 512 28 28
Convolution2D \|/ ------------------- 2359808 1.7%
relu ##### 512 28 28
Convolution2D \|/ ------------------- 2359808 1.7%
relu ##### 512 28 28
MaxPooling2D Y max ------------------- 0 0.0%
##### 512 14 14
Convolution2D \|/ ------------------- 2359808 1.7%
relu ##### 512 14 14
Convolution2D \|/ ------------------- 2359808 1.7%
relu ##### 512 14 14
Convolution2D \|/ ------------------- 2359808 1.7%
relu ##### 512 14 14
MaxPooling2D Y max ------------------- 0 0.0%
##### 512 7 7
Flatten ||||| ------------------- 0 0.0%
##### 25088
Dense XXXXX ------------------- 102764544 74.3%
relu ##### 4096
Dense XXXXX ------------------- 16781312 12.1%
relu ##### 4096
Dense XXXXX ------------------- 4097000 3.0%
softmax ##### 1000
Netron

DotNet

Graphviz

Keras Visualization
Module keras.utils.vis_utils cung cấp các hàm tiện ích để vẽ mô hình Keras (sử dụng graphviz)

Conx
Gói Python conx có thể trực quan hóa mạng với các kích hoạt bằng hàm net.picture() để tạo SVG, PNG hoặc hình ảnh PIL như sau:

ENNUI
Đang phát triển một công cụ trực quan hóa mạng nơ-ron kéo-thả (và hơn thế nữa). Đây là một ví dụ về trực quan hóa cho kiến trúc giống LeNet.

NNet - R Package
data(infert, package="datasets")
plot(neuralnet(case~parity+induced+spontaneous, infert))

GraphCore
Những phương pháp này thiên về trực quan hóa hoạt động của mạng nơ-ron hơn, tuy nhiên kiến trúc NN vẫn phần nào hiện rõ trên các sơ đồ kết quả.
AlexNet

ResNet50

Neataptic
Neataptic cung cấp mạng nơ-ron linh hoạt; các neuron và khớp nối có thể được loại bỏ chỉ với một dòng mã. Không cần kiến trúc cố định để mạng nơ-ron hoạt động. Sự linh hoạt này cho phép mạng được định hình theo bộ dữ liệu của bạn thông qua tiến hóa thần kinh, được thực hiện bằng nhiều luồng.

TensorSpace
TensorSpace là một framework trực quan hóa mạng nơ-ron 3D xây dựng bằng TensorFlow.js, Three.js và Tween.js. TensorSpace cung cấp API Layer để xây dựng các lớp học sâu, tải mô hình đã huấn luyện và tạo trực quan hóa 3D trong trình duyệt. Khi áp dụng TensorSpace API, việc trực quan hóa và hiểu các mô hình đã huấn luyện bằng TensorFlow, Keras, TensorFlow.js, v.v. trở nên trực quan hơn.

Netscope CNN Analyzer

Monial
Chú thích tương tác cho Đồ thị Tính toán https://mlajtos.github.io/moniel/

Texample

\documentclass{article}
\usepackage{tikz}
\begin{document}
\pagestyle{empty}
\def\layersep{2.5cm}
\begin{tikzpicture}[shorten >=1pt,->,draw=black!50, node distance=\layersep]
\tikzstyle{every pin edge}=[<-,shorten <=1pt]
\tikzstyle{neuron}=[circle,fill=black!25,minimum size=17pt,inner sep=0pt]
\tikzstyle{input neuron}=[neuron, fill=green!50];
\tikzstyle{output neuron}=[neuron, fill=red!50];
\tikzstyle{hidden neuron}=[neuron, fill=blue!50];
\tikzstyle{annot} = [text width=4em, text centered]
% Draw the input layer nodes
\foreach \name / \y in {1,...,4}
% This is the same as writing \foreach \name / \y in {1/1,2/2,3/3,4/4}
\node[input neuron, pin=left:Input \#\y] (I-\name) at (0,-\y) {};
% Draw the hidden layer nodes
\foreach \name / \y in {1,...,5}
\path[yshift=0.5cm]
node[hidden neuron] (H-\name) at (\layersep,-\y cm) {};
% Draw the output layer node
\node[output neuron,pin={[pin edge={->}]right:Output}, right of=H-3] (O) {};
% Connect every node in the input layer with every node in the
% hidden layer.
\foreach \source in {1,...,4}
\foreach \dest in {1,...,5}
\path (I-\source) edge (H-\dest);
% Connect every node in the hidden layer with the output layer
\foreach \source in {1,...,5}
\path (H-\source) edge (O);
% Annotate the layers
\node[annot,above of=H-1, node distance=1cm] (hl) {Hidden layer};
\node[annot,left of=hl] {Input layer};
\node[annot,right of=hl] {Output layer};
\end{tikzpicture}
% End of code
\end{document}
Quiver

GanLab

Tài liệu tham khảo: