win11+wsl2+ubuntu18配置TensorRT

目录

1. wsl2+ubuntu18环境配置

1.1 在windows上安装wsl2

1.2将 WSL2 设置为默认版本

 1.3 ubuntu18安装

 2. 在wsl2上使用docker镜像

2.1  安装docker

 2.2 使用nvidia官方docker

3. 安装依赖

3.2 安装cmake3.16.0

 4. 编译安装TensorRt

4.1 下载和配置TensorRT SDK 7.2

4.2  安装TensorRT

4.3 测试TensorRT实用库编译安装正确


0. 系统及环境版本

OS:window11 

cuda:10.2

cudnn:8.1

1. wsl2+ubuntu18环境配置

1.1 在windows上安装wsl2

按win + X,选择 Windows终端(管理员),输入下面代码:

# 开启 Linux 子系统
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 开启虚拟机平台
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

1.2将 WSL2 设置为默认版本

更新必须在管理员模式下进行。

# 更新 wsl
wsl --update
## 将 wsl 版本设置为 wsl2
wsl --set-default-version 2

备忘一下常用的wsl命令 :

# 查看 wsl
wsl -l
wsl --list
# 查看 wsl 运行版本或模式
wsl -l -v
# 设置发行版为使用 wsl 2
wsl --set-version  2
# 选择要注销的版本
wsl --unregister 

 

 1.3 ubuntu18安装

打开 Microsoft Store,搜索想要安装的 Linux 发行版本,点击安装就行。比如,我选择的发行版本是Ubuntu18.04

win11+wsl2+ubuntu18配置TensorRT_第1张图片

 2. 在wsl2上使用docker镜像

直接打开Ubuntu18系统:

win11+wsl2+ubuntu18配置TensorRT_第2张图片

2.1  安装docker

直接使用指令安装

curl -sSL https://get.daocloud.io/docker | sh

启动docker服务

sudo service docker start

 2.2 使用nvidia官方docker

直接pull下来就行,docker里相关依赖已经安装好了,不需要自己安装,可以省不少时间。

docker pull nvidia/cuda:10.2-cudnn8-devel-ubuntu18.04

 创建docker容器:

docker run --name my_container --gpus all --rm -ti --ipc=host pytorch/pytorch:latest

这样一个名为my_container的容器就创建好了。

3. 安装依赖

apt update && apt install -y wget aptitude vim make git tcl-dev tk-dev software-properties-common libsqlite3-dev libopenblas-dev zlib1g-dev libffi-dev libssl-dev libncurses-dev libbz2-dev libxml2-dev libxslt1-dev libgdbm-dev libreadline-dev liblzma-dev libibverbs-dev libboost-all-dev libgflags-dev libgoogle-glog-dev libopencv-dev zip

3.1 安装python3.8(也可以源码编译安装,自己百度一下就行)

apt update
apt install python3.8

创建python3.8虚拟环境 

# 安装virtualenv
pip install virtualenv
# 创建虚拟环境
virtualenv -p /usr/local/python3.8/bin/python3.8 ~/.env/python3.8
# 激活虚拟环境
source ~/.env/python3.8/bin/activate

3.2 安装cmake3.16.0

编译时依赖高版本cmake,所以我们下载源码编译一下:

  1. 获取Cmake软件包。

    wget https://cmake.org/files/v3.16/cmake-3.16.0.tar.gz --no-check-certificate
  2. 解压并进入软件包目录。

    tar -xf cmake-3.16.0.tar.gz
    cd cmake-3.16.0/
  3. 执行配置、编译和安装命令。

    ./configure --prefix=/usr/local/cmake
    make && make install
  4. 设置软连接。

    ln -s /usr/local/cmake/bin/cmake /usr/bin/cmake
  5. 执行如下命令验证是否安装成功。

    cmake --version

    如显示“cmake version 3.16.0”则表示安装成功。

 4. 编译安装TensorRt

4.1 下载和配置TensorRT SDK 7.2

wget https://developer.nvidia.com/compute/machine-learning/tensorrt/secure/7.2.3/tars/TensorRT-7.2.3.4.Ubuntu-18.04.x86_64-gnu.cuda-11.0.cudnn8.1.tar.gz
tar -xvzf TensorRT-7.2.3.4.Ubuntu-18.04.x86_64-gnu.cuda-11.0.cudnn8.1.tar.gz

把解压好的文件放在/usr/local下:

mv TensorRT-7.2.3 /usr/local
ln -s /usr/local/TensorRT-7.2.3 /usr/local/TensorRT
export LD_LIBRARY_PATH=/usr/local/TensorRT/lib:$LD_LIBRARY_PATH

4.2  安装TensorRT

 

# 创建存放源代码的目录
mkdir -p ~/repos

# 进入目录
cd ~/repos

# 把源代码放到目录~/repos下
git clone -b release/7.2 https://github.com/nvidia/TensorRT TensorRT
cd TensorRT
git submodule update --init --recursive

# 创建用于编译的目录
mkdir build

# 进入编译目录
cd build

# 生成Makefile
cmake .. -DTRT_LIB_DIR=$TRT_RELEASE/lib -DTRT_OUT_DIR=`pwd`/out -DCUDA_VERSION=10.2

# 开始多线程编译
# 编译完成后,生成的文件都在~/repos/TensorRT/build/out中
make -j$(nproc)

# 将生成的库文件复制到$TRT_RELEASE/lib目录下
# 将生成的可执行文件复制到$TRT_RELEASE/bin目录下
make install

# 编译成功后根据python的版本安装TensorRT的python扩展
pip install /usr/local/TensorRT/python/tensorrt-7.2.3.4-cp38-none-linux_x86_64.whl

4.3 测试TensorRT实用库编译安装正确

通过运行生成的 sample_mnist 文件就可以测试TensorRT是否正确的编译安装了。但是运行前需要先下载mnist数据。完成的操作如下:

# 进入下载mnist数据脚本所在的目录
cd $TRT_RELEASE/data/mnist

# 运行下载mnist数据的脚本
python3 ./download_pgms.py

# 进入sample_mnist 所在的目录
cd $TRT_RELEASE/bin

# 运行sample_mnist
./sample_onnx_mnist

你可能感兴趣的:(深度学习,TensorRT,wsl,wsl2,docker,深度学习,TensorRT)