{"id":1939,"date":"2019-04-26T06:30:21","date_gmt":"2019-04-26T06:30:21","guid":{"rendered":"https:\/\/blogs.mathworks.com\/deep-learning\/?p=1939"},"modified":"2021-04-06T15:50:55","modified_gmt":"2021-04-06T19:50:55","slug":"did-you-know-deep-network-designer","status":"publish","type":"post","link":"https:\/\/blogs.mathworks.com\/deep-learning\/2019\/04\/26\/did-you-know-deep-network-designer\/","title":{"rendered":"Did you know? Deep Network Designer"},"content":{"rendered":"<h6><\/h6>\r\n<h6><\/h6>\r\n<table>\r\n<tbody>\r\n<tr>\r\n<td width=\"50%\">&nbsp;\r\n<h6><\/h6>\r\n<span style=\"font-size: 14px;\">I want to take a minute to highlight one of the apps of Deep Learning Toolbox: <strong>Deep Network Designer<\/strong>.<\/span>\r\n<h6><\/h6>\r\n<span style=\"font-size: 14px;\">This app can be useful for more than just building a network from scratch, <em>plus in 19a the app generates MATLAB code<\/em> to programatically create networks! I want to walk through a few common uses for this app (and perhaps some not-so-common uses as well!)<\/span>\r\n<h6><\/h6>\r\n<\/td>\r\n<td><img decoding=\"async\" loading=\"lazy\" width=\"300\" height=\"215\" class=\"alignnone size-medium wp-image-1997\" src=\"https:\/\/blogs.mathworks.com\/deep-learning\/files\/2019\/04\/dnd_top_image-300x215.png\" alt=\"\" \/><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<span style=\"font-size: 16px; color: #42a4f4;\"><strong>1. Building a network from scratch<\/strong> <\/span>\r\n<h6><\/h6>\r\n<span style=\"font-size: 14px;\">Clearly this is one of the top benefits of Deep Network Designer, and there is a great introductory video on this topic. Click on the image to watch the short video.<\/span>\r\n<h6><\/h6>\r\n<a href=\"https:\/\/www.mathworks.com\/videos\/interactively-build-visualize-and-edit-deep-learning-networks-1547156558295.html\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-1951 size-medium\" src=\"https:\/\/blogs.mathworks.com\/deep-learning\/files\/2019\/04\/NetworkDesigner1_First_Frame-300x169.png\" alt=\"\" width=\"300\" height=\"169\" \/><\/a>\r\n<h6><span style=\"text-decoration: underline;\"><a href=\"https:\/\/www.mathworks.com\/videos\/interactively-build-visualize-and-edit-deep-learning-networks-1547156558295.html\">Link to full video<\/a><\/span><\/h6>\r\n<span style=\"font-size: 16px; color: #42a4f4;\"><strong>2. Importing a pretrained network and modifying it<\/strong><\/span>\r\n<h6><\/h6>\r\n<span style=\"font-size: 14px;\">A second, popular use for the DND app is to import a pretrained network and modify it. Another great intro video is here:<\/span>\r\n<h6><\/h6>\r\n<h6><a href=\"https:\/\/www.mathworks.com\/videos\/interactively-modify-a-deep-learning-network-for-transfer-learning-1547157074175.html\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-2011 size-medium\" src=\"https:\/\/blogs.mathworks.com\/deep-learning\/files\/2019\/04\/TransferLearningGIF-300x169.gif\" alt=\"\" width=\"300\" height=\"169\" \/><\/a><\/h6>\r\n&nbsp;\r\n<h6><span style=\"text-decoration: underline;\"><a href=\"https:\/\/www.mathworks.com\/videos\/interactively-modify-a-deep-learning-network-for-transfer-learning-1547157074175.html\">Link to full video\u00a0<\/a><\/span><\/h6>\r\n<h6><\/h6>\r\n<span style=\"font-size: 16px; color: #42a4f4;\"><strong>3. Visualizing and describing network architectures<\/strong><\/span>\r\n<h6><\/h6>\r\n<span style=\"font-size: 14px;\">Riddle me this: what type of network is this?<\/span>\r\n<pre>net = googlenet;\r\nnet.Layers<\/pre>\r\n<img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-1955 size-large\" src=\"https:\/\/blogs.mathworks.com\/deep-learning\/files\/2019\/04\/googlenetlayers-1024x421.png\" alt=\"\" width=\"1024\" height=\"421\" \/>\r\n<h6><\/h6>\r\n<span style=\"font-size: 14px;\">Series? DAG?<\/span>\r\n\r\n<span style=\"font-size: 14px;\">How about when I show you this portion of the network in the app?<\/span>\r\n<h6><\/h6>\r\n<img decoding=\"async\" loading=\"lazy\" width=\"199\" height=\"300\" class=\"alignnone size-medium wp-image-1953\" src=\"https:\/\/blogs.mathworks.com\/deep-learning\/files\/2019\/04\/zoomedinDND-199x300.png\" alt=\"\" \/>\r\n<h6><\/h6>\r\n<span style=\"font-size: 14px;\">You can quickly see this is definitely <em>not<\/em> a series network.<\/span> (It's DAG!)\r\n<h6><\/h6>\r\n<span style=\"font-size: 14px;\">The app lets you quickly visualize what the network looks like, and see which connections are made. This can be helpful for a deeper understanding of the network, or simply getting a high level overview of the structure. <\/span>\r\n<h6><\/h6>\r\n<span style=\"font-size: 16px; color: #42a4f4;\"><strong>4. What went wrong? <\/strong><\/span>\r\n<h6><\/h6>\r\n<span style=\"font-size: 14px;\">Though not <em>technically<\/em> the Deep Network Designer*, there is a button that launches the deep network <strong>analyzer<\/strong>. Occasionally, I will get a question such as, \"Why is my network erroring out?\" and I always start the investigation with the analyzer. This will check for problems before you start training which eliminates the not-so-attractive red error message in the command window.<\/span>\r\n\r\n<a href=\"https:\/\/blogs.mathworks.com\/deep-learning\/files\/2019\/04\/DND_analyze-button.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-1957 size-medium\" src=\"https:\/\/blogs.mathworks.com\/deep-learning\/files\/2019\/04\/DND_analyze-button-300x195.png\" alt=\"\" width=\"300\" height=\"195\" \/><\/a>\r\n<h6><\/h6>\r\n*you can also get to the Network Analyzer programatically:\r\n<pre>analyzeNetwork(net);<\/pre>\r\n<h6><\/h6>\r\n<a href=\"https:\/\/blogs.mathworks.com\/deep-learning\/files\/2019\/04\/alexnet_NA.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-1959 size-medium\" src=\"https:\/\/blogs.mathworks.com\/deep-learning\/files\/2019\/04\/alexnet_NA-300x194.png\" alt=\"\" width=\"300\" height=\"194\" \/><\/a>\r\n<h6><\/h6>\r\n<span style=\"font-size: 16px; color: #42a4f4;\"><strong>5. Learning more about deep learning<\/strong><\/span>\r\n<h6><\/h6>\r\n<span style=\"font-size: 14px;\">This is <span style=\"text-decoration: underline;\">not<\/span> an official benefit of the app, but something I'll mention because it's helped me. Before I started using the app, I wouldn't have been able to tell you anything about \"Leaky ReLU layers\", since I didn't know they existed!<\/span>\r\n<h6><\/h6>\r\n<a href=\"https:\/\/blogs.mathworks.com\/deep-learning\/files\/2019\/04\/leakyRelu.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-1961 size-medium\" src=\"https:\/\/blogs.mathworks.com\/deep-learning\/files\/2019\/04\/leakyRelu-300x195.png\" alt=\"\" width=\"300\" height=\"195\" \/><\/a>\r\n<h6><\/h6>\r\n<span style=\"font-size: 14px;\">By taking a look at all the different layers on the left**, I can pinpoint new layers I may want to learn about, then go to the documentation to learn more! For example, A <a href=\"https:\/\/www.mathworks.com\/help\/deeplearning\/ref\/nnet.cnn.layer.leakyrelulayer.html\">leaky ReLU layer<\/a> will take any input value less than zero and multiply it by a fixed scalar. In comparison, a regular ReLU will set anything less than zero to zero.<\/span>\r\n<h6><\/h6>\r\n<em>**If you are looking for every layer that exists in MATLAB, here is a <a href=\"https:\/\/www.mathworks.com\/help\/deeplearning\/ug\/list-of-deep-learning-layers.html\">link to all layers<\/a> in documentation.<\/em>\r\n<h6><\/h6>\r\n<span style=\"font-size: 14px;\">Hopefully you feel compelled to try the app <strong>right now<\/strong>.\u00a0As always, you can get a free trial of all our deep learning tools to try the latest functionality:\u00a0<a href=\"https:\/\/www.mathworks.com\/campaigns\/products\/trials\/targeted\/dpl.html\"><strong>Link to Trial <\/strong><\/a><\/span>\r\n\r\n&nbsp;\r\n<h6><\/h6>\r\nDo you like this app, or like another app better? Let me know in the comments below.\r\n<h6><\/h6>\r\n<h6><\/h6>\r\n<h6><\/h6>\r\n<h6><\/h6><p><a href=\"https:\/\/twitter.com\/jo_pings?ref_src=twsrc%5Etfw\" class=\"twitter-follow-button\" data-size=\"large\" data-show-count=\"false\">Follow @jo_pings<\/a><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>","protected":false},"excerpt":{"rendered":"<div class=\"overview-image\"><img decoding=\"async\"  class=\"img-responsive\" src=\"https:\/\/blogs.mathworks.com\/deep-learning\/files\/2019\/04\/dnd_top_image-300x215.png\" onError=\"this.style.display ='none';\" \/><\/div><p>\r\n\r\n\r\n\r\n\r\n&nbsp;\r\n\r\nI want to take a minute to highlight one of the apps of Deep Learning Toolbox: Deep Network Designer.\r\n\r\nThis app can be useful for more than just building a network from scratch,... <a class=\"read-more\" href=\"https:\/\/blogs.mathworks.com\/deep-learning\/2019\/04\/26\/did-you-know-deep-network-designer\/\">read more >><\/a><\/p>","protected":false},"author":156,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[9],"tags":[],"_links":{"self":[{"href":"https:\/\/blogs.mathworks.com\/deep-learning\/wp-json\/wp\/v2\/posts\/1939"}],"collection":[{"href":"https:\/\/blogs.mathworks.com\/deep-learning\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.mathworks.com\/deep-learning\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/deep-learning\/wp-json\/wp\/v2\/users\/156"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/deep-learning\/wp-json\/wp\/v2\/comments?post=1939"}],"version-history":[{"count":42,"href":"https:\/\/blogs.mathworks.com\/deep-learning\/wp-json\/wp\/v2\/posts\/1939\/revisions"}],"predecessor-version":[{"id":2516,"href":"https:\/\/blogs.mathworks.com\/deep-learning\/wp-json\/wp\/v2\/posts\/1939\/revisions\/2516"}],"wp:attachment":[{"href":"https:\/\/blogs.mathworks.com\/deep-learning\/wp-json\/wp\/v2\/media?parent=1939"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/deep-learning\/wp-json\/wp\/v2\/categories?post=1939"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/deep-learning\/wp-json\/wp\/v2\/tags?post=1939"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}