主要内容

深梦图

使用深梦想可视化网络功能

描述

= Deepreamimage(,,,,,,,,频道返回一系列强烈激活通道的图像频道在网络中具有数字索引或名称的图层。这些图像突出了网络学到的功能。

例子

= Deepreamimage(,,,,,,,,频道,,,,名称,价值返回图像,其中一个或多个指定的其他选项名称,价值配对参数。

例子

全部收缩

加载预验证的Alexnet网络。

net = alexnet;

可视化第一卷积层学到的前25个功能('conv1') 使用深梦图。放“金字塔级”到1,以使图像不缩放。

layer ='conv1';频道= 1:25;i = deepdreamimage(net,layer,channels,...“金字塔级”,1,...“冗长”,0);数字为了i = 1:25子图(5,5,i)结尾

输入参数

全部收缩

受过训练的网络,指定为系列网络对象或一个dagnetwork目的。您可以通过导入验证的网络或使用该网络来获得训练有素的网络火车网功能。有关预告片网络的更多信息,请参阅预处理的深神经网络

深梦图仅支持具有金宝app图像输入层的网络。

可视化的层,指定为正整数,字符向量或字符串标量。如果是一个dagnetwork对象,指定仅作为字符向量或字符串标量。指定作为要可视化激活的索引或图层的名称。要可视化分类层特征,请在分类层之前选择最后一个完全连接的层。

小费

选择可视化的relu或辍学层可能不会产生有用的图像,因为这些层对网络梯度的影响。

查询渠道,指定为标量或矢量channel indices. If频道是矢量,每个通道的层激活都是独立优化的。可能的选择频道取决于所选层。对于卷积层,数字属性指定输出通道的数量。对于完全连接的层输出尺寸属性指定输出通道的数量。

名称值参数

将可选的参数对name1 = value1,...,namen = valuen, 在哪里姓名是参数名称和价值是相应的值。名称值参数必须在其他参数之后出现,但是对的顺序并不重要。

在R2021a之前,请使用逗号分隔每个名称和值,并附上姓名用引号。

例子:deepreamimage(网络,图层,频道,“数字”,100,“ executionEnvironment','gpu')使用每个金字塔级别100迭代生成图像,并使用GPU。

图像初始化深梦。使用此语法查看如何修改图像以最大化网络层激活。初始图像的最小高度和宽度取决于所有层,直到所选层和包括所选层:

  • 对于网络末端的层,初始图像必须至少与图像输入层相同的高度和宽度。

  • 对于网络开始的层,初始图像的高度和宽度可能小于图像输入层。但是,它必须足够大才能在所选层上产生标量输出。

  • The number of channels of the initial image must match the number of channels in the image input layer of the network.

如果您没有指定初始图像,则该软件使用随机图像,其中带有从标准正态分布绘制的像素。也可以看看“金字塔级”

用于生成输出图像的多分辨率图像金字塔级别(指定为正整数)。增加金字塔水平的数量以产生较大的输出图像,但以其他计算为代价。要产生与初始图像相同大小的图像,请将级别数设置为1

例子:“金字塔级”,3

每个金字塔水平之间的尺度,指定为具有值的标量>1。减少金字塔刻度,以将细晶粒细节纳入输出图像中。调整金字塔量表可以帮助在网络开头为层产生更多信息图像。

例子:“金字塔尺度”,1.4

每个金字塔水平的迭代次数,指定为正整数。增加迭代的数量以产生更详细的图像,但要付出其他计算。

例子:“计算”,10

适用于输出图像的缩放类型,指定为逗号分隔对“输出放大”以及以下一个:

价值 描述
“线性” 比例输出像素值在间隔[0,1]中。对应于每个层通道的输出图像,i(::,:,:,频道),独立缩放。
'没有任何' 禁用输出缩放。

缩放像素值会导致网络错误地分类输出图像。如果要分类输出图像,请设置“输出放大”价值为'没有任何'

例子:“输出缩放”,“线性”

指示器在命令窗口中显示进度信息,指定为逗号分隔对“冗长”和1(真的)或0(错误的)。显示的信息包括金字塔水平,迭代和激活强度。

例子:'冗长',0

数据类型:逻辑

硬件资源,指定为以下之一:

  • “汽车”- 如果有可用的话,请使用GPU;否则,请使用CPU。

  • “ GPU”- 使用GPU。使用GPU需要并行计算工具箱™和支持的GPU设备。金宝app有关支持设备的信息,请参阅金宝app释放的G金宝appPU支持(并行计算工具箱)如果不可用并行计算工具箱或合适的GPU,则软件将返回错误。

  • “中央处理器”- 使用CPU。

输出参数

全部收缩

输出图像,由灰度或trueColor(RGB)图像序列指定,存储在4D阵列中。图像沿着第四维的连接使得图像最大化的输出频道(k)我知道)。您可以使用Imshow(图像处理工具箱)

算法

该功能实现了深梦的版本,该版本使用多分辨率图像金字塔和拉普拉斯金字塔梯度归一化来生成高分辨率图像。有关拉普拉斯金字塔梯度标准化的更多信息,请参见此博客文章:用TensorFlow深梦

当您使用网络训练网络时火车网功能,或使用预测或验证功能dagnetwork系列网络对象,该软件使用单精制,浮点算术执行这些计算。培训,预测和验证的功能包括火车网,,,,预测,,,,分类, 和激活。当您同时使用CPU和GPU训练网络时,该软件使用单精度算术。

参考

[1]用TensorFlow深梦。https://github.com/tensorflow/docs/blob/master/site/en/tutorials/generative/deepdream.ipynb

版本历史记录

在R2017A中引入