what is the difference between LayerGraph and DAGNetwork in deep learning?

25 views (last 30 days)
I find that the data structure of LayerGraph and DAGNetwork in neural network toolbox have the same contents. So, is there any difference between them?
  3 Comments
Karthiga Mahalingam
Karthiga Mahalingam on 11 Jul 2018
A LayerGraph is used to specifically describe layout of the layers of a DAG network. It has methods to play around with the layer structure such as addLayers, connectLayers. removeLayers etc. A DAGNetwork is the neural network model as a whole and not just the layers. Its' methods involve playing around with the model like predict, classify, activations etc. In short, you'd be using layerGraph to specify a DAGNetwork but there is much more to it like training it etc.
Jack Xiao
Jack Xiao on 12 Jul 2018
Do they have the same data structure but not same contents?
DAG:
LayerGraph:
(note:the pictures demonstrate two different networks, so the number of layer and connection are different. here I want to know if for a same network, do they have the same data structure but not same contents?)

Sign in to comment.

Accepted Answer

Maria Duarte Rosa
Maria Duarte Rosa on 25 Feb 2019
LayerGraphs and Layers contain the network architecture (for DAGs and Series networks, respectively). These objects are then passed to trainNetwork for validation and training. LayerGraphs and Layers may have weights or not, but they cannot be used for prediction. One can only call prediction on DAGNetwork and SeriesNetwork objects. These objects contain the validated and trained network.
From R2018b to convert a LayerGraph and Layers object with weights and all the needed parameters to a DAGNetwork/SeriesNetwork one can call assembleNetwork, example:
net = assembleNetwork(layers);
  1 Comment
Royi Avital
Royi Avital on 2 Dec 2021
One can not use assembleNetwork(layerGraph). Is there a way to validate and initializa a layerGraph without training?

Sign in to comment.

More Answers (2)

Mingrun Wang
Mingrun Wang on 25 Jul 2018
one is a class,and one is struct.

Mingrun Wang
Mingrun Wang on 25 Jul 2018
the pair of LayerGraph and DAGnetwork remsembles with one of Layer and SeriesNetwork(in my mind)
  3 Comments
Alaa ElDin ElHilaly
Alaa ElDin ElHilaly on 22 Jan 2019
Then how can we convert a LayerGraph we trained to seriesNetwork to use it in classifications?
Handenur Caliskan
Handenur Caliskan on 24 Jan 2019
I have the same situtation too. How can we change the trained layergraph to a seriesnetwork or dagnetwork?

Sign in to comment.

Products


Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!