主要内容

deepDreamImage

可视化网络特性使用深梦

描述

= deepDreamImage (,,渠道)返回一个数组强烈激活通道的图像渠道在网络中层的数字索引或名字。这些图像突出网络学习的特性。

例子

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

例子

全部折叠

加载一个pretrained AlexNet网络。

网= alexnet;

可视化学习的前25功能第一卷积层(“conv1”)使用deepDreamImage。集“PyramidLevels”1,这样的图像缩放。

层=“conv1”;渠道= 1:25;我= deepDreamImage(净、图层、通道,“PyramidLevels”,1“详细”,0);图次要情节i = 1分25秒(5 5 i) imshow(我(我)::,:,)结束

输入参数

全部折叠

训练网络,作为一个指定SeriesNetwork对象或一个DAGNetwork对象。你可以通过导入pretrained训练网络的网络或通过训练自己的网络使用trainNetwork函数。pretrained网络的更多信息,请参阅Pretrained深层神经网络

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

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

提示

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

查询渠道,指定为标量或矢量通道指数。如果渠道是一个矢量,每个通道的激活层独立进行了优化。可能的选择渠道取决于所选层。对卷积层,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需要并行计算工具箱™和支持GPU设备。金宝app支持设备的信息,请参阅金宝appGPU的金宝app支持版本(并行计算工具箱)如果并行计算工具箱或合适的GPU不可用,那么软件返回一个错误。

  • “cpu”——使用CPU。

例子:“ExecutionEnvironment”、“cpu的

输出参数

全部折叠

指定的输出图像,灰度或真彩(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