1.4 检测CUDA与CUDNN
CUDA没有默认添加到环境当中和之前换源的操作类似我们把CUDA添加到环境当中,先查看有没有NVCC。结果如下图。
ls /usr/local/cuda/bin
sudo vim ~/.bashrc
之后我们修改环境文件,引入的环境变量的语句如下所示:
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
保存然后让我们修改过的环境变量生效,然后查看nvcc。nvcc就是CUDA的编译器。
source ~/.bashrc
nvcc -V
可以看到我们的版本,在使用的过程中,我们的系统的时钟是错误的,可以使用如下的语句修改正确的系统时间。
timedatectl set-local-rtc 1 --adjust-system-clock
OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、JAVA、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。检查openCV指令如下,运行结果如下图。
pkg-config opencv4 --modversion
最后我们检查cuDNN,切换到有历程的文件夹中,编译,然后跑历程。这里开开始报错,显示说明我们电脑中缺少freeimage这个依赖。
cd /usr/src/cudnn_samples_v8/mnistCUDNN/
sudo make
./mnistCUDNN
FreeImage 是一款免费的、开源的、跨平台(Windows 、Linux 和Mac OS X )的,支持20 多种图像类型的(如BMP 、JPEG 、GIF 、PNG 、TIFF 等)图像处理库。其最大优点就是采用插件驱动型架构,具有快速、灵活、简单易用的特点,得到了广泛使用。
FreeImage 的主要功能有多格式位图的读写;方便的位图信息获取;位深度转换;位图页面访问;基本的几何变换和点处理;通道合并与混合等。FreeImage 暂时不支持矢量图形和高级图像处理,位图绘制需要由用户来完成。 FreeImage 中的所有函数都以FreeImage_ 开头,如图像文件的读写函数分别为FreeImage_Load 和FreeImage_Save 。FIBITMAP 数据结构保存着位图信息和像素数据,是FreeImage 的核心。执行下面的命令把缺少freeimage依赖补上,再次执行编译运行。可以看到测试历程正确执行通过。
udo apt-get install libfreeimage3 libfreeimage-dev