libtorch 1.12.1 cuda11.3 torch1.12.1 visual stdio2019环境搭建

2023-11-16

conda 的环境

name: torch1.12.1
channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
  - https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
  - https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
  - https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
dependencies:
  - blas=1.0=mkl
  - brotlipy=0.7.0=py310h2bbff1b_1002
  - bzip2=1.0.8=he774522_0
  - ca-certificates=2022.10.11=haa95532_0
  - certifi=2022.9.24=py310haa95532_0
  - cffi=1.15.1=py310h2bbff1b_0
  - charset-normalizer=2.0.4=pyhd3eb1b0_0
  - cryptography=38.0.1=py310h21b164f_0
  - cudatoolkit=11.3.1=h59b6b97_2
  - freetype=2.12.1=ha860e81_0
  - idna=3.4=py310haa95532_0
  - intel-openmp=2021.4.0=haa95532_3556
  - jpeg=9e=h2bbff1b_0
  - lerc=3.0=hd77b12b_0
  - libdeflate=1.8=h2bbff1b_5
  - libffi=3.4.2=hd77b12b_4
  - libpng=1.6.37=h2a8f88b_0
  - libtiff=4.4.0=h8a3f274_1
  - libuv=1.40.0=he774522_0
  - libwebp=1.2.4=h2bbff1b_0
  - libwebp-base=1.2.4=h2bbff1b_0
  - lz4-c=1.9.3=h2bbff1b_1
  - mkl=2021.4.0=haa95532_640
  - mkl-service=2.4.0=py310h2bbff1b_0
  - mkl_fft=1.3.1=py310ha0764ea_0
  - mkl_random=1.2.2=py310h4ed8f06_0
  - numpy=1.23.3=py310h60c9a35_0
  - numpy-base=1.23.3=py310h04254f7_0
  - openssl=1.1.1s=h2bbff1b_0
  - pillow=9.2.0=py310hdc2b20a_1
  - pip=22.2.2=py310haa95532_0
  - pycparser=2.21=pyhd3eb1b0_0
  - pyopenssl=22.0.0=pyhd3eb1b0_0
  - pysocks=1.7.1=py310haa95532_0
  - python=3.10.6=hbb2ffb3_1
  - pytorch=1.12.1=py3.10_cuda11.3_cudnn8_0
  - pytorch-mutex=1.0=cuda
  - requests=2.28.1=py310haa95532_0
  - setuptools=65.5.0=py310haa95532_0
  - six=1.16.0=pyhd3eb1b0_1
  - sqlite=3.39.3=h2bbff1b_0
  - tk=8.6.12=h2bbff1b_0
  - torchaudio=0.12.1=py310_cu113
  - torchvision=0.13.1=py310_cu113
  - typing_extensions=4.3.0=py310haa95532_0
  - tzdata=2022f=h04d1e81_0
  - urllib3=1.26.12=py310haa95532_0
  - vc=14.2=h21ff451_1
  - vs2015_runtime=14.27.29016=h5e58377_2
  - wheel=0.37.1=pyhd3eb1b0_0
  - win_inet_pton=1.1.0=py310haa95532_0
  - wincertstore=0.2=py310haa95532_2
  - xz=5.2.6=h8cc25b3_0
  - zlib=1.2.13=h8cc25b3_0
  - zstd=1.5.2=h19a0ad4_0
  - pip:
    - absl-py==1.3.0
    - albumentations==1.3.0
    - cachetools==5.2.0
    - colorama==0.4.6
    - contourpy==1.0.6
    - cycler==0.11.0
    - ensemble-boxes==1.0.9
    - ffmpeg==1.4
    - fonttools==4.38.0
    - google-auth==2.14.1
    - google-auth-oauthlib==0.4.6
    - grpcio==1.50.0
    - imageio==2.22.4
    - joblib==1.2.0
    - kiwisolver==1.4.4
    - llvmlite==0.39.1
    - markdown==3.4.1
    - markupsafe==2.1.1
    - matplotlib==3.6.2
    - networkx==2.8.8
    - numba==0.56.4
    - oauthlib==3.2.2
    - opencv-contrib-python==4.6.0.66
    - opencv-python==4.5.5.64
    - opencv-python-headless==4.6.0.66
    - packaging==21.3
    - pandas==1.5.1
    - protobuf==3.20.3
    - pyasn1==0.4.8
    - pyasn1-modules==0.2.8
    - pyparsing==3.0.9
    - python-dateutil==2.8.2
    - pytz==2022.6
    - pywavelets==1.4.1
    - pyyaml==6.0
    - qudida==0.0.4
    - requests-oauthlib==1.3.1
    - rsa==4.9
    - scikit-image==0.19.3
    - scikit-learn==1.1.3
    - scipy==1.9.3
    - seaborn==0.12.1
    - tensorboard==2.11.0
    - tensorboard-data-server==0.6.1
    - tensorboard-plugin-wit==1.8.1
    - thop==0.1.1-2209072238
    - threadpoolctl==3.1.0
    - tifffile==2022.10.10
    - tqdm==4.64.1
    - werkzeug==2.2.2
prefix: C:\Users\20169\.conda\envs\torch1.12.1

cuda环境
在这里插入图片描述
libtorch包 release版本的
在这里插入图片描述
在这里插入图片描述

void test_libtorch_version() {
	std::cout << "Hello Lbitorch:" << std::endl;
	std::cout << "	cuDNN available: " << torch::cuda::cudnn_is_available() << std::endl;
	std::cout << "	CUDA available: " << torch::cuda::is_available() << std::endl;
	std::cout << "  CUDA_VERSION: " << CUDA_VERSION << std::endl;
	std::cout << "  TORCH_VERSION: " << TORCH_VERSION << std::endl;
}

visual stdio2019配置
dll库拷贝到 x64/release里面,和生成的exe同一个目录
在这里插入图片描述

命令参数可以忽略
环境:

PATH=%PATH%
C:\Env\libTorch\lib

在这里插入图片描述
VC++目录

包含目录
C:\Env\opencv\buildCuda\install\include
C:\Env\opencv\buildCuda\install\include\opencv2
C:\Env\libtorch\include\torch\csrc\api\include
C:\Env\libtorch\lib
C:\Env\libtorch\include
C:\Env\linearAlgebra\eigen-3.4.0  #这个libtorch用不到可以忽略
库目录:
C:\Env\opencv\buildCuda\install\x64\vc16\lib
C:\Env\libtorch\lib

在这里插入图片描述
C/C++附加包含目录
在这里插入图片描述

C:\Env\libTorch\include
C:\Env\libTorch\include\torch\csrc\api\include

语言
在这里插入图片描述

链接器 —附加库目录
在这里插入图片描述

C:\Env\libTorch\lib

附加依赖项
在这里插入图片描述

C:\Env\libTorch\lib\torch_cuda.lib
C:\Env\libTorch\lib\torch_cpu.lib
C:\Env\libTorch\lib\asmjit.lib
C:\Env\libTorch\lib\c10.lib
C:\Env\libTorch\lib\c10_cuda.lib
C:\Env\libTorch\lib\clog.lib
C:\Env\libTorch\lib\cpuinfo.lib
C:\Env\libTorch\lib\dnnl.lib
C:\Env\libTorch\lib\fbgemm.lib
C:\Env\libTorch\lib\kineto.lib
C:\Env\libTorch\lib\libprotobuf.lib
C:\Env\libTorch\lib\torch.lib
C:\Env\libTorch\lib\torch_cuda_cpp.lib
C:\Env\libTorch\lib\torch_cuda_cu.lib
C:\Env\libTorch\lib\pthreadpool.lib
C:\Env\libTorch\lib\libprotobuf-lite.lib
C:\Env\libTorch\lib\caffe2_nvrtc.lib
C:\Env\libTorch\lib\XNNPACK.lib
opencv_world460.lib

如果cuda不可用,添加下面到连接器的命令行
在这里插入图片描述

/INCLUDE:?warp_size@cuda@at@@YAHXZ /INCLUDE:?_torch_cuda_cu_linker_symbol_op_cuda@native@at@@YA?AVTensor@2@AEBV32@@Z 

C++代码

#include<torch/torch.h>
#include<torch/script.h>
#include<iostream>

void test_libtorch_version() {
	std::cout << "Hello Lbitorch:" << std::endl;
	std::cout << "	cuDNN available: " << torch::cuda::cudnn_is_available() << std::endl;
	std::cout << "	CUDA available: " << torch::cuda::is_available() << std::endl;
	std::cout << "  TORCH_VERSION: " << TORCH_VERSION << std::endl;
}
auto loadModel(const std::string&& modelPath,torch::jit::Module & model,bool use_gpu=false) {
	if (torch::cuda::is_available() && use_gpu) {
		std::cout << "加载到CUDA上" << std::endl;
		auto device_type = torch::kCUDA;
		try {
			 model = torch::jit::load(modelPath, device_type);
			std::cout << "CUDA加载成功" << std::endl;
		}
		catch (const c10::Error& e) {
			std::cout<< "CUDA加载失败" << std::endl;
			std::exit(EXIT_FAILURE);
		}
	}
	else {
		std::cout << "加载到CPU上" << std::endl;
		auto device_type = torch::kCPU; //默认也是cpu
		try {
			model = torch::jit::load(modelPath, device_type);
			std::cout << "Cpu加载成功" << std::endl;
		}
		catch (const c10::Error& e) {
			std::cout << "Cpu加载失败" << std::endl;
			std::exit(EXIT_FAILURE);
		}
	}
}
int main() {
	test_libtorch_version();

	torch::Device device(torch::kCUDA);
	torch::Tensor tensor1 = torch::eye(3); // (A) tensor-cpu
	std::cout << tensor1 << std::endl;

	torch::Tensor tensor2 = torch::eye(3, device); // (B) tensor-cuda
	std::cout << "cuda .." << std::endl;
	std::cout << tensor2 << std::endl;
	auto your_path_cpu = "D:/pycharm/YOLO/xfs/yolov5-6.0/runs/train/exp/weights/ts_cpu.pt";
	auto your_path_gpu = "D:/pycharm/YOLO/xfs/yolov5-6.0/runs/train/exp/weights/ts_gpu.pt";
	
	torch::jit::Module model_c;
	std::cout << "加载cpu的PT模型" << std::endl;
	loadModel(your_path_cpu, model_c,false);
	
	torch::jit::Module model_g;
	std::cout << "加载gpu的PT模型" << std::endl;
	loadModel(your_path_gpu, model_g,true);
return 0;
}

在这里插入图片描述

python部分:
yolov5—> export.py

# YOLOv5 									
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

libtorch 1.12.1 cuda11.3 torch1.12.1 visual stdio2019环境搭建 的相关文章

随机推荐

  • 建立git repo代码仓库

    repo管理多个git仓库 配置git环境 安装git and ssh sudo apt get install git core openssh server openssh client 配置 git username and emai
  • 【对称字符串】

    对称美学 对称就是最大的美学 现有一道关于对称字符串的美学 已知 第 1 个字符串 R 第 2 个字符串 BR 第 3 个字符串 RBBR 第 4 个字符串 BRRBRBBR 第 5 个字符串 RBBRBRRBBRRBRBBR 相信你已经发
  • gin框架32--路由组

    gin框架32 路由组 介绍 案例 说明 介绍 本文主要介绍gin框架中的 路由组 以及相关案例和测试结果 案例 源码 package main import github com gin gonic gin func loginEndpo
  • OpenSSL中文手册之EVP库详解

    1EVP 概览 1 1 EVP 简介 Openssl EVP high level cryptographic functions 1 提供了丰富的密码学中的各种函数 Openssl 中实现了各种对称算法 摘要算法以及签名 验签算法 EVP
  • Linux安装Phabricator

    背景 公司管理需要 为开发团队寻找一款代码审查工具 最终选择了Phabricator ubuntu14 04 LTS 安装 使用官网上提供的install sh即可 参考链接 https secure phabricator com div
  • Java单元测试用例的编写

    作者 阿里技术 链接 https www zhihu com question 449470796 answer 1781246366 来源 知乎 著作权归作者所有 商业转载请联系作者获得授权 非商业转载请注明出处 编写Java单元测试用例
  • javascript if else优化指南

    不管是平时在学习js中还是在项目书中写js代码 都避免不了一个问题就是有时候要做大量的分支判断 很多人的第一反应就是使用if else 无可厚非 if else早平时做分支判断的时候是非常好用的 但是代码中嵌套的if else结构往往导致代
  • python函数与模块实验报告_python学习笔记及作业(函数,内置模块,模块与包)...

    1 作业 爬取内容牛超的poping 视频并存入本地 importrequests res requests get http f us sinaimg cn 001lksTilx07uuNOl74Q01041200dBV50E010 mp
  • python作业代码敲写

    1 判断以下哪些不能作为标识符 B D A a B a C 12 D a 12 E false F False 2 输入数 判断这个数是否是质数 要求使用函数 for循环 3 求50 150之间的质数是那些 4 打印输出标准水仙花数 输出这
  • 小白看React Native

    欢迎大家前往云 社区 获取更多腾讯海量技术实践干货哦 作者 MelonTeam 1 What is React Native 众所周知 产品的需求总是想快速的迭代 但是由于应用分发市场的审核机制 主要是iOS审核 使一些快速迭代的需求只能选
  • 最火视频直播应用Meerkat: 简单到令人发指 却成功了

    最火视频直播应用Meerkat 简单到令人发指 却成功了 分析师 王鑫 2015 03 24 分享 1 作为一款手机视频直播应用 Meerkat的产品设计足够简单 这种简单不仅体现在操作交互层面 还蕴含于产品的核心逻辑中 类似阅后即焚的直播
  • Markdown基础语法

    Markdown基础语法 一 Markdown简介 Markdown 是一种轻量级标记语言 它允许人们使用易读易写的纯文本格式编写文档 Markdown 语言在 2004 由约翰 格鲁伯 英语 John Gruber 创建 Markdown
  • MATLAB中conv2的详细用法

    转自 https blog csdn net jinv5 article details 52874880 conv2函数 1 用法 C conv2 A B shape 卷积滤波 复制代码 A 输入图像 B 卷积核 假设输入图像A大小为ma
  • 安装 VMware 出现 failed to install the hcmon driver

    安装 VMware 出现 failed to install the hcmon driver 1 先删除所有带vmware注册表 删除后重启电脑 在装一遍 无还是无效 2 在c盘搜索hcmon sys文件 有就删除 删除之后重启电脑 再重
  • 响应式人力资源招聘企业网站源码

    介绍 响应式人力资源招聘企业网站源码 网盘下载地址 http kekewangLuo cc 6lqETgRAZ6a0 图片
  • mysql 表分区 插入数据,分区表导入数据库

    如果是10g及以上版本 可以使用参数REMAP TABLESPACE 来映射表空间 1 在ascii数据库中建立3个tablespaces tbs1 tbs2 tbs3 SQL gt create tablespace tbs1 dataf
  • 百分位数

    来源
  • dedecmscan漏洞扫描

    介绍 推荐一款 大佬编写 实用工具 只做推荐 请勿违法 如有侵权 请联系我删除 dedescan是一款可以扫描所有已公开的dedecms漏洞的扫描器 github地址 https github com lengjibo dedecmscan
  • C++中智能指针的设计和使用

    转载请标明出处 原文地址 http blog csdn net hackbuteer1 article details 7561235 智能指针 smart pointer 是存储指向动态分配 堆 对象指针的类 用于生存期控制 能够确保自动
  • libtorch 1.12.1 cuda11.3 torch1.12.1 visual stdio2019环境搭建

    conda 的环境 name torch1 12 1 channels https mirrors tuna tsinghua edu cn anaconda cloud pytorch https mirrors tuna tsinghu
Powered by Hwhale