问题标签 [mobilenet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
112 浏览

tensorflow - SSD Mobilenetv2检测分数高于1

我训练了不同的模型,并使用相同的代码进行评估。问题是 mobilenetv2 的检测分数高于 1。有时会上升到 3-4。

0 投票
1 回答
41 浏览

python - 我的对象检测模型训练过程开始给出 mAP 和 AR 为 0

我一直在使用 ssd_mobilenet_v2_coco_2018_03_29 训练对象检测模型。

从上周开始,我的 colab .ipynb 训练脚本会一直给出 mAP 和 AR 为零,直到训练结束。[mAP和AR在训练过程中输出零的图片][1]

直到最近,我使用下面附加的 jupyter Training_Own_Data_Old.ipynb 文件成功地训练了不同版本的模型而没有问题。

我检查了修订历史以查看是否意外进行了任何更改,但除了下面提到的之外,没有任何重大更改。

一些明显的差异

上周, 每当我尝试连接到 colab 时,我都会收到消息“Colab 在连接到云端硬盘时遇到问题,我们正在积极调查” 。

我还注意到 python-pil 得到了更新。我安装了旧版本并再次尝试,但没有解决问题。

我还检查了管道配置文件、训练日志,尝试使用/不使用 dropout,只是运行旧的 .ipynb 文件本身而不做任何更改,但仍然没有运气。

我已经附加了旧的工作 Training_Own_Data_Old.ipynb 文件的 github 和带有错误的新 Training_Own_Data.ipynb 文件。日志位于每个 .ipynb 文件中。

https://github.com/WalterYeYint/Jupyter-files

有人可以帮忙吗?任何帮助表示赞赏。[1]:https ://i.stack.imgur.com/7oNT0.png

0 投票
0 回答
171 浏览

tensorflow - 我在自定义数据集上训练了 ssd mobilenet v1,在 jetson 中运行的尺寸减小问题

我在自定义数据集上训练了 ssd mobilenet v1 现在我想在 jetson 中运行,我使用 tensorflow 对象检测 api 将其转换为冻结的图形 pb 文件,我想在 jetson nano 上运行这个模型,但我吃 2.5 GB 的 RAM,而模型大小仅为 22.3MB。我尝试了 Tensorrt FP16 转换,但内存消耗仍然相同。

我需要 5 到 6 MB 大小的模型,或者至少它必须在推理时消耗更少的内存。

0 投票
1 回答
206 浏览

tensorflow - SSD Mobilenetv2 对象检测推理

我训练了一个 Tensorflow SSD Mobilenet v2 对象检测器,我想用边界框对我的测试图像进​​行预测。有人可以给我看一个推断的例子吗?

0 投票
0 回答
220 浏览

tensorflow - 与“通道最后”相比,“通道优先”的训练准确度非常低

我的问题:

我正在尝试在 tf.keras 中训练语义分割模型,事实上,当我使用 channels_last (WHC) 模式时它运行良好(它达到 96%+ val acc)。我想在 channels_first (CHW) 模式下训练它,以便权重与 TensorRT 兼容。当我这样做时,前几个 epoch 中约 80% 的训练准确率下降到 0.020% 左右并永久保持在那里。

知道我的模型的基础是tf.keras.applications.MobileNet()具有预先训练的“imagenet”权重的模型很有用。(底部的模型架构。)

改造过程:

我使用了提供的指南,在这里只更改了几件事:

  1. 设置tf.keras.backend.set_image_data_format()为“channels_first”。
  2. 我将输入张量中的通道顺序从:input_tensor=Input(shape=(376, 672, 3)) 更改为:input_tensor=Input(shape=(3, 376, 672))
  3. 在我的图像预处理(使用tf.data.Dataset)中,我tf.transpose(img, perm=[2, 0, 1])在输入图像和单热编码掩码上都使用了来更改通道顺序。我用相等断言检查了这个,以确保它正确并且看起来很好。

当我更改这些时,训练开始正常,但正如我所说,训练准确度几乎下降到零。当我恢复一切时,一切都很好。

可能的线索:

我做错了什么或者这里有什么问题?我的怀疑是围绕这些问题:

  • 当我设置后端时,预训练的 imageNet 权重是否也更改为“channels_first”顺序?这是我应该考虑的事情吗?
  • 会不会是tf.transpose()函数弄乱了掩码的 one-hot 编码?(我有 3 个类别由 3 种颜色表示:车道、对面车道、背景)

也许我没有看到明显的东西。我可以根据需要提供进一步的代码和答案。

编辑:

08/17:这仍然是一个持续的问题,我尝试了几件事:

  • 我用 numpy 断言转置后检查了图像和掩码是否正确,似乎正确。
  • 我怀疑损失函数在错误的轴上计算,所以我为第一个轴(通道所在的位置)定制了损失函数。这里是:
  • 我的主要怀疑是“通道优先”后端设置对移动网络部分的预训练“imagenet”权重没有任何作用。TF2.x / Keras 是否有更新的方法将预训练的权重转换为 CHW 格式?

这里是我使用的架构(theskipNet()是head network,mobilenet是base,在create_model()function里面是connected)

0 投票
2 回答
1056 浏览

tensorflow - 为什么我在训练tensorflow对象检测ssd mobilenet模型时训练损失很高

我正在尝试使用 tensorflow api models ssd mobile net 创建自己的自定义对象检测器,但问题是当模型开始训练时,损失非常高,如 700-800,并且损失不断波动,我看到相同的损失值重复,有人可以向我解释一下。我最初已经将模型训练了 7000 步,但损失并没有减少,然后我又开始训练模型。我正在分享我的新培训的屏幕截图。我已经坚持了将近两天了,非常感谢任何帮助。我的火车数据集中有 16482 张图像,我的图像大小是 64x64

失利

0 投票
0 回答
248 浏览

python - MobilenetV3 Top 5 准确性问题

我使用来自该站点的预训练模型:https ://github.com/tensorflow/models/tree/master/research/slim/nets/mobilenet 我下载的 v3-large_224_1.0_float.pb 模型链接是(Large dm=1 (漂浮) )。在我运行它之后,我经常得到这个结果,[

] 1 然后,我改变输入图像,但结果是一样的。我知道如何解决这个问题。谢谢。我的代码如下:

0 投票
2 回答
4350 浏览

python - SSD MobileNet V2 FPNLite 320x320 中的 FPN 代表什么?

我最近在查看 TensorFlow 2.0 Detection Zoo 并找到了SSD MobileNet V2 FPNLite 320x320预训练模型,并且想知道“FPNLite”中的 FPN 部分是什么意思/代表什么。

0 投票
2 回答
501 浏览

javascript - TensorFlow mobilenet 离线使用模型

我使用来自 tensorflow 的 mobilenet 并尝试离线加载模型。

模型在这里加载:

我的第一种方法是简单地下载 model.json 并指向该文件而不是我的代码中的完整 url,如下所示:

但后来我收到以下错误: 在此处输入图像描述

如何下载并正确指向权重以供离线使用?


更新 我现在只是使用错误消息中的链接手动下载了每个分片。

https://storage.googleapis.com/tfjs-models/tfjs/mobilenet_v1_1.0_224/group1-shard1of1 https://storage.googleapis.com/tfjs-models/tfjs/mobilenet_v1_1.0_224/group1-shard1of1 https:// storage.googleapis.com/tfjs-models/tfjs/mobilenet_v1_1.0_224/group1-shard1of1 等等,直到 https://storage.googleapis.com/tfjs-models/tfjs/mobilenet_v1_1.0_224/group55-shard1of1

现在组正确加载: 在此处输入图像描述

但我收到一条新的错误消息:

错误:根据提供的形状 [1,1,1024,1000] 和 dtype float32,张量应该有 1024000 个值,但有 410072

0 投票
0 回答
121 浏览

tensorflow - Tensorflow.js 错误“tfjsconverter.loadGraphModel 不是函数”

我想使用 tf.js 为狗品种创建一个对象识别。

我构建了一个可以工作的对象识别演示 https://codesandbox.io/s/tensorflowjs-real-time-object-detection-om12e?file=/src/index.js:0-27但它使用 cocoSsd 模型没有狗品种。

所以我知道 mobilenet 模型确实有狗品种,我在这里找到了一个工作示例https://codesandbox.io/s/o4l6pnlkzz(尽管它使用图像上传而不是相机供稿)。

当我尝试将 mobilenet 模型放入对象检测示例时,出现以下错误。“tfjsconverter.loadGraphModel 不是函数”。

https://codesandbox.io/s/tensorflowjs-real-time-object-detection-forked-6hxdb?file=/src/index.js:925-934

我想第 31 行有问题,但我无法弄清楚。

如果你知道我做错了什么,这对一些指针真的很有帮助。