docker自用配置tensorRT&CLion环境教程

当你拉下来一个环境后,我们现在如何开始配置呢

1:查看目前所有的容器

docker images

2:删除容器

docker rmi <IMAGE_ID>

强制删除

docker rmi remote/pytorch:1.8.0-cuda11.1-cudnn8-devel

运行容器

3:运行并且进入容器

docker run -it --gpus all -v /root/cy_docker:/root/xxxx my_pytorch_with_tools:latest /bin/bash

 

 -it:交互式终端模式

-it-i-t 两个参数的组合,通常一起使用,使得我们可以在容器中进行交互操作:

  • -i (interactive):保持标准输入打开,以便您可以输入命令。
  • -t (tty):为容器分配一个伪终端,让输出更符合终端格式。

使用示例:

docker run -it ubuntu:latest /bin/bash

-v 参数用于在主机和容器之间共享文件和目录,从而实现数据持久化或共享。可以将主机目录挂载到容器中的指定路径中。

-v <host_path>:<container_path>
docker run -it -v /host/directory:/container/directory ubuntu:latest

 

 

--name 参数用于给容器指定一个名称,以便更容易管理和访问这个容器。

docker run -it --name my_container ubuntu:latest

 

--rm 参数会在容器停止运行后自动删除容器。适用于临时容器,不需要手动清理。

docker run --rm ubuntu:latest

--gpus 参数用于指定 Docker 容器可使用的 GPU 资源(需安装 NVIDIA Docker 支持),一般用于深度学习、机器学习等场景。

docker run -it --gpus all my_gpu_image

-p 参数将主机的某个端口映射到容器的某个端口,以便主机可以访问容器内的服务。

docker run -it -p 8080:80 nginx

4:其他常用命令、

docker ps:列出正在运行的容器

docker start / docker stop / docker restart:启动、停止或重启容器

docker exec:在运行的容器中执行命令

docker logs:查看容器日志

docker inspect:查看容器或镜像的详细信息

docker commit:提交容器为新镜像

docker commit <container_name_or_id> <new_image_name:tag>

docker pull:从 Docker Hub 拉取镜像

docker push:推送镜像到 Docker Hub

5:安装环境(略)直接拉老黄的镜像就行

6:安装tensor RT

下载tar

(1)解压tar -xvf TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-11.8.tar -C /opt/

(2)配置环境

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/TensorRT-<version>/lib
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/TensorRT-<version>/lib' >> ~/.bashrc
source ~/.bashrc

 

(7)cmake_list配置,并且验证

cmake_minimum_required(VERSION 3.5)
project(TensorRTExample)

find_package(CUDA REQUIRED)

# TensorRT的include和lib路径
set(TensorRT_DIR /opt/TensorRT-<version>)
include_directories(${TensorRT_DIR}/include)
link_directories(${TensorRT_DIR}/lib)

add_executable(example main.cpp)
target_link_libraries(example ${TensorRT_DIR}/lib/libnvinfer.so ${CUDA_LIBRARIES})

#include "NvInfer.h"
#include <iostream>

int main() {
    // 创建TensorRT的logger
    nvinfer1::ILogger* logger = new nvinfer1::Logger();

    // 测试是否能创建一个构建器
    nvinfer1::IBuilder* builder = nvinfer1::createInferBuilder(*logger);
    if (builder == nullptr) {
        std::cerr << "Failed to create TensorRT builder!" << std::endl;
        return -1;
    }
    std::cout << "TensorRT is successfully configured!" << std::endl;

    // 释放资源
    builder->destroy();
    delete logger;

    return 0;
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值