转换和运行自定义神经网络

备注

除了 更新固件 的先决条件外, 您还需要一台安装有docker的主机、一根以太网线以及一个支持DHCP的本地网络。

要转换您自己的人工智能模型并在评估套件上运行,请使用以下步骤:

  1. 安装一个预构建的镜像,并按照 安装预构建的系统映像 所述连接到主板。

  1. 使用以太网线将板卡连接到本地网络。

  1. Kaggle 下载 1.tflite并保存为 mymodel.tflite

  1. 在主机上下载SyNAP工具包的docker镜像:

    $ docker pull ghcr.io/synaptics-synap/toolkit:3.0.0
    
  2. 在主机的shell中安装alias以运行SyNAP Toolkit容器:

    $ alias synap='docker run -i --rm -u $(id -u):$(id -g) -v ${MOUNTPATH}:${MOUNTPATH} \
                 -w $(pwd) ghcr.io/synaptics-synap/toolkit:3.0.0'
    

其中 ${MOUNTPATH} 是要挂载在容器内的主机目录的绝对路径。 该命令可在任何目录中执行,并且在当前会话中有效。 您可将它添加到您的shell启动文件(例如 .bashrc.zshrc )。

如果不带参数地运行它,您可获得那些可用的工具包命令的帮助信息:

$ synap
  1. 使用以下命令进行模型转换:

    $ synap convert --model mymodel.tflite --target ${CHIP_NAME} --out-dir converted
    

其中 ${CHIP_NAME}SL1620SL1640SL1680 之一,具体取决于目标设备。

此命令将 mymodel.tflite 转换为 converted/model.synap , 即转换为可在评估套件上执行的模型。

  1. 在目标板上,可使用以下命令来查询它的IP地址:

    # ifconfig eth0 | grep "/inet addr/"
              inet addr:192.168.1.110  Bcast:192.168.1.255  Mask:255.255.255.0
    
  2. 在主机上运行以下命令,可将转换好的模型上传到板卡:

    $ scp converted-model/model.synap root@192.168.1.110:/tmp
    
  3. 连接板卡,并发出以下命令:

    # cd /tmp
    # synap_cli random
    Flush/invalidate: yes
    Loop period (ms): 0
    Network inputs: 1
    Network outputs: 1
    Input buffer: input size: 150528 : random
    Output buffer: output size: 1001
    
    Predict #0: 12.49 ms
    
    Inference timings (ms):  load: 30.72  init: 3.35  min: 12.49  median: 12.49  max: 12.49  stddev: 0.00  mean: 12.49
    

更多关于模型转换选项、更多模型测试工具,以及如何在自己的应用程序中使用模型的信息, 请参阅 使用SyNAP进行机器学习