tx2使用说明

背景

在T4上运行的工程迁移到tx2上,相同的工程,不同的环境,势必遇到几个坑,遂记之。

出现的问题

1. python版本

  • 可在cmake的时候通过超参数指定,cmake -DPYTHON_EXECUTABLE=/usr/bin/python ..

2. openGL对glew等依赖包

  • 安装tx2的时候这些以及opencv都是打包安装了的,所以直接试试能不能用就可以,这一点和自行安装系统的T4不太一样,不要被经验给害了。gflags应该还是需要自行安装的。

3. DISPLAY设置问题

-在tx2上设置为DISPLAY=":1";T4上设置为DISPLAY=":0.0"。关于这个环境变量的更多科普信息可看此链接.

4. glfw安装问题

  • 出现诸如CMake Error at CMakeLists.txt:231 (message): The Xinerama library and headers were not found这样的问题。
  • 网上也有一些解答:直接安装libxinerama-dev等等类似的操作,这些可能会有一些依赖问题,多是由于版本问题引起的。所以与其调源等,不如直接在官网下载比较直接。比如我用的tx2的环境,已经升级到了ubuntu18(cat /etc/lsb-release)。那直接下载相应版本的libxinerama(Bionic,包含arm64版本)并手动安装(ps:源文件中有INSTALL说明)就可以了。

5. 查看gpu、CPU信息

  • 使用命令/usr/bin/tegrastats,参考此链接
  • 其他系统信息的查询
  • tx2可以调整计算模式,不过我还没有使用,感觉像是汽车调整成运动模式似的

6. 重新编译onnx时的注意事项

  • 如果是自己添加的tensorRT层,在目前版本(tensorRT6)还是需要修改onnx-tensorRT。
  • 记得onnx-tensorRT在默认的路径:
    -sudo find / -name NvOnnxParser.h  : /usr/include/aarch64-linux-gnu/NvOnnxParser.h
    sudo find / -name NvInfer.h : /usr/include/aarch64-linux-gnu/NvInfer.h
    
  • 根据默认路径,编译命令为:cmake .. -DGPU_ARCHS="61" -DCUDA_INCLUDE_DIRS=/usr/local/cuda-10.0/include -DCMAKE_INSTALL_PREFIX=/usr/lib/aarch64-linux-gnu
  • 如果译时报错/usr/include/cudnn.h:63:10: fatal error: driver_types.h: No such file or directory;把cmake的命令更换后就好了cmake .. -DTENSORRT_ROOT=/usr/src/tensorrt -DGPU_ARCHS="61" -DCUDA_INCLUDE_DIRS=/usr/local/cuda-10.0/include,其参考自这里。GPU_ARCHS=“61” 来自于deviceQuery的结果

7. opengl版本等

  • linux下查看opengl版本
  • 另记一个蛛丝马迹:执行命令cat /etc/X11/xorg.conf,tx2和T4不一样的地方是Option "AllowEmptyInitialConfiguration" "true",没太细研究,感觉T4可以不用视频输卡就很牛逼了,这个可能有点联系。先放这儿
    Section "Device"
        Identifier  "Tegra0"
        Driver      "nvidia"
    # Allow X server to be started even if no display devices are connected.
        Option      "AllowEmptyInitialConfiguration" "true"
    EndSection
    

你可能感兴趣的:(深度学习)