本文献给对GPU开发入门的Jetson TX2用户(如果对Ubuntu都不熟悉的人,我基本都会建议先别直接玩TX2,请先在电脑上学习)。这部分用户往往热情高涨,但入门毫无头绪
当你拿到我们的Jetson TX2开发套件的时候,大概率是我们已经帮你刷好了Jetpack 3.3,关于Jetpack3.3的介绍,包含了哪些SDK和库,可以参考NVIDIA Jetson嵌入式开发平台 Jetpack 3.3发布 和 新买的NVIDIA Jetson TX2,为啥一定要用Jepack刷机?
记住:我们说的安装好开发环境就是指用Jetpack刷好机了,不要再死循环地问我们:开发环境装好没?如果你有特定需求,在购买TX2之前就指出来,好判断说TX2到底是否支持你的特定开发。
在开始玩TX2之前,请先弄清楚这个问题:我买Jetson TX2到底准备干啥用?
开机
几个注意事项:
左下方有4顆按鈕設置,由左至右分別為Reset Button(RST)、User Defined Button(Vol)、Force Recovery Button(REC)、Power Button(Power BTN)
跑个海洋模拟的例子
其实CUDA就在 /usr/local/cuda-x-y (X Y 是CUDA版本)下面,
如果你只会图形操作界面的话,就在图形上面的档案管理员点进去 computer进去找 usr 目录
注意,这里跟很多百度搜索出来的TX2跑CUDA Sample教程不太一样,原因是网上的教程大部分是Jetpack 3.1下跑的,Jetpack3.2以后的版本有一些变化,也不排除未来还会有变化,记得与时俱进。
执行一个海洋模拟的Sample.
进到 /usr/local/cuda-9.0/samples/5_Simulations/oceanFFT 目录下
执行 sudo make
会让你输入密码,密码是nvidia
执行指令 ./oceanFFT
CUDA的设备属性
在终端里输入:
$ cd /usr/local/cuda/samples/1_Utilities/deviceQuery
$ sudo make
$ ./deviceQuery # 结果如下图
GPU和CPU性能对比例程
$ cd /usr/local/cuda/samples/5_Simulations/nbody
$ sudo make
$ ./nbody --help# 显示参数选择
$ ./nbody# 用 GPU 执行,如下图左(黄框内显示性能)
$ ./nbody -cpu# 用 CPU 执行,如下图右(黄框内显示性能)
调用板载摄像头
下面两种方法都可以:
$ nvgstcapture-1.0 --prev-res=3
$ gst-launch-1.0 nvcamerasrc ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)I420, framerate=(fraction)60/1' ! nvvidconv ! 'video/x-raw(memory:NVMM), format=(string)I420' ! nvoverlaysink -e
给车辆加框
这个是multimedia API里的代码:
$ cd ~/tegra_multimedia_api/samples/backend
$ ./backend 1 ../../data/Video/sample_outdoor_car_1080p_10fps.h264 H264 --trt-deployfile ../../data/Model/GoogleNet_one_class/GoogleNet_modified_oneClass_halfHD.prototxt --trt-modelfile ../../data/Model/GoogleNet_one_class/GoogleNet_modified_oneClass_halfHD.caffemodel --trt-forcefp32 0 --trt-proc-interval 1 -fps 10
(指令在一行上,但这里排版老排不好,大家自己体会吧。第一次执行,会花很长时间,并且可能不出结果。请再执行第二次,会看到下面输出)
一个TensorRT的例程
$ cd /usr/src/tensorrt/samples
$ sudo make# 编译所有的 samples,执行档存在 ../bin 目录
$ cd ../bin# 可任意执行本目录下执行档
$ ./sample_mnist# 上图为系统随机跑出的手写符号,下图为TRT预测结果
好了,以上几个例程顺利执行完,你差不多对这个板子有一点小小的感觉了。
接下来就好好想想你拿这个开发板到底要做什么?