问题标签 [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 回答
386 浏览

tensorflow - 如何在 SageMaker 上托管的 MobileNet SSD 模型上运行对象检测预测

我使用 AWS SageMaker 训练了一个 MobileNet v1 SSD 模型,它训练得很好。我有一个 export/Servo/xxx/saved_graph(从检查点派生的 tflite 模型在物联网设备上完美运行。)在 SageMaker 上部署的模型作为端点没有问题。我的问题是,我不知道如何将图像输入模型端点。(这大概与询问如何将数据输入服务模型相同?)

当我查询模型(如下)时,我看到输入签名是“serialized_example”。所以,我假设我需要一个序列化的例子。这就是我缺乏天赋的地方。

我需要帮助了解如何将 jpg 文件转换为序列化示例。或者我如何使用 tfrecord。

产量(我省略了输出):

我有一个数据集,但不知道如何获得正确的课程 -

如果我枚举解码的数据集,我如何将数据输入我的模型?

0 投票
1 回答
2031 浏览

tensorflow - 使用 TensorFlow 2 将 Dropout 添加到 MobileNet

我正在使用 MobileNet 和 TensorFlow 2 来区分 4 个非常相似的玩具。每个玩具我正好有 750 张图片,一个标签包含 750 张“负面”图片,没有任何玩具。

我之前使用过 MobileNet 并取得了相当大的成功,但是关于这种情况的某些事情导致了很多过度拟合(训练/验证准确度之间存在约 30-40% 的差异)。该模型在 3 个 epoch 内很快训练到大约 99.8% 的训练准确度,但验证准确度停留在 75% 左右。验证数据集是 20% 的输入图像的随机集。在查看模型的准确性时,人们对其中一个玩具有很大的偏见,而许多其他玩具被错误地识别为该玩具。

我已经尝试了几乎所有的方法来解决这个问题:

我在添加到 MobileNet 顶部的 Conv2D 层之后添加了 Dropout,并尝试了 0.2 到 0.9 之间的各种丢弃率。

我在 Conv2D 层之前添加了一个额外的 Dropout 层,这似乎稍微改善了一些事情:

我还添加了更多测试数据,尝试在各种照明条件和背景下混合玩具照片,并生成叠加在随机背景上的玩具图像。这些都没有显着影响。

我应该将 dropout 添加到 MobileNet 模型中,而不仅仅是添加到我在它之后添加的层吗?我在 github 上遇到了这样的代码,但我不知道这是否真的是一个好主意 - 或者不知道如何使用 TensorFlow 2 来实现这一点。

这是明智的,还是可行的?

或者,我能想到的唯一其他想法是:

  • 捕获更多图像,以使训练更加困难 - 但我认为每个项目 750 应该足以做得很好。
  • 不要使用 MobileNet,从头开始创建神经网络或使用另一个预先存在的网络。
0 投票
1 回答
430 浏览

conv-neural-network - 如何在 MobileNet-SSD caffe 上进行增量学习

我正在用20k图像训练我的分类器,但每周我都会得到更多新图片,所以我想逐步训练我以前的模型(最后停止的迭代),而不是再次在所有图像上重新训练20k+new_images,这是浪费时间和计算

我想出了用 Yolo 进行增量训练,但似乎找不到任何在这里实现的 MobileNet-SSD caffe https://github.com/chuanqi305/MobileNet-SSD

要了解有关我在说什么的更多信息,请参阅: 如何在 yolov3.weights 的基础上进行增量训练并回答此处提及的内容:

0 投票
1 回答
601 浏览

python - 我的自定义 mobilenet 训练模型未显示任何结果。我究竟做错了什么?

我开始使用 Tensorflow/Deeplab 学习 ML。我尝试使用带有 mobilenet_v2 模型变体的语义分割从头开始训练我自己的衣服识别模型。但我没有得到结果。

我正在使用tensorflow/models进行 tfrecord 导出和训练。以及用于可视化和测试目的的deeplab/示例代码(在本地重命名为 main.py),我修改了一些行,以便获得本地模型和测试图像。

我将展示我遵循的过程:

  1. 下载 100 张 JPEG 图像(我知道不是很大,但我想我可以试试这个数量)。仅适用于 1 级 -> 衬衫
  2. 为每个图像创建分割类 PNG。
  3. 为以下文件创建图像集定义:train(85 个文件名)、trainval(100 个文件名)和 val(15 个文件名)。
    所以我的“pascal dataset”目录有:ImageSets、JPEGImages 和 SegmentationClassPNG 文件夹。
  4. 像这样将“pascal dataset”目录导出到 tfrecord(我在“models-master/research/deeplab/datasets”文件夹中):

    • 这很好用,它会在“train/tfrecord”上生成 *.tfrecord 文件
  5. 我像这样编辑了“models-master/research/deeplab/data_generator.py”:{'train': 85, 'trainval': 100, 'val': 15}, num_classes=2。

  6. 现在是时候开始训练了(我在“models-master/research/deeplab”)。我用了10000步,为什么?我用 30000 证明了大约 30 个小时没有结果,所以我用新的参数来减少它。我想 10000 步可以告诉我一些东西:
    • 这一步需要将近 8 个小时(有一个很小的 ​​GPU,所以.. 不能使用它),它会生成检查点、graph.pbtxt 和 model.ckpt-XXX(包括 10000 个)文件。
  7. 我用(我在“models-master/research/deeplab”)这个命令行导出了之前的结果:
    • 它创建冻结图 (frozen_inference_graph.pb)。
  8. 现在运行:py main.py(证明图像和frozen_inference_graph.pb已经导入)
  9. 我的自定义模型没有结果。最后一个脚本适用于预先训练的 mobilenetv2_coco_voc_trainaug。不适用于我的自定义模型

data_generator.py(编辑行):

我用于训练的图像示例(1/100)(我使用了labelMe实用程序):
shirt_001.jpg
shirt_001.png


mobilenetv2_coco_voc_trainaug 的 main.py 结果(作为一个人的衬衫,没关系)和我的自定义模型
mobilenetv2_coco_voc_trainaug 结果
我的自定义模型结果

如您所见,我的模型失败了。我一直在测试许多组合但没有成功。我应该怎么办?谢谢!

0 投票
1 回答
2322 浏览

tensorflow - 尝试使用 Keras 上的回调保存我的模型时,Sequential' 对象没有属性 '_ckpt_saved_epoch' 错误

当我尝试保存我的 MobileNet 模型时出现此错误。

我正在使用回调来保存:

我的型号代码:

我通过替换代码解决了这个问题:

使用代码:

0 投票
1 回答
415 浏览

python - Count number of persons in a video

I have code from pyimagesearch "https://www.pyimagesearch.com/2017/09/18/real-time-object-detection-with-deep-learning-and-opencv/#comment-550946" for object detection using caffe model. What I want to do is whenever a person is detected it should count and finally I want to count the number of person passed .

I have tried something but it incrementing the count for every frame, even if the person is same and appeared in multiple frames , it is counting in all the frames.

Actually what I want is whenever a person comes it should count one and when the next person comes it should count 2 like that the counting process should continue.

0 投票
1 回答
795 浏览

tensorflow - ``将 pb 转换为 tflite SSD_MobileNet_V2 时出错 - Windows 10

我是 Tensorflow 的新手,我正在尝试转换pbtflite但是当我使用这个命令时

我收到这个错误

请帮我。

0 投票
0 回答
77 浏览

tensorflow - 使用 MobileNetV1 的多位数分类器

我想训练一个模型能够对图像中的 16 个数字进行分类,数字的数量是常数。所以我像这些图像一样创建我的数据集(在 SUN 数据集背景上打印具有不同字体和大小的随机 16 个数字):

在此处输入图像描述

我的训练数据集大约有 3000 张图像和 600 张用于验证的图像。

所以我想使用 MobileNetV1 作为特征提取器,并为每个数字连接到 16 个 softmax 输出层。

这是我创建模型的代码片段

所以我的数据集图片大小是(650,65),训练张量形状是(3000,650,65,3),归一化值在-1和1之间

我的火车标签是一个热张量的 16 个数组,形状为 (16,3000,10)

我的模型编译成功并开始训练,但我的损失和 val_loss 在时期没有得到改善。

基本上我想创建像这张图片这样的模型,因为这个模型在这个数字分类问题上效果很好。 在此处输入图像描述

该模型架构的顶部类似于 MobileNetV1,输入是调整大小和归一化块。

0 投票
2 回答
1150 浏览

tensorflow - 在 CPU 上使用 mobilenetv2 的 cifar10 dadatset 没有获得正确的准确性

我曾尝试使用https://github.com/tensorflow/models/tree/master/research/slim中提到的 cifar10 数据集训练 mobilenetV2唯一的变化是我在 CPU 上完成了它,但我最终只获得了 63% 的准确度,但声明准确率为 94%

0 投票
1 回答
1683 浏览

keras - 在 CIFAR-100 上训练 Keras MobileNetV2(从头开始)

我想在 CIFAR-100 上从头开始训练 MobileNetV2,我得到以下结果,它在一段时间后停止学习。

在此处输入图像描述

这是我的代码。我希望看到至少 60-70% 的验证准确率,我想知道我是否必须在 imagenet 上对其进行预训练,还是因为 CIFAR100 只有 32x32x3?由于一些限制,我使用 Keras 2.2.4 和 tensorflow 1.12.0。