windows/ubuntu配置oneAPI、oneDNN、opencv环境

虽说windows环境,但还是要安装虚拟机,别一直在本机配置了,接下来怎么干都是在linux环境中,如果已经是linux环境了,可以直接看oneapi的安装等以下文章
虚拟机的配置是根据oneAPI和oneDNN动态实验调整出来的,不要只按照网上独立的虚拟机安装教程
教程不仅包括oneAPI和oneDNN,同时也包括到目前为止的opencv4.6.0安装!

VM和Ubuntu的安装

安装VMware虚拟机

  1. 下载安装包
  2. 更改默认安装位置
  3. 按默认配置
  4. 输入密钥

下载Ubuntu镜像

如果网速慢,建议寻找国内镜像,各大高校的下载速度挺快的
我下载的是桌面版

安装Ubuntu18

  1. 创建虚拟机
  2. 向导界面选择“自定义高级”
  3. 兼容性选择当前vmware版本
  4. 在安装程序光盘影像文件选择下载的镜像(iso)路径
  5. 输入全名(就是用户名),用户名(这里我写的始终没有发现在哪体现)和密码 (这里写不好,后期都能改,不要慌)
  6. 虚拟机名称可以随便取;“位置”就是将来虚拟机文件所在的目录,因为虚拟机文件比较大,要选择一个磁盘空间比较大的目录。
  7. 下一步,设置要分配给虚拟机的CPU,电脑配置高的可以往上调,这样在后面使用make -jx带劲(4核以上)。
  8. 内存推荐8G以上
  9. 默认
  10. I/O控制器类型默认推荐
  11. 虚拟磁盘类型默认推荐
  12. 创建新虚拟磁盘
  13. 磁盘空间,因为后面要安装oneapi,建议60GB以上,并将选择改为存储为单个文件
  14. 磁盘文件名,没有什么影响
  15. 完成之后会自动安装
  16. 登录进去之后一般就会问你要不要升级到新版本,点取消,否则系统就白装了

更改国内源

  1. 备份文件 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
  2. 更改文件权限使其可编辑 sudo chmod 777 /etc/apt/sources.list
  3. sudo gedit /etc/apt/sources.list

我使用的Ubuntu18,因此使用

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
 
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
  1. sudo apt update更新软件列表,换源完成

oneapi的安装

在虚拟机打开浏览器下载Intel oneAPI Base ToolkitIntel® oneAPI HPC Toolkit

https://www.intel.com/content/www/us/en/developer/tools/oneapi/toolkits.html?wapkw=toolkit#base-kit

  1. 打开下载目录,右键点击Properties复制目录
  2. 打开终端,输入pwd查找当前目录地址,以便更好的使用相对路径
  3. 输入sudo sh Downloads/l_BaseKit_p_2022.3.0.8767.sh (注意自己的目录)
    1. 输入sudo意思为所有用户安装,也可以不放
  4. 输入之后会弹出图形界面,按照图形界面的指示进行安装即可**(虚拟机没有GPU,使用CPU就行)**,默认安装路径是/opt/intel/oneapi/
  5. Intel® oneAPI HPC Toolkit同操作

oneDNN的部署

  1. github地址:https://github.com/oneapi-src/oneDNN.git (我建议自己电脑下载后直接传给虚拟机会更快点,并且下载打包好的稳定版,目前最新版为2.7,如果直接clone请指定版本)

  2. sudo apt-get install clang

  3. mkdir -p build
    cd build
    export CC=clang
    export CXX=clang++
    cmake .. 
    
  4. 构建库,make -j

    1. 这里有个知识点,一般只有j效率太低了,就像这里的构建,很多次会使用系统奔溃重启!而make可以根据cpu总数进行合理利用

    2. 使用make -j后面跟一个数字,比如make -j4 make -j6 make -j14等。

      含义是 让make最多允许n个编译命令同时执行,这样可以更有效的利用CPU资源。

    3. 并行的任务不宜太多,一般是以CPU的核心数目的两倍为宜

    4. cpu_num=`cat /proc/stat | grep cpu[0-9] -c`
      echo "make -j${cpu_num}"
      make -j${cpu_num} //或者make -j${cpu_num}*2
      
    5. 因此建议make -j数字

  5. ctest检验文件是不是100%通过,如果是的话,接下来做,不是的话,删了再来一次

  6. 文档中说要构建文档,经过测试无法成功,并且自带的doc文件已经有了,感觉是官方的bug,再次可以直接跳过

  7. cmake --build . --target install

  8. 将oneDNN目录里的example文件夹里的example_utils.hpp移动与项目文件同目录,例如这里取AlexNet.cpp为主文件

  9. 编译指令

    clang++ AlexNet.cpp -ldnnl 
    

opencv4.6.0安装教程

依赖环境

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config

下载压缩包

opencv官网

进入到解压后的文件夹下

  1. mkdir build
  2. cd build
  3. cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_GTK=ON -D OPENCV_GENERATE_PKGCONFIG=YES ..
  4. sudo make -j4根据cpu数进行编译
  5. sudo make install安装

配置环境

  1. sudo gedit /etc/ld.so.conf

    1. 输入include /usr/local/lib保存
    2. 运行sudo ldconfig更新
  2. sudo gedit /etc/bash.bashrc

    1. 在文件末尾加入:
      PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
      export PKG_CONFIG_PATH
    2. source /etc/bash.bashrc
  3. pkg-config opencv4 --modversion检验环境

  4. 编译指令

    clang++ `pkg-config opencv4 --cflags` demo.cpp  -o demo `pkg-config opencv4 --libs`
    

你可能感兴趣的:(ubuntu,windows,oneapi)