tx2安装caffe总结

简介: 无奈笔记本的性能太渣,双系统切换太麻烦,索性就拿tx2来当第二台电脑,需要在linux上跑的demo都放到tx2上跑; 先安装caffe(我重刷了两次机o(『﹏『)o)。 先配置依赖项 sudo apt-get install libprotobuf-dev libl.
+关注继续查看

无奈笔记本的性能太渣,双系统切换太麻烦,索性就拿tx2来当第二台电脑,需要在linux上跑的demo都放到tx2上跑;
先安装caffe(我重刷了两次机o(『﹏『)o)。
先配置依赖项
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install –no-install-recommends libboost-all-dev
(看他人的博客要安装libopencv-dev,但是我安装时出现opencv版本的问题,所以没安装,在使用opencv的python库时并没有出现什么问题,所以暂且不管)
sudo apt-get install –no-install-recommends libboost-all-dev
然后是python的相关安装:
sudo apt-get install python-dev
sudo apt-get install python-numpy
sudo apt-get install ipython
sudo apt-get install ipython-notebook
sudo apt-get install python-sklearn
sudo apt-get install python-skimage
sudo apt-get install python-protobuf
当然还要安装pip
sudo apt-get install python-pip
然后sudo pip install –upgrade pip
但是用pip安装python包时会出现速度非常慢的现象,安装一个包少则四五分钟,多则十几分钟,可能是tx2的cpu核心是A57,和X86比还是有很大差距,导致编译时慢(看top猜的),所以建议尽量用apt-get安装
然后是谷歌glog和gflags和lmdb依赖项
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
接着安装git,并且下载代码
sudo apt-get install git
git clone https://github.com/BVLC/caffe.git(github网速真心慢,几K每秒)
进入到源码
cd caffe
cp Makefile.config.example Makefile.config
修改makefile和Makefile.config
vim Makefile.config
去掉USE_CUDNN := 1前的注释,然后去掉
去掉89行左右的WITH_PYTHON_LAYER := 1前的注释

CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
        -gencode arch=compute_25,code=sm_25 \
        -gencode arch=compute_30,code=sm_30 \
        -gencode arch=compute_35,code=sm_35 \
        -gencode arch=compute_50,code=sm_50 \
        -gencode arch=compute_52,code=sm_52 \
        -gencode arch=compute_60,code=sm_60 \
        -gencode arch=compute_61,code=sm_61 \
        -gencode arch=compute_61,code=compute_61

为了匹配cuda8的计算能了去掉
-gencode arch=compute_20,code=sm_20 \
-gencode arch=compute_25,code=sm_25 \
在92行左右将

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include

改为

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/

然后改Makefile.config
将175行左右的

LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5

改为

LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial

然后
sudo make clean
sudo make -j8
这里写图片描述
(这里调用大牛的结果,以及大牛博客:http://blog.csdn.net/jiongnima/article/details/70040262
在这里caffe的安装已经完成,来用一下caffe自带的minst demo来体验一下:
cd caffe;
sudo sh data/minst/get_mnist.sh
下载mnist的数据集
然后
sudo sh example/mnist/create_mnist.sh
sudo sh example/mnist/train_lenet.sh
这里写图片描述
可以看到caffe识别出TX2的GPU并调用TX2的GPU在跑demo
这里写图片描述
从结果看caffe的mnist sample用了两层卷积,跑完训练用了2分多钟,并且准确率达到99%,(比matlab跑快好多;虽然网上说GPU+CUDNN只要45秒,但这边要两分钟,可能是TX2毕竟属于移动版,还是比不上GTX系列或者专业显卡)(注意caffe的example的sample文件里是相对路径的相对于caffe文件夹,所以cd到caffe文件加下运行sh)
这边我再说一下我踩得两个坑:
1:在跑比如github上的rcnn时,编译github会出现Makefile 563的错误,那是因为github上caffe-rcnn包中的cudnn版本的原因,解决方法是将下载的caffe中src/layers/,src/util/,include/caffe/layers/,include/caffe/util/文件中的cudnn文件复制替换caffe-rcnn文件的相应位置的cudnn文件
2:在运行如rcnn的demo.py时会出现类似

ImportError: No module named gpu_nms

那时因为在nms文件夹下的文件是对于桌面平台的GPU及CPU编译的,你需要删除然后进入lib目录下
执行make命令,编译时可能会出现相应的python包没安装,只要pip或apt-get就行了
然后再运行demo.py就可以了
这里写图片描述

相关实践学习
通过GPU云服务器生成AI视频
本教程介绍如何使用GPU云服务器搭建Stable Diffusion模型,并基于ModelScope框架,实现使用文本生成视频。
目录
相关文章
|
1月前
|
SQL Oracle 关系型数据库
事务模型(Transaction Model)
事务模型(Transaction Model)是一种用于管理数据库操作的方法,它确保数据库操作的原子性、一致性、隔离性和持久性,通常简称为ACID属性。
60 1
|
1月前
|
传感器 机器人 API
NVIDIA Jetson TX1,TX2,TX2 NX,AGX Xavier 和 Nano开发板GPIO口配置及应用
NVIDIA Jetson TX1,TX2,TX2 NX,AGX Xavier 和 Nano开发板GPIO口配置及应用
|
1月前
|
Java Shell 开发工具
Jetson TX2 NX安装遇到的问题汇总
Jetson TX2 NX安装遇到的问题汇总
|
3月前
|
并行计算 PyTorch 算法框架/工具
【PyTorch】cuda()与to(device)的区别
【PyTorch】cuda()与to(device)的区别
32 0
|
8月前
安装Caffe2
安装Caffe2
33 0
|
9月前
|
并行计算 Ubuntu 算法框架/工具
Caffe:使用 cudnn 5.1 配置 Faster-RCNN Caffe 并运行 demo
系统:Ubuntu 16.04 环境:CUDA 8.0 + cudnn 5.1 + BLAS + opencv 3.0.0
81 0
|
TensorFlow 算法框架/工具
TensorFlow教程(3)-embedding_lookup用法
TensorFlow教程(3)-embedding_lookup用法
177 0
|
TensorFlow 算法框架/工具 Python
TF之TF flags:TF flags(命令行解析)的简介、安装、使用方法之详细攻略
TF之TF flags:TF flags(命令行解析)的简介、安装、使用方法之详细攻略
|
算法 C++ Python
Tensorflow源码解析4 -- 图的节点 - Operation
# 1 概述 上文讲述了TensorFlow的核心对象,计算图Graph。Graph包含两大成员,节点和边。节点即为计算算子Operation,边则为计算数据Tensor。由起始节点Source出发,按照Graph的拓扑顺序,依次执行节点的计算,即可完成整图的计算,最后结束于终止节点Sink,并输出计算结果。 本文会对节点Operation进行详细讲解。 # 2 前端节点数据
1257 0
|
算法 TensorFlow 算法框架/工具
Tensorflow源码解析5 -- 图的边 - Tensor
# 1 概述 前文两篇文章分别讲解了TensorFlow核心对象Graph,和Graph的节点Operation。Graph另外一大成员,即为其边Tensor。边用来表示计算的数据,它经过上游节点计算后得到,然后传递给下游节点进行运算。本文讲解Graph的边Tensor,以及TensorFlow中的变量。 # 2 前端边Tensor数据结构 Tensor作为Graph的边
2340 0