主要内容

deepDreamImage

利用深度梦境实现网络功能的可视化

描述

= deepDreamImage (渠道返回一个强烈激活通道的图像数组渠道在网络中具有数字索引或名称的层的.这些图像突出了网络学习到的特征。

例子

= deepDreamImage (渠道名称,值返回具有由一个或多个选项指定的附加选项的图像名称,值对参数。

例子

全部折叠

加载预先训练的AlexNet网络。

网= alexnet;

将第一个卷积层学到的前25个特征可视化(“conv1”)使用deepDreamImage.集“PyramidLevels”到1,这样图像就不会缩放。

层=“conv1”;渠道= 1:25;我= deepDreamImage(净、图层、通道,...“PyramidLevels”, 1...“详细”, 0);数字subplot(5,5,i) imshow(i (:,:,:,i))结束

输入参数

全部折叠

训练有素的网络,指定为SeriesNetwork对象或一个DAGNetwork对象。你可以通过导入一个预先训练过的网络来获得一个训练过的网络,或者使用trainNetwork函数。有关预训练网络的更多信息,请参见预训练的深度神经网络

deepDreamImage只支持带有金宝app图像输入层的网络。

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

提示

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

已查询的通道,指定为通道索引的标量或向量。如果渠道是一个矢量,层激活为每个通道独立优化。可能的选择渠道取决于所选的图层。对于卷积层,则NumFilters属性指定输出通道的数量。对于完全连接的层OutputSize属性指定输出通道的数量。

名称-值对的观点

指定可选的逗号分隔对名称,值参数。的名字参数名和价值是对应的值。的名字必须出现在引号内。您可以按如下顺序指定几个名称和值对参数Name1, Value1,…,的家

例子:deepDreamImage(网络层、通道“NumItetations”,100年,“ExecutionEnvironment”,gpu)每个金字塔关卡使用100次迭代生成图像,并使用GPU。

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

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

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

  • 初始图像的通道数必须与网络的图像输入层的通道数匹配。

如果您没有指定初始图像,软件将使用从标准正态分布中抽取像素的随机图像。另请参阅“PyramidLevels”

用于生成输出图像的多分辨率图像金字塔级数,指定为一个正整数。增加金字塔级别的数量以产生更大的输出图像,但牺牲额外的计算。若要生成与初始图像相同大小的图像,请将级别数设置为1

例子:“PyramidLevels”,3

每个金字塔级别之间的比例,指定为值> 1的标量。减少金字塔规模,以纳入细颗粒细节输出图像。调整金字塔的比例可以帮助在网络的初始层产生更多的信息图像。

例子:“PyramidScale”,1.4

每个金字塔级别的迭代次数,指定为一个正整数。增加迭代次数以产生更详细的图像,而牺牲额外的计算。

例子:“NumIterations”,10

要应用于输出图像的缩放类型,指定为逗号分隔的对,由“OutputScaling”其中之一是:

价值 描述
“线性” 缩放区间[0,1]内的输出像素值。输出图像对应每一层通道,我(::,:,频道),是独立缩放的。
“没有” 禁用输出比例。

缩放像素值会导致网络对输出图像进行错误分类。如果要对输出图像进行分类,请设置“OutputScaling”价值“没有”

例子:“OutputScaling”、“线性”

指示符,在命令窗口中显示进度信息,指定为逗号分隔的对,由“详细”或者1 (真正的)或0 ().显示的信息包括金字塔级别、迭代和激活强度。

例子:“详细”,0

数据类型:逻辑

组成的以逗号分隔的对指定的硬件资源“ExecutionEnvironment”其中之一是:

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

  • “图形”—使用图形处理器。使用GPU需要并行计算工具箱™和支持的GPU设备。金宝app有关支持的设备的信息,请参见金宝appGPU支金宝app持版本(并行计算工具箱)如果并行计算工具箱或合适的GPU不可用,则软件返回错误。

  • “cpu”—使用CPU。

例子:“ExecutionEnvironment”、“cpu的

输出参数

全部折叠

输出图像,由存储在4-D数组中的灰度或真色(RGB)图像序列指定。图像沿第四维连接使图像的输出达到最大化渠道(k)我(:,:,:,k).您可以使用imshow(图像处理工具箱)

算法

这个功能实现了一个版本的深度梦,使用多分辨率图像金字塔和拉普拉斯金字塔梯度归一化生成高分辨率图像。关于拉普拉斯金字塔梯度归一化的更多信息,请看这篇博文:与TensorFlow DeepDreaming

当你训练一个网络使用trainNetwork函数,或使用预测或验证函数时DAGNetworkSeriesNetwork对象,软件执行这些计算使用单精度,浮点运算。培训、预测和验证的功能包括trainNetwork预测分类,激活.当你同时使用cpu和gpu训练网络时,该软件使用单精度算法。

参考文献

[1]与TensorFlow DeepDreaming.https://github.com/tensorflow/docs/blob/master/site/en/tutorials/generative/deepdream.ipynb

介绍了R2017a