TF踩坑笔记

遇到领导要求出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 跑别人代码莫名其妙尬

ERROR! Session/line number was not unique in database. History logging moved to new session 14

我也忘了什么代码会出现,反正当时在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/

 

未完待续

你可能感兴趣的:(Python)