198
$\begingroup$

I have built my model. Now I want to draw the network architecture diagram for my research paper. Example is shown below:

enter image description here

enter image description here

$\endgroup$
5
  • 1
    $\begingroup$ I think graphiz, based on the dot language can, can help you. $\endgroup$ Nov 4, 2016 at 6:24
  • 1
    $\begingroup$ github.com/gwding/draw_convnet $\endgroup$
    – Emre
    Nov 8, 2016 at 3:27
  • $\begingroup$ If you are using latex, just use tikz. It does require a little time to get used to. $\endgroup$ Jan 25, 2018 at 18:30
  • 6
    $\begingroup$ It seems like the best approach would be to endow the network with the capability for self-reflection, and teach it how to draw its mind. Easy peasy. $\endgroup$ Jun 6, 2019 at 20:33
  • 1
    $\begingroup$ For a tool & approaches overview, see: medium.com/inbrowserai/… $\endgroup$ Jul 5, 2019 at 8:51

6 Answers 6

143
$\begingroup$

I recently found this online tool that produces publication-ready NN-architecture schematics. It is called NN-SVG and made by Alex Lenail.

You can easily export these to use in, say, LaTeX for example.

Here are a few examples:

AlexNet style AlexNet style


LeNet style enter image description here


and the good old Fully Connected style enter image description here

$\endgroup$
3
  • 9
    $\begingroup$ This tool seems great -- however, I noticed that it assumes the inputs are always square. I'm in an application with a rectangular input, so this doesn't quite work. $\endgroup$
    – eraoul
    Oct 27, 2018 at 0:22
  • 5
    $\begingroup$ The tool now accommodates rectangular inputs, give it a try $\endgroup$
    – David Cian
    Jun 20, 2020 at 14:52
  • $\begingroup$ This is great for standard CNN backbones, but in more complex architectures like encoder-decoder, attention, etc. it'd be nice to have the flexibility to re-arrange the rectangular components in any arbitrary layout $\endgroup$ Apr 1, 2021 at 19:29
90
$\begingroup$

I wrote some latex code to draw Deep networks for one of my reports. You can find it here: https://github.com/HarisIqbal88/PlotNeuralNet

With this, you can draw networks like these: enter image description here

$\endgroup$
3
  • $\begingroup$ Best answer and should be voted up. $\endgroup$
    – ledawg
    Jun 18, 2020 at 8:36
  • $\begingroup$ Just wanted to say that this is an amazing tool. Wish I had time to utilize this! $\endgroup$ Jul 10, 2021 at 13:50
  • $\begingroup$ +1. Used it for my bachelor thesis two years ago, I think it is awesome especially for slides. $\endgroup$
    – Ciodar
    Feb 14 at 21:34
18
$\begingroup$
$\endgroup$
1
  • 1
    $\begingroup$ Can VISIO draw these architectures? $\endgroup$ Nov 4, 2016 at 6:36
8
$\begingroup$

Netron viewer is the best tool to draw your model architecture

Image

I suppose you have a pretrained model stored in .h5 file.

$\endgroup$
4
  • $\begingroup$ Great tool. Thanks for sharing. This works well with MATLAB exported networks as well. $\endgroup$
    – Asim
    Mar 9, 2021 at 7:58
  • $\begingroup$ I love Netron for visualizing and understanding my models, but I don't think it's great for explaining them to others in a paper. The diagram is far too detailed in my opinion to get a high-level overview of the architecture $\endgroup$ Apr 1, 2021 at 19:32
  • $\begingroup$ the link is broken $\endgroup$
    – SheppLogan
    May 14 at 20:54
  • $\begingroup$ The new link seems to be: netron.app $\endgroup$ Dec 2 at 18:15
5
$\begingroup$

Model Architecture

I drew this with draw.io, you can also choose other structures of the drawing e.g circles.

$\endgroup$
1
$\begingroup$

We can use Powerpoint to get the job done.

Draw the diagram (3D rectangles and perspectives come handy) -> select the interested area on the slide -> right-click -> Save as picture -> change filetype to PDF -> :)

$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.