当前位置: 首页 > 知识库问答 >
问题:

我的CNN的输出层应该是什么样子?

鞠安民
2023-03-14

我正在运行一个模型来检测图像中一些有趣的特征。我有一组600x200像素的图像。这些图像具有我想识别的岩石碎片等特征。想象一个(4x12)网格覆盖在图像上,我可以使用注释器工具手动生成注释,例如((4,9),(3,10),(3,11),(3,12)),以识别图像中感兴趣的单元格。我可以用Keras建立CNN模型,输入为灰度图像。但我应该如何对输出进行编码。在我看来,一种直观的方法是将其视为形状的稀疏矩阵(12,4,1),只有感兴趣的单元格有1,而其他单元格有0。

  • 有没有更好的方法对输出进行编码?
  • 最后一层的激活函数应该是什么?我使用ReLU作为隐藏层。
  • 损失函数应该是什么?mean_squared_error会起作用吗?

共有1个答案

薛欣德
2023-03-14

您的问题与检测和分割问题都非常相似(您可以在此处阅读。您提出的方法是合理的,因为在检测和分割任务中,计算您提出的特征映射是训练管道的一个常见部分。然而,您可能会遇到以下几个问题:

  • 内存问题:您需要处理稀疏张量或使用生成器来处理内存问题

如果只是检测(而不是对这些点进行分类),我建议您使用sigmoid和binary\u crossentropy。如果分类为softmax和Category\u crossentropy。

当然——还有其他方法可以解决这个问题。可以将其作为回归来解决,您需要预测有有趣内容的像素。但是处理Keras中的不同输入相当麻烦。

 类似资料:
  • 本文向大家介绍什么是CNN的池化pool层?相关面试题,主要包含被问及什么是CNN的池化pool层?时的应答技巧和注意事项,需要的朋友参考一下 池化指的是在区域内取平均或者最大

  • 问题内容: 我的单例访问器方法通常是: 我可以做些什么来改善这一点? 问题答案: 另一种选择是使用该方法。从文档中: 运行时恰好在该类或从其继承的任何类从程序内部发送其第一条消息之前,一次将其发送到程序中的每个类。(因此,如果不使用该类,则可能永远不会调用该方法。)运行时以线程安全的方式将消息发送给类。超类在其子类之前收到此消息。 因此,您可以执行以下操作:

  • 我希望能够使用css或jquery对svg的各个部分/路径进行样式化/更改 经过一番搜索,我意识到用svg-xml无法做到这一点(不使用额外的js/jQuery脚本或其他脚本) 所以现在我将讨论内联svg 完整的标签应该是什么样子的?我是说正确的标记 这就是我所拥有的: null null 我甚至需要所有版本=“1.1”xmlns=“http://www.w3.org/2000/svg”xmlns

  • 本文向大家介绍什么是CNN的池化相关面试题,主要包含被问及什么是CNN的池化时的应答技巧和注意事项,需要的朋友参考一下 池化,简言之,即取区域平均或最大,如下图所示(图引自cs231n) 上图所展示的是取区域最大,即上图左边部分中 左上角2x2的矩阵中6最大,右上角2x2的矩阵中8最大,左下角2x2的矩阵中3最大,右下角2x2的矩阵中4最大,所以得到上图右边部分的结果:6 8 3 4。

  • 问题陈述:根据问题,有一个二叉树,其根节点3左子节点9,右子节点20,当20作为根节点时,其左子节点15,右子节点7。9没有孩子。所以结构看起来[3,9,20,null,null,15,7]。 在此二叉树中查找级别顺序遍历。水平顺序遍历/宽度优先搜索 输出:[ [3], [9,20], [15,7] ] 为了实现这个方法,我创建了一个树结构,如 我还创建了另一个类,返回这个输出列表 主要功能出现困

  • 我有和实体。Order包含一个Dish Integer的映射(Dish及其订购次数)。 但当我有一把钥匙作为一个实体时,我不知道在地图上面写什么。连接列应该是什么样子。 P. S.如果您能告诉我如果我跳过注释连接列会发生什么,我也将不胜感激。