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

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

Differences arise between DAG networks and series networks. The documentation explains all this quite well.
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.
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

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

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)

the pair of LayerGraph and DAGnetwork remsembles with one of Layer and SeriesNetwork(in my mind)

3 Comments

LayerGraph is the connected network including the connection info.
SeriesNetwork is generally connected by their orders.
DAGnetwork is connected in terms of the given connections.
After applying layerGraph, they turn into LayerGraph( if not, SeriesNetwork is still layers).
then you can visualize the network using plot.
Then how can we convert a LayerGraph we trained to seriesNetwork to use it in classifications?
I have the same situtation too. How can we change the trained layergraph to a seriesnetwork or dagnetwork?

Sign in to comment.

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Products

Release

R2018a

Community Treasure Hunt

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

Start Hunting!