- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是机器学习的初学者,目前正在尝试预测图像中对象的位置,该图像是我创建的数据集的一部分。
该数据集总共包含约 300 张图像,并包含 2 个类别(Ace 和 Two)。
我创建了一个 CNN,可以预测是 A 还是 2,准确率约为 88%。
由于这个数据集做得很好,我决定尝试预测卡片的位置(而不是类别)。我阅读了一些文章,根据我的理解,我所要做的就是采用与我用来预测类别的相同的 CNN,并将最后一层更改为 4 个节点的密集层。这就是我所做的,但显然这不起作用。
这是我的模型:
model = Sequential()
model.add(Conv2D(64,(3,3),input_shape = (150,150,1)))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=2))
model.add(Conv2D(32,(3,3)))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=2))
model.add(Dense(64))
model.add(Activation("relu"))
model.add(Flatten())
model.add(Dense(4))
model.compile(loss="mean_squared_error",optimizer='adam',metrics=[])
model.fit(X,y,batch_size=1,validation_split=0,
epochs=30,verbose=1,callbacks=[TENSOR_BOARD])
我为模型提供的内容:
X:150x150 像素的灰度图像。每个像素在 [0-1] 之间重新缩放
y:对象的最小 X 坐标、最高 Y 坐标、宽度和高度(每个值都在 [0-1] 之间。
这是它给我的预测示例:
[array([ 28.66145 , 41.278576, -9.568813, -13.520659], dtype=float32)]
但我真正想要的是:
[0.32, 0.38666666666666666, 0.4, 0.43333333333333335]
我知道这里出了问题,所以我决定在单个图像上训练和测试我的 CNN(因此如果有效的话,它应该会过度拟合并预测该单个图像的正确边界框)。即使在对这张单张图像进行过度拟合之后,预测值仍然高得离谱。
所以我的问题是:我做错了什么?
编辑 1
尝试@Matias 的解决方案(即在最后一层添加 sigmoid 激活函数)后,所有输出值现在都在 [0,1] 之间。
但是,即使这样,模型仍然会产生不好的输出。例如,在同一图像上训练 10 个 epoch 后,它预测了这一点:
[array([0.0000000e+00, 0.0000000e+00, 8.4378130e-18, 4.2288357e-07],dtype=float32)]
但我期望的是:
[0.2866666666666667, 0.31333333333333335, 0.44666666666666666, 0.5]
编辑2
好吧,经过一段时间的实验,我得出的结论是问题要么是我的模型(它的构建方式)或者缺乏训练数据。
但即使这是由于缺乏训练数据引起的,我也应该能够在一张图像上对其进行过度拟合,以便获得对此图像的正确预测,对吗?
我创建了另一篇帖子,询问我的最后一个问题,因为原始问题已经得到解答,我不想完全重新编辑该帖子,因为这会使第一个答案变得毫无意义。
最佳答案
由于您的目标(Y 值)已标准化为 [0, 1] 范围,因此模型的输出应与此范围匹配。为此,您应该在输出层使用 sigmoid 激活,因此输出被限制在 [0, 1] 范围内:
model.add(Dense(4, activation='sigmoid'))
关于tensorflow - CNN Keras 对象本地化 - 错误的预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54064299/
翻译 silverlight 5 应用程序 (Prism + MEF) 的可用选项是什么? 如果可能的话,我想: 没有 resx 文件(我不喜欢它们的管理方式) 而是提取并翻译 xaml 字符串(我认
我可以同时使用这两种方法来本地化 $| 还是我应该使用其中一种来支持另一种? 方法一:备份“_init_scr”中$|的旧值,并在调用“_end_win”时将$|设置回旧值。方式 2:调用 local
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: C# localization , really confusing me 有人可以分享他们对大型 C# 应
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 6年前关闭。 Improve thi
我正在使用 Phoenix 框架开发多语言应用程序 到目前为止,路由器看起来像这样: scope "/:locale", App do pipe_through [:browser, :bro
我想为我的域对象添加本地化支持。我有以下几点: class Person { int Id; City city; } class City { int Id; str
我需要 BlackBerry 本地化方面的帮助。我在 http://na.blackberry.com/eng/developers/resources/developer_labs.jsp#tab_
我正在尝试通过关注 documentation 来本地化我的 Flutter 应用程序. 我想要实现的是,在动态构建小部件的同时,我想转换来自我的模型的数据。这是我迄今为止尝试过的 List.gene
如何更改 EKEventEditViewController 中的默认语言,即使我手动设置 AppleLanguages 对象,它也始终是英语 最佳答案 我通过向我的应用程序 plist 添加一个 L
我在 iphone 日期选择器中遇到本地化问题。我希望日期选择器仅以英语显示日期,但现在它需要在 iphone 设置中设置为区域的语言。我尝试了各种没有用的方法像下面这样。 在 uidatepicke
我的应用仅支持荷兰语和法语。英语不是此应用程序的可用语言。如果我想使用可本地化的字符串,则默认值始终设置为英语。我希望这是荷兰语。所以我所做的就是使用英语可本地化字符串文件并用荷兰语单词填充它。我遇到
我即将本地化 iPhone 应用程序。当用户的语言(iOS 系统语言)是德语时,我想使用不同的 URL。 我想知道这是否是正确的方法: NSURL *url = [NSURL URLWithStrin
我正在将我的 iPhone 应用程序本地化为多种语言,除了更改一些字符串之外,我还需要更改一些背景。是否可以查询iPhone并获取用户的语言代码? 谢谢! 最佳答案 看一下 NSLocale: NSS
在本地化的 Iphone(语言设置为希伯来语)上,当我们使用 Safari 查看网页并点击输入字段时,我们会在键盘上显示希伯来语的“下一个/上一个/完成”按钮。 当我们使用应用程序中嵌入的 UIWeb
是否有更好的方法来存储大量文本以在 laravel 中进行本地化?如果我的整个页面只是纯文本,那会很容易,但是我的几个页面具有复杂的布局,我需要添加多个字符串来将文本包裹在图像/链接/媒体等内容周围。
我正在尝试将我的应用程序本地化。我为支持的语言创建了所需的 string.arb 文件。 为什么AppLocalizations.of(context)需要上下文? 我只是想访问文件/语言环境文件/类
绑定(bind)到 double可能会产生以下验证错误 Value ... could not be converted. 使用 ExceptionValidationRule 时错误更健谈: Inp
我有一些 Delphi 经验,并且正在尝试使用 Lazarus 构建一个项目,这对我来说是全新的。 我想,我已经阅读了有关 Lazarus、翻译/国际化/本地化的所有可用信息,但我无法找到我真正想要的
我一直在尝试更新网站的语言。 Controller public function getUpdateLanguage(Request $request) { $request_dat
我正在为我们正在启动的一个项目寻找框架和 CMS,该项目是一个需要支持本地化内容的网站。 Laravel 看起来不错,并且当然允许您本地化 UI 内容,但它似乎本身并不支持存储在数据库中的内容的本地化
我是一名优秀的程序员,十分优秀!