0

我有一个新的 Coral/Google Edge TPU USB 加速器。几天来,我没有太多运气让它继续下去。我试过了

  • 裸机 Intel、AMD 和 RaspberryPi3+ 上的 Ubuntu 18.04
  • Ubuntu 18.04 作为具有虚拟化 Global Unichip 设备的 KVM 来宾
  • Ubuntu 18.04 作为具有虚拟化 Global Unichip 设备的 Virtualbox 来宾

在所有情况下,鸟类检测示例应用程序都失败并显示各种错误消息,所有这些都归结为设备未被识别的事实。请注意,根据我正在阅读的内容,该设备应该在 lsusb 中作为 Google Inc. 之一出现,但在上述所有情况下,我得到的只是这个(各种变化,取决于机器):

# lsusb Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 005 Device 003: ID 046d:c05a Logitech, Inc. M90/M100 Optical Mouse Bus 005 Device 002: ID 04f3:0103 Elan Microelectronics Corp. ActiveJet K-2024 Multimedia Keyboard Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 002: ID 1a6e:089a Global Unichip Corp. <<<<<<<<<<<<<<<<<<< Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

当我看到 Koji 的这篇文章时,我已经怀疑是 DOA 设备了:[ https://dev.to/kojikanao/coral-edgetpu-usb-with-virtualbox-57e1][1]

它归结为在 Virtualbox 上使用 Ubuntu,并为 Global Unichip Corp. 条目创建两个设备过滤器。然后,需要通过将 USB Vendor ID 更改为 18d1 并将产品 ID 更改为 9302 来将第二个 Global Unichip 条目变成伪造的 Google 设备。一旦我这样做了,设备就被识别出来了,示例应用程序愉快地分类了 parakeets。这导致了几个问题:

  1. 可以在裸机 Ubuntu 安装和/或作为 KVM 来宾运行的设备上实现上述 fakeroo 吗?如何?
  2. 有没有办法快速(而不是启动一个 python 应用程序并看到它失败)确定 USB Edge TPU 设备正在工作?

我所有的虚拟机都在使用 5.1 内核的 Centos 7 主机的 KVM 上运行。VirtualBox 不能与 KVM 相处,我不期待将我所有的 VM 迁移到 Virtualbox,并且不期待对内核执行 KVM 脑叶切除术以启动 Virtualbox,只是为了让 USB Edge TPU 工作。想法?

PS:请放轻松,我是 Stackoverflow 上的 FNG。

https://dev.to/kojikanao/coral-edgetpu-usb-with-virtualbox-57e1

4

2 回答 2

0

Domo!

I also got it going without Virtualbox and faking it. Strangely enough, it is running on a Jetson Nano .... I was already starting to write a custom udev rule, when I found in /etc/udev/rules.d/99-edgetpu-accelerator.rules:

SUBSYSTEM=="usb",ATTRS{idVendor}=="1a6e",GROUP="plugdev" SUBSYSTEM=="usb",ATTRS{idVendor}=="18d1",GROUP="plugdev"

With that, lsusb that previously listed the device as

Bus 002 Device 004: ID 125f:dd4a A-DATA Technology Co., Ltd. Bus 002 Device 003: ID 1a6e:089a Global Unichip Corp

... now lists it as

Bus 002 Device 004: ID 125f:dd4a A-DATA Technology Co., Ltd. Bus 002 Device 005: ID 18d1:9302 Google Inc.

However, it is listed as 18d1:9302 Google Inc. only AFTER classify_image.py has been successfully run. No idea why.

Because the installer thought the Jetson was a Raspberry Pi , I had to create links as follows:

/usr/local/lib/python3.6/dist-packages/edgetpu/swig/_edgetpu_cpp_wrapper.cpython-36m-aarch64-linux-gnu.so => /usr/local/lib/python3.5/dist-packages/edgetpu/swig_edgetpu_cpp_wrapper.cpython-36m-aarch64-linux-gnu.so

... and so forth for all 3 *.so files in that directory.

于 2019-06-19T20:46:36.987 回答
0

我想我错了。实际上不需要假的,因为我删除了所有这些以使边缘 tpu usb 再次工作(在第一次之后,供应商 ID 和产品 ID 被我不知道的东西改变了,因为这在树莓派上没有发生和另一台ubuntu机器。)并且只添加了一个。然后它又起作用了。

我也更新了我的帖子。

于 2019-06-18T13:08:42.913 回答