jetson nano 安装Caffe(二)

本文详细介绍了在Linux环境下安装Caffe深度学习框架的全过程,包括系统环境检查(CUDA、cuDNN、OpenCV)、依赖项安装、Caffe源码下载及编译配置,并解决了cmake与CUDA10不匹配的问题。
  1. 检查系统环境(cuda cudnn opencv 等 )
 # 检查CUDA
nvcc -V     
 # 检查opencv
pkg-config opencv --modversion 
# 检查cuDNN
cp  /usr/src/cudnn_samples_v7/mnistCUDNN   .   #进入例子目录
cd mnistCUDNN
sudo make     #编译一下例子
./mnistCUDNN # 执行

2.安装依赖项

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
 
sudo apt-get install --no-install-recommends libboost-all-dev
 
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
 
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
 
sudo apt-get install git cmake build-essential

3.下载caffe及安装

git clone https://github.com/BVLC/caffe.git 
cd caffe 
mkdir build && cd build
cmake ..
make -j4 
make install

本想这一路下来就好了,却遇到了第一个问题,cmake … 报错:

CMake error with "CUDA_cublas_device_LIBRARY" 

百度是无用了,用bing查了一下,遇到这问题的还真有,说是cmake与cuda10不匹配,得升级。
我这里升级到了cmake3.12.2,卸载cmake sudo apt remove cmake -y
(1)下载Cmake-3.12.2源码包

官网下载地址:https://cmake.org/download/

(2)安装

tar -zxvf cmake3.12***
cd cmake3.12
sudo ./bootstrap
sudo make -j4
sudo make install

按理来讲到这一步已经全部安装完成cmake --version就会出来版本号,若提示找不到cmake则做如下处理:

whereis cmake
result :
cmake: /usr/lib/aarch64-linux-gnu/cmake /usr/lib/cmake /usr/local/bin/cmake /usr/share/cmake

vim ~/.bashrc
添加:
export PATH=:/usr/local/bin/cmake:$PATH
source  ~/.bashrc

当然我上面用的是/usr/local/bin/cmake 也可以用其它这几个,都一样。
然后再返回去cmake … 就能正确的安装caffe 了。

4.运行结果

~/caffe$ python
Python 2.7.15rc1 (default, Nov 12 2018, 14:31:15) 
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import caffe
>>> 

引用:
https://blog.youkuaiyun.com/beckhans/article/details/89393280
https://blog.youkuaiyun.com/cwj066/article/details/82527006

<think>好的,用户想要在Jetson Nano安装YOLOv8和OpenPose。首先,我需要确认这两个框架在Jetson Nano上的兼容性。Jetson Nano是ARM架构,所以需要对应的库和依赖。 YOLOv8是Ultralytics的版本,通常用PyTorch实现。而OpenPose可能需要编译源代码,因为预编译的版本可能不支持Jetson。首先,用户需要安装PyTorch,但Jetson的PyTorch版本需要特别下载,比如从NVIDIA的官方渠道获取适配的版本。 接下来是环境准备。系统更新和依赖安装是基础步骤,比如安装CMake、Python开发包等。然后安装PyTorch和TorchVision,这里可能需要指定版本,比如PyTorch 1.8.0,对应JetPack版本。安装Ultralytics的YOLOv8应该可以直接用pip,但要注意版本兼容性。 然后是OpenPose的安装。这部分比较复杂,可能需要从源码编译。用户需要下载OpenPose的代码,配置CMake参数,确保使用正确的CUDA架构(比如Jetson Nano是sm_53)。编译过程中可能会遇到依赖问题,比如需要安装OpenCV、Caffe等,可能需要单独处理。 接下来是测试部分。YOLOv8的测试相对简单,加载预训练模型进行检测。而OpenPose可能需要下载预训练的模型文件,并确保路径正确。用户可能会遇到模型文件下载失败的问题,可能需要手动下载或更换源。 可能的问题包括CUDA版本不匹配、内存不足(Jetson Nano内存较小)、编译OpenPose时的错误。需要提醒用户可能增加交换空间,或者使用轻量级模型。 最后,整合两个模型需要考虑资源分配,同时运行可能占用大量内存和计算资源,需要优化或分步骤处理。用户可能需要简化模型或使用多线程来管理资源。</think>以下是 Jetson Nano 安装 YOLOv8 + OpenPose 的完整指南: --- ### 一、环境准备 1. **系统更新** ```bash sudo apt update && sudo apt upgrade -y sudo apt install build-essential cmake git libopencv-dev python3-dev python3-pip -y ``` 2. **安装 PyTorch** ```bash wget https://nvidia.box.com/shared/static/p57jwntv436lfrd78inwl7iml6p13fzh.whl -O torch-1.8.0-cp36-cp36m-linux_aarch64.whl pip3 install numpy torch-1.8.0-cp36-cp36m-linux_aarch64.whl ``` 3. **安装 TorchVision** ```bash sudo apt install libjpeg-dev zlib1g-dev -y git clone --branch v0.9.0 https://github.com/pytorch/vision torchvision cd torchvision export BUILD_VERSION=0.9.0 python3 setup.py install --user ``` --- ### 安装 YOLOv8 ```bash pip3 install ultralytics ``` --- ### 三、安装 OpenPose 1. **下载源码** ```bash git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose.git cd openpose git submodule update --init --recursive ``` 2. **编译安装** ```bash mkdir build && cd build cmake -D CMAKE_INSTALL_PREFIX=/usr/local \ -D CUDA_ARCH_BIN=53 \ # Jetson Nano 的 CUDA 架构 -D BUILD_PYTHON=ON .. make -j4 && sudo make install ``` --- ### 四、测试安装 1. **YOLOv8 测试** ```python from ultralytics import YOLO model = YOLO('yolov8n.pt') results = model.predict('test.jpg', save=True) ``` 2. **OpenPose 测试** ```python import cv2 from openpose import pyopenpose as op params = { "model_folder": "/path/to/openpose/models/", "hand": True } opWrapper = op.WrapperPython() opWrapper.configure(params) opWrapper.start() datum = op.Datum() imageToProcess = cv2.imread("test.jpg") datum.cvInputData = imageToProcess opWrapper.emplaceAndPop(op.VectorDatum([datum])) ``` --- ### 五、常见问题 1. **CUDA 内存不足** ```bash sudo fallocate -l 4G /swapfile # 创建交换空间 sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile ``` 2. **OpenPose 模型下载** ```bash cd models ./getModels.sh # 需手动下载时需修改脚本中的下载地址 ``` --- ### 六、整合建议 1. **资源分配策略** - 使用 YOLOv8n(nano 版本)进行目标检测 - 在检测到人体后调用 OpenPose 进行姿态估计 - 使用多线程分别处理不同任务 2. **性能优化** - 将输入分辨率调整为 640x480 - 使用 TensorRT 加速模型(需转换 ONNX 格式) - 关闭不需要的 OpenPose 模块(如手部/面部检测) --- 通过上述步骤可实现 Jetson Nano 上的基础部署,实际性能可达 2-5 FPS(取决于分辨率设置)。建议使用主动散热装置并设置性能模式为最大: ```bash sudo nvpmodel -m 0 # 最大性能模式 sudo jetson_clocks # 强制最大时钟频率 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值