问题标签 [nvidia-jetson-nano]
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.
deep-learning - 自定义应用程序中的 DeepStream python 应用程序
在此链接中,我们可以访问 gstreamer 管道缓冲区并转换 numpy 数组中的帧缓冲区,我想知道,我如何访问 GPU 内存中的帧缓冲区,然后输入我的自定义处理器而不将帧转换为 numpy 数组。
我们有两种使用 deepstream 解码器的解决方案(比 opencv+gstreamer 更有效的方式):一种是我们需要编写处理的自定义元素并在 gstreamer 中注册,然后将自定义元素放入管道中,然后对帧缓冲区进行处理. 这种方式很好但需要编写和了解gstreamer编程。这种方式与深流相同。第二种方法是我们只使用来自该链接的帧解码,然后将帧传递到自定义处理器单元。对于这一部分,我有两个问题:
1- gstreamer 的循环与异步编程循环相同吗?
2-如您所知,如果我们在 pad prob 函数中添加额外的操作,这会导致性能下降,但我想知道,是否可以将帧放在 pad prob 函数中并执行loop.create_task(process(frame))像异步?这导致我们在这里不等待执行处理。像这样:
ffmpeg - ffmpeg 是否支持 Jetson 平台的 GPU 加速?
我想在 Jetson-nano 上运行ZoneMinder作为 IP CAM 服务器,但似乎 Jetson nano 无法处理许多使用ffmpeg进行解码的凸轮。
如果我在ZoneMinder上打开三个摄像头,CPU 使用率总是 100%,但 GPU 使用率是 0%,我无法打开更多摄像头。
没有硬件加速的FFMPEG?
在这次讨论中,NV 版主说
Jetson 平台上未启用支持 GPU 的 ffmpeg ...
我知道 NVENC/NVDEC 可以帮助 ffmpeg 硬件加速,但是这些硬件块现在正在 CPU 上执行,而不是在 GPU 上。
jetson-nano 的自定义 FFMPEG 不支持 GPU 加速?
我找到了这个jetson-ffmpeg 存储库,这个存储库可以使用 GPU 加速吗?因为我试过但没有用(仍然使用 CPU 的 NVENC/NVDEC 加速)。
如果 Jetson nano 上的 GPU 确定不支持 ffmpeg 加速,但我想使用 ZoneMinder,有没有更好的方法来解决这个问题?例如使用 GStreamer?
python-3.x - Python 3.8 RAM 溢出和加载问题
首先,我想提一下,这是我们第一个规模更大的项目,因此我们并不知道一切,但我们学得很快。
我们开发了一个用于图像识别的代码。我们用 raspberry pi 4b 进行了尝试,但很快就发现这是整体减慢速度的一种方式。目前我们使用的是 NVIDIA Jetson Nano。第一次识别没问题(大约 30 秒),第二次尝试更好(大约 6-7 秒)。第一次花了很长时间,因为模型将是第一次加载。通过 API 可以触发图像识别,来自 AI 模型的元数据将作为响应。我们为此使用快速 API。
但是现在有一个问题,如果我在分类文件的开头(在导入时加载)将我的 CNN 作为全局变量加载并在线程中使用它,我需要使用 mp.set_start_method('spawn') 否则我会收到以下错误:
“RuntimeError:无法在分叉子进程中重新初始化 CUDA。要将 CUDA 与多处理一起使用,您必须使用‘spawn’启动方法”
现在这当然很容易解决。只需在开始我的线程之前添加上面的方法。的确,这是可行的,但同时出现了另一个挑战。将启动方法设置为“生成”后,错误消失了,但 Jetson 开始分配大量内存。
由于开销和预加载的 CNN 模型,在线程启动之前 RAM 大约为 2.5Gig。启动后它不会停止分配 RAM,它会消耗所有 4Gig 的 RAM 以及整个 6Gig Swap。在此之后,整个 API 进程终止并出现此错误:“无法分配内存”,这是显而易见的。
我也设法通过在分类函数中加载 CNN 模型来解决这个问题。(不像之前的两种情况那样在 GPU 上预加载它)。但是,在这里我也遇到了问题。将模型加载到 GPU 的过程大约需要 15 秒到 20 秒,每次识别开始时都会如此。这不适合我们,我们想知道为什么在两次图像识别之后我们不能在不杀死整个事物的情况下预加载模型。我们的目标是控制在 5 秒以内。
这里的任何帮助将不胜感激。谢谢你。
python - 在 Jetson Nano 终端上不使用“sudo”导入 opencv
我已经使用OpenCV
了很长时间了Jetson Nano
。我总是用命令在Jetson Nano
终端上启动我的代码。sudo
例如:
当我做:
...我无法导入 opencv。如何在opencv
不使用终端上的 `sudo 命令的情况下导入?
请你帮助我好吗?
python - 错误:无法为使用 PEP 517 且无法直接安装的 opencv-python 构建轮子
我试图在 jetson nano 上的 docker 中安装 OpenCV4。它有jetpack 4.4 s os。docker 已成功创建并且 Tensorflow 正在运行,但是在使用 pip 安装 OpenCV 时显示 CMake 错误。
python - 使用用于 Jupyter 笔记本的 xbox 控制器,实时保持分配给操纵杆值的变量
我在我的项目中使用 Jupyter 笔记本和 Xbox 控制器来实时控制机器人。
import ipywidgets.widgets as widgets
用来
它可以使用 traitlets 直接将它们分配给滑块或电机,但我不知道如何事先对它们进行计算。
如果我将这些值分配给变量,它会在运行单元格时获取当前值。
这是直接分配给电机的工作代码:
但是,我需要计算我想走的角度,因此计算两个操纵杆值轴的 arctan2(transform: lambda
我认为这还不够吗?)。
我不明白我应该如何处理这个问题,因为我从来没有使用过总是更新变量,比如 Xbox 控制器变量。如果您需要更多信息,请告诉我。
linux - 无法在 Jetson nano (ubuntu) 中导入 Pytorch
我在我的 jetson nano(jetpack 4.4,Cuda 10.2.89)中导入 PyTorch 时遇到问题,我已经从 .whl 文件成功安装了它,它位于我的 pip3 库中。但是当我导入它时,它会显示此错误。请帮忙。
c++ - 打开 CV 延迟测量
我在我的项目中使用了带有 yolov3 和 darknet 的 openCV 库。我的应用程序是用 C++ 编写的,它读取 rtsp 流并在流中寻找人。我在我的 Nvidia Jetson Nano 上运行它,一切都很好,但有一个小问题。我的视频分析有明显的延迟。当我运行它并出现在相机视图区域时,我可以看到大约 20 秒的延迟。
我正在分析子流(720p 2fps),但在识别时,我想在使用 ffmpg 记录的主流(1080p 15fps)上捕捉正确的识别时刻。为此,我需要 (1) 没有识别延迟或 (2) 在识别期间测量此延迟以定义我需要捕获的主视频的哪一秒。我想(1)是不可能的。
你知道openCV是否有这样的选项来显示这个延迟?我该如何测量它?
ps 这个延迟并不总是一样的。但我注意到它是从 10 到 20 秒,
非常感谢您的帮助;)
gpio - 通过 GPIO 使用 AMG8833 的 Jetson nano 总是出现远程 I/O 错误
如标题所述,我试图通过 Jetson nano 上的 GPIO 从 AMG8833 中提取一些数据,但总是得到
我的 AMG8833 SDA 连接到 GPIO 引脚 27,SCL 连接到引脚 28。我已经尝试过
然后只显示29,我不知道这个,仍然无法工作......
有没有人对此问题有任何其他解决方案?请与我分享,我将非常感谢您的帮助。以下是python代码...
python - FMUException:加载二进制文件时出错。无法加载 FMU 二进制文件
我该如何解决这个问题?
操作系统环境如下。
- 蟒蛇 3.7.1
- 康达 4.5.12