主要内容

使用GoogLeNet的深度梦境图像

这个例子展示了如何使用生成图像deepDreamImage使用预先训练好的卷积神经网络GoogLeNet。

Deep Dream是深度学习中的一种特征可视化技术,它可以合成强烈激活网络层的图像。通过可视化这些图像,可以突出显示网络学习到的图像特征。这些图像对于理解和诊断网络行为是有用的。

您可以通过可视化网络末端的层的特征来生成有趣的图像。

该示例使用了深度学习工具箱™和深度学习工具箱模型为GoogLeNet网络生成图像。

负荷预训练网络

加载一个预先训练好的GoogLeNet网络。如果深度学习工具箱模型为GoogLeNet网络金宝app支持包未安装时,则软件提供下载链接。

Net = googlenet;

生成图像

要生成与给定类最相似的图像,请选择全连接层。首先,通过查看使用的网络架构,找到该层的层索引analyzeNetwork

analyzeNetwork(净)

然后选择全连接层,在本例中为142。

层数= 142;layerName = net.Layers(layer).Name
layerName = 'loss3-classifier'

您可以通过选择多个类一次生成多个映像。通过设置选择要可视化的类渠道为这些类名的索引。

频道= [114 293 341 484 563 950];

类存储在输出层(最后一层)的属性。中的项,可以查看所选类的名称渠道

net.Layers(结束). class(渠道)
ans =6×1分类蜗牛老虎斑马城堡喷泉草莓

使用以下命令生成图像deepDreamImage.该命令使用兼容的GPU(如果可用)。否则它会占用CPU。使用GPU需要并行计算工具箱™和受支持的GPU设备。金宝app有关受支持设备的信息,请参见金宝appGPU计算要求(并行计算工具箱)

I = deepDreamImage(net,layerName,channels);
|==============================================| | 迭代| |金字塔激活水平| | |力量  | | |==============================================| | 1 | 0.01 | 1 | | 2 | 1.47 | 1 | | 3 | 3.63 | 1 | | 4 | 7.24 | 1 | | 5 | 10.63 | 1 | | 6 | 15.78 | 1 | | 7 | 19.05 | 1 | | 8 | 24.21 | 1 | | 9 | 27.25 | 1 | | 10 | 29.49 | 1 | | 1 | 7.93 | 2 | | 2 | 10.10 | 2 | | 3 | 14.41 | 2 | | 4 | 20.48 | 2 | | 5 | 17.10 | 2 | | 6 | 23.32 | 2 | | 7 | 27.97 | 2 | | 8 | 25.79 | 2 | | 9 | 30.26 | 2 | | 10|35.68 | 2 | | 1 | 33.57 | 3 | | 2 | 42.50 | 3 | | 3 | 49.39 | 3 | | 4 | 58.22 | 3 | | 5 | 58.82 | 3 | | 6 | 52.32 | 3 | | 7 | 67.45 | 3 | | 8 | 68.73 | 3 | | 9 | 75.19 | 3 | | 10 | 68.91 | 3 | |==============================================| Training finished: Max epochs completed.

显示所有图像一起使用imtile

图I = imtile(I);imshow(我)

生成更详细的图像

增加金字塔层的数量和每个金字塔层的迭代次数可以以额外的计算为代价生成更详细的图像。

方法可以增加迭代次数“NumIterations”选择。将迭代次数设置为100。

迭代= 100;

生成一个详细的图像,强烈激活“老虎”类(通道293)。集“详细”false表示隐藏优化过程的详细信息。

通道= 293;I = deepDreamImage(net,layerName,channels,...“详细”假的,...“NumIterations”、迭代);图imshow(我)

要生成更大、更详细的输出图像,可以增加金字塔层的数量和每个金字塔层的迭代次数。

设置金字塔级别的数量为4。

级别= 4;

生成一个详细的图像,强烈激活“城堡”类(通道484)。

通道= 484;I = deepDreamImage(net,layerName,channels,...“详细”假的,...“NumIterations”、迭代...“PyramidLevels”、水平);图imshow(我)

另请参阅

||||

相关的话题