遇到领导要求出demo,尬,好久没撸ML了,工作两年信息流打杂,以前也就叶公好龙毕业前VS编译了一波caffe跑了几个demo,尬出天际,这两天踩坑不少,留个笔记
第一尬:jupyter notebook没法显示图片
from matplotlib import pyplot as plt
import numpy as np
import cv2
img = cv2.imread('img.jpg')
img2 = img[:,:,::-1] # 必须为 ::-1
plt.imshow(img)
来源:https://www.cnblogs.com/ctsch/p/9157776.html
jupyter 等于用web重新输出了一遍,遗憾cv2自身的imshow是显示不了的,matplotlib大法好
PS:PIL读的图片不要做取反,会反色的,直接拿去pyplot输出
第二尬:git
一直内网git,怎么翻都忘了,注意作者一开始写错,回复里写对了https://gist.github.com/laispace/666dd7b27e9116faece6
第三尬:jupyter notebook 跑别人代码莫名其妙尬
我也忘了什么代码会出现,反正当时在jupyter上出现了,拷贝到命令行可以用,原因是jupyter相当于封装了跑的,有fork操作,https://github.com/ipython/ipython/issues/11536,下次再遇到再写。
第四尬:不要一进windows命令行就jupyter,当场就卡了
切换到需要的目录,在c:\Windows\System32下面启动jupyter直接坑电脑(如果你System32下面干干净净当我没说,大佬带带我)
ps: 查看自己的python当前路径:import os;print(os.getcwd()); Python3用。
第五尬:Nvidia Jetson TX2忘记刷的哪个JetPack
默认系统刷完Jetpack 放着不管一个星期,回过头来拿起板子时,刷机Jetpack的电脑已经被格掉了,想查装的哪个版本,lsb_release无内容(定制ubuntu),尴尬——解决方法,cat /etc/nv_tegra_release 查看L4T版本(第一行 RXX R32表示 JetPack 4.2,因为基本上目前都是一个L4T对应一个JetPack版本,
JetPack 3.2.1 L4T R28.2.1 cuDNN v7.0.5 TensorRT 3.0 GA
JetPack 3.2 L4T R28.2
JetPack 3.3 L4T R28.2.1 cuDNN v7.1.5 TensorRT 4.0 GA YES
##############################################
how to find the version of cudnn
```
cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2
```
```
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 1
#define CUDNN_PATCHLEVEL 5
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
#include "driver_types.h"
```
which means version 7.15
##############################################
出处:
https://devtalk.nvidia.com/default/topic/1046403/jetson-tx2/how-to-check-the-jetpack-version/
https://developer.nvidia.com/embedded/jetpack-archive
第六尬:Nvidia Jetson TX2刷机后没了jetson_clock.sh
没了home下的超频脚本,不会开最大CPUGPU总线时钟了,而且跑程序编译都方,因为最大风扇了也没了,一直纠结散热片温度,热了也不敢用嘴吹气怕喷口水上去,尬——首先,直接拷贝旧版脚本也是不行的,因为风扇pwm接口文件位置改了,调整频率有一个专门调用了,没有深究。
sudo su
# Below R32.1
echo 255 > /sys/kernel/debug/tegra_fan/target_pwm
# Or this from R32.1
echo 255 > /sys/devices/pwm-fan/target-fan
# Set performance
sudo nvpmodel -m [mode] ## mode = 0/1/2/3/4
# Check performance
sudo nvpmodel -q --verbose ## 警告:jetsonhacks 缺了一个 “-” 应当为 “--verbose”
## warning: jetsonhacks lost one '-' at '--verbose'
###################################
# Mode Mode Name Denver2 Frequency ARM A57 Frequency GPU Frequency
# 0 Max-N 2 2.0 GHz 4 2.0 GHz 1.3 GHz
# 1 Max-Q 0 4 1.2 GHz 0.85 GHz
# 2 Max-P Core-All 2 1.4 GHz 4 1.4 GHz 1.12 GHz
# 3 Max-P ARM 0 4 2.0 GHz 1.12 GHz
# 4 Max-P Denver 1 2.0 GHz 1 2.0 GHz 1.12 GHz
exit
出处:
https://devtalk.nvidia.com/default/topic/1049772/jetson-agx-xavier/the-fan-is-not-running-while-hot-and-there-is-no-access-to-the-fan-speed-sysfs-handle/
https://www.jetsonhacks.com/2017/03/25/nvpmodel-nvidia-jetson-tx2-development-kit/
第七尬:jetsonhacks坑萌新
jetsonhacks/buildOpenCVTX2 各大教程都让萌新从这里安装opencv4tegra,然后,当前JetPack 支持TX2的是4.2,应该是和以前不一样了,buildOpenCVTX2/buildOpenCV.sh有个优秀语句:(20190726发现在97~99行),直接把原本软链接干掉换成新的软链接,好巧不巧现在/usr/lib/aarch64-linux-gnu/tegra下面并没有libGL.so,然后事情就尴尬了,大佬给萌新上了一课(不要问我为什么知道的,我就是萌新QAQ)
# Clean up the OpenGL tegra libs that usually get crushed
cd /usr/lib/aarch64-linux-gnu/
sudo ln -sf tegra/libGL.so libGL.so
目测用Xavier或者Drive Pegasus的大佬也中招了:https://devtalk.nvidia.com/default/topic/1044109/jetson-agx-xavier/no-usr-lib-aarch64-linux-gnu-tegra-libgl-so-0-with-jetpack-4-4-1/post/5297052/
未完待续