问题标签 [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.
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修改 my
tensorflow/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。如果您需要更多信息,请随时发表评论。感谢您的时间!
android - 优化的张量流图比android上的原始图慢
我有一个来自darkflow的张量流图,我在 android 设备上运行推理(在 CPU Snapdragon 820 上)。我发现这个图形转换工具可以优化部署模型。所以我优化了我的图表,预计它会比以前更快,但它变慢了大约 10%。
什么会导致这种情况?我究竟做错了什么?
以下是详细信息:
- 我使用来自darkflow的tiny-yolo-voc模型,无需修改。我创建了 tf 模型,如:
$ ./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():
TinyYoloModel 墙持续时间为 5,525ms
OptimizedModel 持续时间为 6,043ms
TinyYoloModel inferenceRun avg: 1051ms
OptimizedModel inferenceRun avg: 1158ms
你知道为什么优化模型变慢了吗?
如果您需要更多信息,请随时发表评论!谢谢你的帮助。
python - 安装后无法使用darknet / Yolo2(Python)
我想根据githubdarkflow
的说明使用/Yolo2
安装成功后,我什么也做不了。flow 命令不起作用,我无法加载权重。
我收到以下警告:
der befehl "flow" ist entweder falsch geschrieben oder konnte nicht gefunden werden(命令 "flow" 写错或找不到)
我做了什么:
有人可以帮我解决这个问题吗?
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 配置文件。这可能吗?
arduino - 从 PC 到 Arduino 的 Yolo 网络标签输出?
我最近对这个关于图像分类的机器学习主题产生了兴趣。
我绝不是程序员,但我是一个对此非常感兴趣的农民,而检测水果和蔬菜的质量是一项非常繁琐且耗时的任务,特别是如果您没有钱购买工业机械以中小型规模执行此任务。
我最近遇到了这个教程(不得不修复很多错误,因为它写得非常糟糕,但它确实有效):
这基本上是未来水果/蔬菜质量分级机的基石。
这条传送带将有一个 Arduino,它将接收来自 Python 程序的输出,该输出应激活伺服系统以将每个水果/蔬菜重定向到自己的篮子。
现在我想知道如何从网络获取标签输出并将其转换为数字,例如:
苹果 = 1,橙子 = 2,黄瓜 = 3...
因此,只要是苹果,Arduino 就会收到一个 1 来点亮一个 LED(首先是这个,然后是伺服),橙色和黄瓜等也会发生同样的情况。
这是我认为必须对框标签输出 Deploy.py 和 yolo_net.py 做一些事情的 2 个代码
Deploy.py 是我为获取实时摄像头检测器而运行的文件:
这是 yolo_net.py (如果它有助于以某种方式回答我的问题):
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 等)
知道如何解决吗?
python - 如何更改 Yolo 2 (darflow) python 中的检查点间隔?
我正在训练 Yolo2 (darkflow) 并希望更改间隔(例如每 100 步)以创建检查点。
火车指挥:
像这样的东西:
我找不到命令。谢谢 !
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 上)
但是当我尝试检查检测是否适用于以下命令时:
它给出了错误:
我不知道出了什么问题以及如何解决这个问题。你能帮忙吗?
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
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 应该没问题。