I want to plot a good quality figures to use it in the research paper. So, what is the best software to use to plot any deep learning model/Machine learning model?
In my experiences in Deep Learning in python with Keras , when you create our models for looking the Architecture with the output of each function using for extracting the feature , we use this command "model.summary()", it is very good.
Examining Tensorflow Graph : Please refer following link https://www.tensorflow.org/guide/graph_viz
ASCII visualizations using keras : Please refer following link https://github.com/stared/keras-sequential-ascii
The keras.utils.vis_utils module provides utility functions to plot a Keras model (using graphviz). Please refer following link https://keras.io/visualization/
This is a website ( http://alexlenail.me/NN-SVG/index.html) where one can design their own feed-forward neural architectures either in LeNet Style/AlexNet style or Densely connected NN.
If you have a new paradigm for your architectures(complicated architecture) design go through online for the manual building of diagrams
Some of the free websites: https://app.diagrams.net/ (or) https://www.lucidchart.com/.
Address your own flexibility and design your architectures.
Matplotlib and Seaborn are excellent for charting and graphic representations. There are a variety of tools that allow various forms of charts with the library "Seaborn". See link for further details
There are a number of options depending upon the platform you're comfortable in.
1. If you're plotting a graph or network diagram using inherent Python code, you can use Matplotlib and Plotly extension. You can also use Plotly online graph maker.
2. If you want a plug and play faculty, you can use AlexNet style SVG files for neural network models.
3. If you want a flowchart style top to bottom diagram, you can use Netron or Tensorboard. However, they provide little to none customization options.
4. Also, you can use Simulink for generating similar types of diagram.
5. Last but not the least, there are websites like draw.io and softwares like Edraw max or Inkscape or Giphy to draw such such diagrams.
The picture you shared as a ref. is a drawing. You can draw them on draw.io.
Above mentioned are libraries to plot on data. To draw figures and models after drawi.io you may like to use gimp or adobe or biorender. Ibrahim mohamed Gad
you can use matplotlib, graphviz, tikz or networkx within python. If you want to draw manually you can use microsoft powerpoint, inkscape or any online tools like draw.io or plotly.
The difficulty in the visualization of deep neural networks is that they contain a lot of information. However, you may not need all this information to show your model. Therefore, I recommend the plot_model function from keras.utils.vis_utils to get an overview of your model and than choose depending on what you want to tell your readers to visualize it by hand in Inkscape, Illsutrator etc.
In my experiences in Deep Learning in python with Keras , when you create our models for looking the Architecture with the output of each function using for extracting the feature , we use this command "model.summary()", it is very good.
MATLAB might be a better choice but it isn't an open source. Besides this, a lot of alternatives exists. Of those, I would recommend python with the Keras library ( keras.utils.vis_utils or keras-sequential-ASCII).