常见问题 1. 找不到/dev/sgX或/dev/mmcblk1 如果使用的神经网络计算卡是eMMC接口的,请下载并烧写专用固件,或编译并使 用AI资料U盘中的内核。 如果使用的神经网络计算卡是USB接口的请确认SCSI的sg.ko驱动模块存在,步骤 如下: 1). 内核内置确认modules.builtin中包含“kernel/drivers/scsi/sg.ko",命令 : firefly@firefly:~$ cat /lib/modules/$(uname -r)/modules.builtin | grep sg.ko 如果打印”kernel/drivers/scsi/sg.ko“,则驱动存在,请检查神 经网络计算卡是否完好。 2). 外置模块 使用命令: firefly@firefly:~$ sudo modinfo sg 如果打印 “modinfo: ERROR: Module sg not found.”则驱动不存在,否则存在。 如果驱 动存在可尝试以下操作加载驱动: firefly@firefly:~$ sudo modprobe sg 如果驱动不存在则需要自行编译并加载sg.ko模块。 2. /dev/sgX或/dev/mmcblk1权限问题 如果使用的是eMMC接口的模块请在root用户下运行程序。 如果使用的是usb接口的模块,可在GTISDK目录下尝试以下操作: firefly@firefly:~GTISDK$ sudo cp -i Lib/Linux/aarch64/50-emmc.rules /etc/udev/rules.d/ firefly@firefly:~GTISDK$ sudo udevadm control --reload 或者尝试以下操作: firefly@firefly:~$ sudo chmod 777 /dev/sg* 3. 出现-lGTILibrary Not found错误 可设置LD_LIBRARY_PATH变量指向GTILibrary所在的目录,例如: firefly@firefly:~$ export LD_LIBRARY_PATH=/home/firefly/GTISDK/Lib/Linux/aarch64:$LD_LIBRARY_PATH 4. GTI初始化失败 查看userinput.txt(在SDK的data/Models/gti2801/gnet2_3/cnn_3目录下)中 的节点名字(usb接口模块节点名为/dev/sg*, eMMC接口模块节点名为 /dev/mmcblk1)跟开发板生成的节点名字是否一致,在Tools目录下有测试程序, 可以自动检测判断节点和测试连通性. 5. GTI芯片读写失败 查看 userinput.txt 中的 max_sectors ("USB write block numbers": 2048) 这个参数的大小, usb2.0接口或eMMC接口设置为128,usb3.0接口设置位2048; 或者修改max_sectors修改为userinput.txt 大小,参考如下: ubunut16.04:~$ find /sys/devices/ -name max_sectors /sys/devices/pci0 000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host6/target6:0:0/6:0:0:0/max_se ctors ubunut16.04:~$ su ubunut16.04:~# echo 2048 > /sys/devices/pci00 00:00/0000:00:14.0/usb1/1-1/1-1:1.0/host6/target6:0:0/6:0:0:0/max_sec tors 参考/dev/sgX或/dev/mmcblk1权限问题 6. TypeError: can't convert CUDA tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory first. 如果使用的是PyTorch 1.0rc1可修改PyTorch包中的tensor.py def __array__(self, dtype=None): if dtype is None: return self.numpy() else: return self.numpy().astype(dtype, copy=False) 为 def __array__(self, dtype=None): if dtype is None: return self.cpu().numpy() else: return self.cpu().numpy().astype(dtype, copy=False) tensor.py参考路径为/usr/lib/python3.7/site-packages/torch/tensor.py, 请根据自己PyTorch的安装路径查找 tensor.py。 7. OSError: libftd3xx.so.0.5.21: cannot open shared object file: No such file or directory 在使用PLAI是出现如标题的错误请在PLAI根目录下执行以下命令: ubunut16.04:~/PLAI$ export LD_LIBRARY_PATH=$(pwd)/lib/python/gtilib:$LD_LIBRARY_PATH 再运行PLAI。 8. Could not load model. Device:/dev/sg1----usb_write error 如出现以下错误: - 1541659252666 -140566399514112- 0-:usb_emmc_read ioctl error. code:-1 - 1541659252667 -140566399514112- 0-:Could not load model. Device:/dev/sg1----usb_write error 请查看/dev/sg*是否有读写权限,如果没有请参考 [2] ,进行配置。 如果问题未解决,请参考 [5] ,其中userinput.txt对应PLAI中的nets/netConfig*.txt, 请根据训练的模型进 行修改。