2021-4-19学习笔记

1.AlphaPose项目地址:

https://github.com/Amanbhandula/AlphaPose
运行期间出现错误,解决了就来更新——————
在这里插入图片描述
我使用的是nano,环境是python3.6
问题排查:pytorch和cuda版本是否兼容?

import torch
print(torch.__version__)
print(torch.cuda.is_available())

如果输出的结果是False,那么说明当前的Pytorch版本无法使用显卡。
如果有显卡资源并需要使用显卡资源,先检查一下当前的CUDA版本,在终端中输入

cat /usr/local/cuda/version.txt

2.社交距离检测

项目地址:https://github.com/basileroth75/covid-social-distancing-detection
b站视频:https://www.bilibili.com/video/BV1QV411h7q6
这个up超nice~~~帮了我这个刚入门的小白很多,多多向大佬们学习hhh
我自己环境:
Jetson nano ubuntu18
python 3.6
tensorflow 2.3.0
运行中间可以control+c退出
说明:
1.进入src文件中输入命令:

python social_distanciation_video_detection.py

2.使用像素距离
3.config_birdview.yml可以预置监控范围
4.Run

python calibrate_with_mouse.py

可以鼠标绘制监控范围
确定4个点,yml文件也会更新

3.openpose体态识别

继续18号的项目,跟着小书童来跑项目
项目地址:https://github.com/CMU-Perceptual-Computing-Lab/openpose/releases/添加链接描述
b站地址:https://www.bilibili.com/video/BV14Z4y1V7fo

cuda

cuda是英伟达(NVIDIA)推出的——这个英伟达是何方神圣?没听说过英伟达,也应该听说过GPU了吧。没错,提出GPU概念的,正是英伟达。和中央处理器(Central Processing Unit, CPU)相对,图形处理器(Graphics Processing Unit, GPU)是显卡的核心芯片。而cuda正是暴露了英伟达开发的GPU的编程接口。

几乎所有的编程语言,不使用特定框架,都只能实现CPU编程——std::thread也是将线程开在CPU中。而不同于每一位程序员都接触过的CPU编程,GPU编程可以使用更多的流处理器、更多的线程数

CUDNN

NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中,如加州大学伯克利分校的流行caffe软件。简单的,插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是调整性能,同时还可以在GPU上实现高性能现代并行计算。
我的环境:
Jetson nano Ubuntu18
python3.6
CUDA10.2
CUDNNv8
cmake3.20.1

1.下载cmake3.20.1

,要求版本高于3.12,先把之前的cmake3.10.2卸载,卸载完后,在cmake官网下载高版本的安装包到openpose目录下,ls一下
在执行

sudo ./bootstrap


报错:

`sudo ./boostrap.sh command not found`

解决办法:
查看权限

ls -l

通过对比老师演示时显示的文件,发现bootstrap缺少执行权限,所以
更改权限,

chmod 755 bootstrap

具体参考:
https://stackoverflow.com/questions/4945656/installing-boost-library-in-usr-lib-sudo-boostrap-sh-command-not-found
重新执行

sudo ./bootstrap
sudo make

之后果然开始龟速编译。。。。。。

以上过程完整代码

sudo apt remove --purge cmake
sudo apt install libssl-dev
wget https://github.com/Kitware/CMake/releases/download/v3.18.4/cmake-3.18.4.tar.gz
tar xvf cmake-3.18.4
cd cmake-3.18.4
./bootstrap
make
sudo make install

在执行

cmake --version

时又报错:

cmake:error while loading shared libraries: libcrul.so.4: cannot open shared object file: No such file or directory

百度了办法。。。结果我就关掉了终端,重新

cd openpose-1.6.0
cd cmake-3.20.1
cmake --version

就。。。奇迹般显示

cmake  version 3.20.1

之后退回到openpose-1.6.0目录下,创建完build文件后,执行

cmake .

此时报错

CMake Error at cmake/Cuda.cmake:227 (message):   cuDNN version >3 is required.

解决办法:
in Openpose change the cmake/cuda.cmake file and the /cmake/modules/FindCuDNN.cmake file.
Find the line that reads:
file(READ {CUDNN_INCLUDE}/cudnn.h CUDNN_VERSION_FILE_CONTENTS)
change to: file(READ {CUDNN_INCLUDE}/cudnn_version.h CUDNN_VERSION_FILE_CONTENTS)
参考链接:
https://blog.csdn.net/weixin_34246656/article/details/112538507
cmake之后提示缺少protobuf

 sudo apt install libprotobuf-dev
 sudo apt-get install libprotobuf-dev

提示libprotobuf-dev已经是最新版(3.0.0-9.1ubuntu1)
老师视频里提到3.0.0版本要求python版本是小于3.7的,我的是3.6的,所以这一步符合要求

问题:缺少Glog
解决:
先跟着老师下载一下protobuf
https://github.com/protocolbuffers/protobuf
make install 的时候报错
执行

sudo make install 

就解决啦
问题:

protobuf --version

时报错

`protoc: error while loading shared libraries: libprotoc.so.26: cannot open shared object file: No such file or directory`

刚安装时,没有找到 libprotoc.so.26路径,
解决方法:

sudo ldconfig

再次

protoc --version
libprotoc 3.15.8

安装成功~~~~
回到build下面再

cmake ..

还是报错

Glog not found.

只好源码编译一下glog吧
https://www.pianshen.com/article/848992756/
问题:

GFlags not found

继续源码编译gflags

git clone https://github.com/gflags/gflags

进入源码目录(即gflags文件夹)

cmake .
make -j 24
sudo make install

解决了这两个的安装,再次回到build

cmake .

提醒:
记得把caffe的模型放到3rdparty目录下!!
模型下载
使用官方的模型下载脚本,速度非常的慢,这里将工程中用到的模型整理了,放在了百度网里,方便大家下载
链接:https://pan.baidu.com/s/15aZe7NN3jQerWN2uZRK0mw
提取码:p1mj
ok~~~成功啦~

make -j 'nproc'

报错

make:No rule to make target 'nproc'.Stop.

尝试:

nproc
>>4
make -j 4

使用nproc命令可以显示当前进程可用的CPU数目,该数目可能小于实际工作数。
之后报错

nano@nano-desktop:~/openpose-1.6.0/build$ sudo make -j 4
[ 12%] Performing configure step for 'openpose_lib'
CMake Error: The source directory "/home/nano/openpose-1.6.0/3rdparty/caffe" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
CMakeFiles/openpose_lib.dir/build.make:91: recipe for target 'caffe/src/openpose_lib-stamp/openpose_lib-configure' failed
make[2]: *** [caffe/src/openpose_lib-stamp/openpose_lib-configure] Error 1
CMakeFiles/Makefile2:82: recipe for target 'CMakeFiles/openpose_lib.dir/all' failed
make[1]: *** [CMakeFiles/openpose_lib.dir/all] Error 2
Makefile:90: recipe for target 'all' failed
make: *** [all] Error 2

先来安装一下caffe
我用的nano,不知道官方有没有配置好,所以先来查看一下

python
>>>import caffe
>>>caffe.__version__

我的没有,还是来下载
问题:E:无法定位软件包的问题

问题:E212: 无法打开并写入文件
解决:
在编写配置文件时,常常忘记切换到root用户,导致文件编辑完毕,敲入:wq 退出保存时,出现 E212:无法打开并写入文件 的错误提示。这是由于在该目录下当前用户没有写权限导致。

解决办法如下:

 : w ! sudo tee %

tee 用于读取输入文件,同时保存

%表示当前编辑文件

不过这种方法有个要求就是当前编辑用户必须在 sudoers这个文件中,这也是执行sudo命令的要求。

对于只读文件的保存和修改:
:wq!
但是:这只能是根用户来执行!!!
ubuntu怎么切换到root用户,切换到root账号方法
https://jingyan.baidu.com/article/fd8044fa1e74035031137ae0.html

安装caffe

参考1:
我按照作者的办法编辑Makefile.config,然后可能版本问题,我的Makefile。config文件和作者的不太一样,所以就拷贝了一份作者的文件。百度网盘链接见
https://www.codeleading.com/article/5785838478/

参考2:
https://blog.csdn.net/xiao__run/article/details/89881162

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值