deepDreamImage

使用deep dream可视化网络功能

描述

一世= deepDreamImage(渠道返回强烈激活通道的图像数组渠道内网与给定的数字索引或名称的层的。这些图像突出了网络学习到的特征。

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

例子

全部折叠

加载一个预先训练的AlexNet网络。

网= alexnet;

可视化的第一特征25由第一层卷积了解到(“conv1”)使用deepDreamImage。集“PyramidLevels”为1,即图像不进行缩放。

层=“conv1”;通道= 1:25;I = deepDreamImage(网,层,通道,...“PyramidLevels”, 1...“详细”, 0);数字对于I = 1:25副区(5,5,i)的imshow(I(:,:,:,i))的结束

输入参数

全部折叠

训练网络,指定为aSeriesNetwork对象或一个DAGNetwork对象。可以通过导入一个预先训练好的网络或使用trainNetwork功能。有关预训练的网络的详细信息,请参阅预训练的深度神经网络

deepDreamImage只支持网络万博1manbetx与一个图像输入层。

层来可视化,指定为一个正整数,字符向量,或串标量。如果DAGNetwork对象,指定仅作为字符向量或字符串标量。指定作为索引或图层的名称,你希望显示的激活。为了形象化分类层的特点,选择分类层前的最后一次完全连接层。

小费

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

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

名称-值对的观点

指定可选的用逗号分隔的对名称,值参数。名称是参数的名称和价值为对应值。名称必须出现在引号内。可以按任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:deepDreamImage(网,层,通道, 'NumItetations',100 '执行环境', 'GPU')生成图像使用100迭代每金字塔水平和使用GPU。

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

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

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

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

如果没有指定初始图像,软件使用与标准正态分布绘制像素的随机图像。也可以看看“PyramidLevels”

多分辨率图像金字塔级的数量使用,以产生输出图像,指定为一个正整数。增加金字塔级的数目在附加计算为代价产生较大的输出图像。为了产生相同大小的初始图像的图像,设定电平的数目,以1

例子:'PyramidLevels',3

每个锥体水平之间的规模,指定为与值的标量> 1.减小金字塔规模掺入细晶粒细节为输出图像。调整金字塔规模可以帮助在网络中开始产生层更丰富的图像。

例子:“PyramidScale”,1.4

每个金字塔等级的迭代,指定为正整数的数目。增加迭代次数额外计算的代价来产生更精细的图像。

例子:“NumIterations”,10

要应用于输出图像的缩放类型,指定为逗号分隔的对,由'OutputScaling'和以下情况之一:

价值 描述
“线性” 将输出的像素值按区间[0,1]缩放。对应每层通道的输出图像,I(:,:,:,通道)时,独立进行缩放。
'没有' 禁用输出比例。

缩放的像素值可以导致网络错误分类的输出图像。如果你想输出图像进行分类,设置'OutputScaling''没有'

例子:“OutputScaling”、“线性”

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

例子:'冗长',0

数据类型:合乎逻辑

硬件资源,指定为逗号分隔的一对组成的“执行环境”和以下情况之一:

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

  • “图形”- 使用GPU。使用GPU需要并行计算工具箱和CUDA®使英伟达®GPU计算能力3.0或更高版本。如果并行计算工具箱或合适的GPU不可用,则软件返回一个错误。

  • '中央处理器'-用中央处理器。

例子:'执行环境', 'CPU'

输出参数

全部折叠

输出图像,通过灰度或真彩色的序列指定的存储在一个4-d阵列(RGB)图像。图像沿着第四维级联一世使图像的输出最大化渠道(k)我知道)。您可以使用显示输出图像imshow

算法

这个功能实现了一个版本的深梦想,采用了多分辨率的图像金字塔和拉普拉斯金字塔梯度正常化,以产生高分辨率的图像。有关拉普拉斯金字塔梯度规范化的更多信息,请参阅本博客文章:与TensorFlow DeepDreaming

深学习培训,预测和验证深学习工具箱™所有的功能使用进行单精度浮点算术计算。深学习功能包括:trainNetwork预测分类,激活。当你同时使用cpu和gpu训练网络时,软件使用单精度算法。

参考文献

[1]与TensorFlow DeepDreaming。https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/tutorials/deepdream/deepdream.ipynb

介绍了在R2017a