问题标签 [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.
tensorflow - SSD Mobilenetv2检测分数高于1
我训练了不同的模型,并使用相同的代码进行评估。问题是 mobilenetv2 的检测分数高于 1。有时会上升到 3-4。
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
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 大小的模型,或者至少它必须在推理时消耗更少的内存。
tensorflow - SSD Mobilenetv2 对象检测推理
我训练了一个 Tensorflow SSD Mobilenet v2 对象检测器,我想用边界框对我的测试图像进行预测。有人可以给我看一个推断的例子吗?
tensorflow - 与“通道最后”相比,“通道优先”的训练准确度非常低
我的问题:
我正在尝试在 tf.keras 中训练语义分割模型,事实上,当我使用 channels_last (WHC) 模式时它运行良好(它达到 96%+ val acc)。我想在 channels_first (CHW) 模式下训练它,以便权重与 TensorRT 兼容。当我这样做时,前几个 epoch 中约 80% 的训练准确率下降到 0.020% 左右并永久保持在那里。
知道我的模型的基础是tf.keras.applications.MobileNet()
具有预先训练的“imagenet”权重的模型很有用。(底部的模型架构。)
改造过程:
我使用了提供的指南,在这里只更改了几件事:
- 设置
tf.keras.backend.set_image_data_format()
为“channels_first”。 - 我将输入张量中的通道顺序从:
input_tensor=Input(shape=(376, 672, 3))
更改为:input_tensor=Input(shape=(3, 376, 672))
- 在我的图像预处理(使用
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)
python - SSD MobileNet V2 FPNLite 320x320 中的 FPN 代表什么?
我最近在查看 TensorFlow 2.0 Detection Zoo 并找到了SSD MobileNet V2 FPNLite 320x320
预训练模型,并且想知道“FPNLite”中的 FPN 部分是什么意思/代表什么。
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
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 不是函数”。
我想第 31 行有问题,但我无法弄清楚。
如果你知道我做错了什么,这对一些指针真的很有帮助。