pytorch 模型部署之Libtorch
Python端生成pt模型文件
net.load(model_path)
net.eval()
net.to("cuda")example_input = torch.rand(1, 3, 240, 320).to("cuda")
traced_model = torch.jit.trace(net, example_input)
traced_model.save("model.pt")output = traced_model(example_input)
# 输出查看是否与c++输出一致。
print(len(output))
C++ 端进行调用
c++环境配置
libtorch常用API
#include <torch/script.h>
#include <torch/torch.h>#include <iostream>int main() {std::cout <<"cuda::is_available():" << torch::cuda::is_available() << std::endl;torch::Tensor tensor = torch::rand({2, 3}).to(at::kCUDA);std::cout << tensor << std::endl;torch::jit::script::Module module;module = torch::jit::load("/home/yang/Documents/demo/opencv/model.pt");// 创建一个示例输入std::vector<torch::jit::IValue> inputs;inputs.push_back(torch::rand({1, 3, 240, 320}).to(at::kCUDA));// 运行模型// at::Tensor output = module.forward(inputs).toTensor();//auto output = module.forward(inputs).toTensorList();auto out = module.forward(inputs);auto tpl = out.toTuple();auto out_ct_hm = tpl->elements()[0].toTensor();out_ct_hm.print();auto out_wh = tpl->elements()[1].toTensor();out_wh.print();// 打印输出//std::cout << output << "\n";}
可能出错的问题
- terminate called after throwing an instance of ‘c10::Error’
what(): open file failed, file path: model.pt (FileAdapter at …/…/caffe2/serialize/file_adapter.cc:11)。 模型路径有问题,使用绝对路径解决。 - ‘c10::Error’ what(): isTensor() INTERNAL ASSERT FAILED。
很明显,模型的输出应该不是一个 Tensor,可能是一个列表或者元组什么的
相关文章:
pytorch 模型部署之Libtorch
Python端生成pt模型文件 net.load(model_path) net.eval() net.to("cuda")example_input torch.rand(1, 3, 240, 320).to("cuda") traced_model torch.jit.trace(net, example_input) traced_model.save("model.pt")output traced_model(exa…...
Unity——数据存储的几种方式
一、PlayerPrefs PlayerPrefs适合用于存储简单的键值对数据 存储的数据会在游戏关闭后依然保持,并且可以在不同场景之间共享,适合用于需要在游戏不同场景之间传递和保持的数据。 它利用key-value的方式将数据保存到本地,跟字典类似。然后通…...
『heqingchun-ubuntu系统下安装cuda与cudnn』
ubuntu系统下安装cuda与cudnn 一、安装依赖 1.更新 sudo apt updatesudo apt upgrade -y2.基础工具 sudo apt install -y build-essential python二、安装CUDA 1.文件下载 网址 https://developer.nvidia.com/cuda-toolkit-archive依次点击 (1)“CUDA Toolkit 11.6.2”…...
Unity AI Muse 基础教程
Unity AI Muse 基础教程 Unity AI 内测资格申请Unity 项目Package ManagerMuse Sprite 安装Muse Texture 安装 Muse Sprite 基础教程什么是 Muse Sprite打开 Muse Sprite 窗口Muse Sprite 窗口 参数Muse Sprite Generations 窗口 参数Muse Sprite Generations 窗口 画笔Muse Sp…...
pgsl基于docker的安装
1. 有可用的docker环境 ,如果还没有安装docker,则请先安装docker 2. 创建pg数据库的挂载目录 mkdir postgres 3. 下载pg包 docker pull postgres 这个命令下载的是最新的pg包,如果要指定版本的话,则可以通过在后面拼接 :versio…...
idea设置某个文件修改后所在父文件夹变蓝色
idea设置某个文件修改后所在父文件夹变蓝色的方法: 老版idea设置方法: File---->Settings---->Version Control---->勾选 Show directories with changed descendants 新版idea设置方法: File---->Settings---->Version Co…...
代码随想录训练营二刷第五十八天 | 583. 两个字符串的删除操作 72. 编辑距离
代码随想录训练营二刷第五十八天 | 583. 两个字符串的删除操作 72. 编辑距离 一、583. 两个字符串的删除操作 题目链接:https://leetcode.cn/problems/delete-operation-for-two-strings/ 思路:定义dp[i][j]为要是得区间[0,i-1]和区间[0,j-1]所需要删除…...
秋日有感之秋诉-于光
诗:于光 秋风扫叶枝不舍, 叶落随风根欢唱。 秋日穿云不入眼, 云亦婆娑诉余年。...
ubuntu 22.04版本修改服务器名、ip,dns信息的操作方法
总结 1、ubuntu修改服务器名重启后生效的方法是直接修改/etc/hostname文件 2、ubuntu 22.04操作系统配置ip和dns信息,一般只需要使用netplan命令行工具来配置就行,在/etc/netplan/在目录下创建一个yaml文件就可以实现ip和dns的配置,当然如果…...
【微信小程序】6天精准入门(第2天:小程序的视图层、逻辑层、事件系统及页面生命周期)
一、视图层 View 1、什么是视图层 框架的视图层由 WXML 与 WXSS 编写,由组件来进行展示。将逻辑层的数据反映成视图,同时将视图层的事件发送给逻辑层。WXML(WeiXin Markup language) 用于描述页面的结构。WXS(WeiXin Script) 是小程序的一套脚本语言&am…...
速学Linux丨一文带你打开Linux学习之门
前言 如果你是刚开始学习Linux的小白同学,相信你已经体会到与学习一门编程语言相比,学习Linux系统的门槛相对较高,你会遇到一些困惑,比如: 为什么要学习Linux,学成之后我们可以在哪些领域大显身手…...
符尧:别卷大模型训练了,来卷数据吧!【干货十足】
大家好,我是HxShine。 今天分享一篇符尧大佬的一篇数据工程(Data Engineering)的文章,解释了speed of grokking指标是什么,分析了数据工程(data engineering)包括mix ratio(数据混合…...
2023年中国半导体检测仪器设备销售收入、产值及市场规模分析[图]
半导体测试设备是一种用于电子与通信技术领域的电子测量仪器。随着技术发展,半导体芯片晶体管密度越来越高,相关产品复杂度及集成度呈现指数级增长,这对于芯片设计及开发而言是前所未有的挑战,随着芯片开发周期的缩短,…...
诊断DLL——Visual Studio安装与dll使用
文章目录 Visual Studio安装一、DLL简介二、使用步骤1.新建VS DLL工程2.生成dll文件3.自定义函数然后新建一个function.h文件,声明这个函数。4.新建VS C++ console工程,动态引用DLL编写代码,调用dll三、extern "C" __declspec(dllexport)总结Visual Studio安装 官…...
专业课138,总分390+,西工大,西北工业大学827信号与系统考研分享
数学一 考研数学其实严格意义上已经没有难度大小年之分了,说21年难的会说22年简单,说22年简单的做23年又会遭重,所以其实只是看出题人合不合你的口味罢了,建议同学不要因偶数年而畏惧,踏踏实实复习。资料方面跟谁就用…...
css3链接
你可以使用CSS3来自定义链接(超链接)的样式,以改变它们的外观。以下是一些用于自定义链接的常见CSS3样式规则: 链接的颜色: a { color: #0077b6; /* 设置链接的文字颜色 */ } 这个规则可以改变链接的文字颜色。你可以根据需要设置…...
第五章 运输层 | 计算机网络(谢希仁 第八版)
文章目录 第五章 运输层5.1 运输层协议概述5.1.1 进程之间的通信5.1.2 运输层的两个主要协议5.1.3 运输层的端口 5.2 用户数据报协议UDP5.2.1 UDP概述5.2.2 UDP的首部格式 5.3 传输控制协议TCP概述5.3.1 TCP最主要的特点5.3.2 TCP的连接 5.4 可靠传输的工作原理5.4.1 停止等待协…...
CustomTabBar 自定义选项卡视图
1. 用到的技术点 1) Generics 泛型 2) ViewBuilder 视图构造器 3) PreferenceKey 偏好设置 4) MatchedGeometryEffect 几何效果 2. 创建枚举选项卡项散列,TabBarItem.swift import Foundation import SwiftUI//struct TabBarItem: Hashable{ // let ico…...
卡片翻转效果的实现思路
卡片翻转效果的实现思路 HTML 基础布局 <div class"card"><img class"face" src"images/chrome_eSCSt8hUpR.png" /><p class"back"><span>背面背景</span></p> </div>布局完成后如下所示…...
blob和ArrayBuffer格式图片如何显示
首先blob格式图片 <template> <div> <img :src"imageURL" alt"Image" /> </div> </template> <script> export default { data() { return { imageBlob: null, // Blob格式的图片 imageURL: null // 图…...
Rust构建的跨平台数据备份工具relic:安全高效的快照管理与自动化策略
1. 项目概述:一个面向未来的跨平台数据备份与同步工具最近在整理个人工作流时,我一直在寻找一个能让我在不同设备、不同操作系统之间无缝同步项目配置、文档和代码片段的工具。市面上的云盘虽然方便,但总感觉不够“程序员友好”——要么同步粒…...
UTF8-CPP跨版本兼容性指南:从C++98到C++20的完整支持
UTF8-CPP跨版本兼容性指南:从C98到C20的完整支持 【免费下载链接】utfcpp UTF-8 with C in a Portable Way 项目地址: https://gitcode.com/gh_mirrors/ut/utfcpp UTF8-CPP是一个轻量级的C库,专注于以可移植的方式提供UTF-8编码和解码功能&#x…...
从零搭建静态博客:Hugo + GitHub Pages 全流程实战指南
1. 项目概述:一个静态博客的诞生与进化 如果你在GitHub上搜索过个人博客的源码,大概率会见过类似 username/username.github.io 这样的仓库名。 Yucco-K/yucco-k.github.io 就是这样一个典型的、以GitHub Pages为宿主的个人静态博客项目。乍一看&am…...
NoFences:你的Windows桌面整理革命,告别杂乱无章的终极方案
NoFences:你的Windows桌面整理革命,告别杂乱无章的终极方案 【免费下载链接】NoFences 🚧 Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 你是否每天都要在几十个图标中寻找需要的应…...
基于Claude的代码库感知工具:智能编程助手的设计与实战
1. 项目概述:当Claude遇上代码库,一个智能编程助手的诞生最近在GitHub上看到一个挺有意思的项目,叫openclaw-claude-code。光看名字,你可能会觉得这又是一个基于某个大语言模型的代码生成工具,但实际深入了解后&#x…...
Vue 3调试新利器:vibe-devtools实现运行时状态热更新与代码注入
1. 项目概述:一个为前端开发者量身定制的调试利器最近在折腾一个Vue 3 Vite的项目,调试组件状态时,总感觉Chrome DevTools里的Vue Devtools用起来有点“隔靴搔痒”。状态变化是能看见,但想快速模拟个特定数据、或者临时注入一段逻…...
碧蓝航线Alas自动化脚本:10分钟解放双手的智能游戏助手
碧蓝航线Alas自动化脚本:10分钟解放双手的智能游戏助手 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研,全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneAutoScript 还在为每…...
AI智能体记忆系统构建指南:从向量检索到混合搜索的工程实践
1. 项目概述:构建一个能“记住”的智能体最近在折腾AI智能体(Agent)开发的朋友,估计都遇到过同一个头疼的问题:这玩意儿怎么跟金鱼似的,聊两句就忘?你让它帮你整理一份周报,它吭哧吭…...
紧急通知:v8.1即将关闭旧版审美缓存——72小时内必须完成的3步风格校准清单
更多请点击: https://intelliparadigm.com 第一章:v8.1旧版审美缓存关停的技术动因与全局影响 核心架构演进压力 V8.1 引擎中长期运行的“审美缓存”(Aesthetic Cache)模块,本质上是一套基于 DOM 树节点样式偏好建模…...
DLSS Swapper完全指南:3步轻松优化游戏性能的终极方案
DLSS Swapper完全指南:3步轻松优化游戏性能的终极方案 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper DLSS Swapper是一款专为游戏玩家设计的智能工具,能够自动管理、下载和替换游戏中的DLSS、F…...
