如果使用的神经网络计算卡是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模块。
如果使用的是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*
可设置LD_LIBRARY_PATH变量指向GTILibrary所在的目录,例如:
firefly@firefly:~$ export LD_LIBRARY_PATH=/home/firefly/GTISDK/Lib/Linux/aarch64:$LD_LIBRARY_PATH
查看userinput.txt(在SDK的data/Models/gti2801/gnet2_3/cnn_3目录下)中的节点名字(usb接口模块节点名为/dev/sg*, eMMC接口模块节点名为/dev/mmcblk1)跟开发板生成的节点名字是否一致,在Tools目录下有测试程序,可以自动检测判断节点和测试连通性.
查看 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/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host6/target6:0:0/6:0:0:0/max_sectors ubunut16.04:~$ su ubunut16.04:~# echo 2048 > /sys/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/host6/target6:0:0/6:0:0:0/max_sectors
参考/dev/sgX或/dev/mmcblk1权限问题
如果使用的是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。
在使用PLAI是出现如标题的错误请在PLAI根目录下执行以下命令:
ubunut16.04:~/PLAI$ export LD_LIBRARY_PATH=$(pwd)/lib/python/gtilib:$LD_LIBRARY_PATH
再运行PLAI。
如出现以下错误:
- 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, 请根据训练的模型进行修改。
全部0条评论
快来发表一下你的评论吧 !