主要内容

使用Googlenet的深梦图像

此示例显示了如何使用深梦图凭借预处理的卷积神经网络Googlenet。

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

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

该示例使用深度学习工具箱™和深度学习工具箱模型对于Googlenet网络生成图像。

负载预估计的网络

加载预验证的Googlenet网络。如果深度学习工具箱模型对于Googlenet网络金宝app支持软件包未安装,然后该软件提供了下载链接。

net = googlenet;

生成图像

要产生类似于给定类别的图像,请选择完全连接的层。首先,通过使用使用网络体系结构来找到该层的图层索引分析

分析(NET)

然后选择完全连接的层,在此示例中142。

层= 142;laseName = net.layers(layer).Name
laserName ='Loss3分类器'

您可以通过选择多个类来一次生成多个图像。通过设置选择要可视化的类频道成为这些班级名称的索引。

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

这些课程存储在课程输出层的属性(最后一层)。您可以通过选择中的条目来查看所选类的名称频道

net.layers(end).classes(频道)
ans =6×1分类蜗牛老虎斑马城堡喷泉草莓

使用图像生成图像深梦图。此命令使用兼容的GPU(如果有)。否则使用CPU。使用GPU需要并行计算工具箱™和支持的GPU设备。金宝app有关支持设备的信息,请参阅金宝app释放的G金宝appPU支持(并行计算工具箱)

i = deepreamimage(net,lisername,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(i)

生成更详细的图像

增加金字塔水平和每个金字塔水平的迭代次数可以产生更详细的图像,但以其他计算为代价。

您可以使用“计算”选项。将迭代次数设置为100。

迭代= 100;

生成一个详细的图像,该图像强烈激活“老虎”类(频道293)。放“冗长”错误地抑制有关优化过程的详细信息。

频道= 293;i = deepreamimage(net,lisername,channels,...“冗长”,错误的,...“计算”,迭代);图Imshow(i)

为了产生更大,更详细的输出图像,您可以增加金字塔水平的数量和每个金字塔水平的迭代次数。

将金字塔水平的数量设置为4。

水平= 4;

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

频道= 484;i = deepreamimage(net,lisername,channels,...“冗长”,错误的,...“计算”,迭代,...“金字塔级”,级别);图Imshow(i)

也可以看看

||||

相关话题