问题标签 [darkflow]

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 投票
2 回答
518 浏览

android - 找不到android tensorflow ExtractImagePatches Op

我正在尝试在darkflow yolo 模型上使用 tensorflow android 运行推理。我可以在默认的 tiny-yolo-voc 模型上成功运行,但是当我将模型(以及相应的参数)更改为 yolo 模型时,出现以下异常:

我假设关于这个问题的评论,tensorflow 无法识别 ExtracImagePatches 运算符。但是我怎样才能让 tensorflow 在我的 android 设备上识别它呢?

到目前为止我做了什么:

  • 根据此从 yolo.cfg 生成带有暗流的 yolo.pb 文件。(使用相同的命令,我生成了 tiny-yolo-voc.pb):

$ ./flow --model cfg/yolo.cfg --load bin/yolo.weights --savepb --verbalise

  • 根据这个可能的解决方案优化了 yolo.pb 文件并将其放置到我的 android 项目的 assets 文件夹中:

$ bazel-bin/tensorflow/tools/graph_transforms/transform_graph --in_graph=../darkflow/darkflow/built_graph/yolo.pb --out_graph=../android/test/TfDroidTest/app/src/main/assets/optimized_yolo .pb --inputs='input' --outputs='output' --transforms='strip_unused_nodes(type=float, shape="1,2,2,1") fold_constants(ignore_errors=true) fold_batch_norms fold_old_batch_norms'

  • 根据this修改 mytensorflow/contrib/makefile/tf_op_files.txt以包含该行。tensorflow/core/kernels/extract_image_patches_op.cc

  • 使用以下命令重建 android tensorflow:

$ cd tensorflow/contrib/makefile/ && ./build_all_android.sh && cd -

$ ./配置

$ bazel build -c opt //tensorflow/contrib/android:libtensorflow_inference.so --crosstool_top=//external:android/crosstool --host_crosstool_top=@bazel_tools//tools/cpp:toolchain --cpu=arm64-v8a

$ bazel build //tensorflow/contrib/android:android_tensorflow_inference_java

并将 .so 和 .jar 文件添加到我的 android 项目中。

  • 使用本机支持重建和部署我的 android 项目。这是我的 InferenceRunner.java 的相关部分:

    /li>

在第二行抛出异常。正如我上面提到的,这适用于 tiny-yolo-voc 模型,但不适用于 yolo 模型。

我在 Ubuntu 16.04,android API 级别 24。如果您需要更多信息,请随时发表评论。感谢您的时间!

0 投票
0 回答
385 浏览

android - 优化的张量流图比android上的原始图慢

我有一个来自darkflow的张量流图,我在 android 设备上运行推理(在 CPU Snapdragon 820 上)。我发现这个图形转换工具可以优化部署模型。所以我优化了我的图表,预计它会比以前更快,但它变慢了大约 10%。

什么会导致这种情况?我究竟做错了什么?

以下是详细信息:

$ ./flow --model cfg/tiny-yolo-voc.cfg --load bin/tiny-yolo-voc.weights --savepb --verbalise

  • 我使用以下命令优化了图表:

$ bazel-bin/tensorflow/tools/graph_transforms/transform_graph /
--in_graph=../darkflow/darkflow/built_graph/tiny-yolo-voc.pb /
--out_graph=../darkflow/darkflow/built_graph/optimized-tiny -yolo-voc.pb /
--inputs='input' --outputs='output' /
--transforms='strip_unused_nodes(type=float, shape="1,299,299,3") fold_constants(ignore_errors=true) fold_batch_norms fold_old_batch_norms'

  • 我的代码:

InfrerenceRunner.java:

MainActivity:onCreate():

MainActivity:onResume():

  • 我的 Systrace 输出: 系统跟踪

TinyYoloModel 墙持续时间为 5,525ms
OptimizedModel 持续时间为 6,043ms
TinyYoloModel inferenceRun avg: 1051ms
OptimizedModel inferenceRun avg: 1158ms

你知道为什么优化模型变慢了吗?

如果您需要更多信息,请随时发表评论!谢谢你的帮助。

0 投票
1 回答
668 浏览

python - 安装后无法使用darknet / Yolo2(Python)

我想根据githubdarkflow的说明使用/Yolo2

安装成功后,我什么也做不了。flow 命令不起作用,我无法加载权重。

我收到以下警告:

der befehl "flow" ist entweder falsch geschrieben oder konnte nicht gefunden werden(命令 "flow" 写错或找不到)

我做了什么:

有人可以帮我解决这个问题吗?

0 投票
0 回答
439 浏览

tensorflow - *Tensorflow Objection Detection API* YOLO darkflow 的 mAP 计算?

所以我想使用 TF Object Detection API 来计算 YOLO 的 mAP 分数。

目前我正在训练我的 YOLO 模型,它正在生成 ckpt 文件/冻结图形文件。

我想使用我的 YOLO 模型并使用 TF Obj Dec API 对其进行评估。我知道 Eval.py 说


2) 可以提供三个配置文件:一个 model_pb2.DetectionModel 配置文件来定义正在评估的检测模型的类型,一个 input_reader_pb2.InputReader 文件来指定模型正在评估什么数据,以及一个 eval_pb2.EvalConfig 文件来配置评估参数。

示例用法:


但是,对于 darkflow,没有 model_pb2.DetectonModel 配置文件。这可能吗?

0 投票
1 回答
344 浏览

arduino - 从 PC 到 Arduino 的 Yolo 网络标签输出?

我最近对这个关于图像分类的机器学习主题产生了兴趣。
我绝不是程序员,但我是一个对此非常感兴趣的农民,而检测水果和蔬菜的质量是一项非常繁琐且耗时的任务,特别是如果您没有钱购买工业机械以中小型规模执行此任务。

我最近遇到了这个教程(不得不修复很多错误,因为它写得非常糟糕,但它确实有效):

https://imaginghub.com/projects/148-how-to-distinguish-apples-and-pears-with-raspberry-pi/documentation

这基本上是未来水果/蔬菜质量分级机的基石。

这条传送带将有一个 Arduino,它将接收来自 Python 程序的输出,该输出应激活伺服系统以将每个水果/蔬菜重定向到自己的篮子。

现在我想知道如何从网络获取标签输出并将其转换为数字,例如:

苹果 = 1,橙子 = 2,黄瓜 = 3...

因此,只要是苹果,Arduino 就会收到一个 1 来点亮一个 LED(首先是这个,然后是伺服),橙色和黄瓜等也会发生同样的情况。

这是我认为必须对框标签输出 Deploy.py 和 yolo_net.py 做一些事情的 2 个代码

Deploy.py 是我为获取实时摄像头检测器而运行的文件:

部署.ipynb

这是 yolo_net.py (如果它有助于以某种方式回答我的问题):

yolo_net.py

0 投票
2 回答
1002 浏览

python-3.x - YOLO - tensorflow 适用于 cpu 但不适用于 gpu

我使用我的 GPU - Nvidia 1060 3Gb 将 YOLO 检测与训练模型一起使用,一切正常。

现在我正在尝试使用参数 --gpu 1.0 生成我自己的模型。Tensorflow 可以看到我的 gpu,正如我在开始时所读到的那样:“名称:GeForce GTX 1060 主要:6 次要:1 memoryClockRate(GHz):1.6705”“totalMemory:3.00GiB freeMemory:2.43GiB”

无论如何,稍后,当程序加载数据并尝试开始学习时,我收到以下错误:“无法从设备分配 832.51M(872952320 字节):CUDA_ERROR_OUT_OF_MEMORY”

我检查了它是否尝试使用我的其他 gpu (Intel 630),但它没有。

当我在没有“--gpu”模式选项的情况下运行训练过程时,它工作正常,但速度很慢。(我也试过 --gpu 0.8, 0.4 等)

知道如何解决吗?

0 投票
2 回答
1232 浏览

python - 如何更改 Yolo 2 (darflow) python 中的检查点间隔?

我正在训练 Yolo2 (darkflow) 并希望更改间隔(例如每 100 步)以创建检查点。

火车指挥:

像这样的东西:

我找不到命令。谢谢 !

0 投票
1 回答
502 浏览

python-3.x - 在树莓派零上检测时出现暗流错误:未定义符号:_ZN6google8protobuf8internal26fixed_address_empty_stringE

目前我正在尝试在安装了摄像头的 RPi 零上运行暗流。

使用暗流检测有点慢,但在 pi 3 上运行良好。(虽然编译 opencv3 需要几个小时)所以我认为它在 pi 零上很相似,但事实并非如此。

我设法安装了 opencv 3.3.1(花了一天时间来构建)和 tensorflow(使用
tensorflow-1.4.0-cp35-none-any.whl 从 tensorflow-1.4.0-cp34-none-any.whl 重命名),并且他们工作正常(有点......由于python版本不兼容,tensorflow显示了一些警告 - 但根据Pete Warden的博客它无论如何都可以工作:https ://petewarden.com/2017/08/20/cross-compiling-tensorflow-为树莓派

没有任何问题。(它实际上是 python3,因为我在 venv 和 python3 上)

但是当我尝试检查检测是否适用于以下命令时:

它给出了错误:

我不知道出了什么问题以及如何解决这个问题。你能帮忙吗?

0 投票
0 回答
112 浏览

python - 暗流调用错误版本的python

当尝试将 yolo 用于 python 时,我遵循了https://github.com/thtrieu/darkflow我安装了流使用

但是,当运行时

我明白了

当我调用 python 时,我进入 python 3.6,如果 import cv2 它没有任何问题,即导入 cv2。

打电话时

我明白了

所以flow确实调用了错误的python版本。我想,也许我应该删除我电脑上的 python 3.5 版本,但在寻找如何做到这一点时,我只发现我不应该这样做的警告。

所以我的问题是:怎么做才能奏效?

也许其他相关信息:

并且(我尝试先用 pip 安装 flow,但是没有用)

我正在开发 Ubuntu 16.04.3 LTS

0 投票
0 回答
582 浏览

python - 如何让 TensorFlow 使用我的 GPU?

我目前正在尝试运行一个名为 YOLO (darkflow)的对象检测器。

我已经安装了 CUDA 8.0、CudNN 5.1、tensorflow 1.0 和 tensorflow-gpu(均通过 pip 安装)。

我正在使用以下命令行测试 YOLO:

问题是:即使使用 --gpu 1.0,它的运行速度约为 0.8 FPS。

在运行它时,我使用nvidia-smi来监控我的 GPU,这就是我得到的:

显然 tensorflow 没有在我的 GPU 上运行它。

GTX 650 根据 NVIDIA 的计算能力是 3.0,所以使用 tensorflow-gpu 应该没问题。