THC/THC.h: No such file or directory 问题原因及一系列解决方案

问题原因

出现THC/THC.h: No such file or directory 这个问题的原因主要是:pytorch在1.11版本之后,THC/THC.h就被移除了,所以出现这个问题的原因是因为pytorch版本太高的原因。所以,解决这个问题一个最直观的方法就是降版本,但是不想将版本,可以按照下面的方法更改。

解决方案

将#include <THC/THC.h>相关的头文件都注释掉。然后加入下面三个头文件:

#include<ATen/ceil_div.h>
#include <ATen/cuda/CUDAContext.h>
#include <ATen/cuda/CUDAEvent.h>

这时候在编译是,会出现一堆方法函数找不到的情况,可以按照下面的替换方法一步一步更改:

1. identifier "THCudaCheck" is undefined: THCudaCheck 替换成 C10_CUDA_CHECK2. error: identifier "THCCeilDiv" is undefined: 
这个问题有两种解决方案:
第一种:THCCeilDiv(x,y)的地方,用 (x+y-1)/y的形式替换
第二种:THCCeilDiv(x,y)用at::ceil_div(x,y)替换3. identifier "AT_CHECK" is undefined: AT_CHECK替换为TORCH_CHECK4. identifier THCudaMalloc、THCudaFree THCState undefined这三个函数未定义:4.1 THCudaMalloc: mask_dev = (unsigned long long*) THCudaMalloc(state, boxes_num * col_blocks * sizeof(unsigned long long));用下面的语句代替:
mask_dev = (unsigned long long*) c10::cuda::CUDACachingAllocator::raw_alloc(boxes_num * col_blocks * sizeof(unsigned long long));4.2 THCudaFree:THCudaFree(state, mask_dev) ——————> c10::cuda::CUDACachingAllocator::raw_delete(mask_dev);4.3 下面这句可以直接注释,不再需要:#THCState *state = at::globalContext().lazyInitCUDA(); 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/50106.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试题:简单介绍一下快速失败和安全失败。简单介绍一下快速失败和安全失败和集合类的关联。

一. 简单介绍一下快速失败和安全失败 Java 中的快速失败&#xff08;Fast-fail&#xff09;和安全失败&#xff08;Safe-fail&#xff09;是两种异常处理机制&#xff0c;它们在处理程序运行过程中出现的错误或异常时有所不同。 1. 快速失败&#xff08;Fast-fail&#xff09…

【图像标签转换】XML转为TXT图像数据集标签

引言 该脚本用于将包含对象标注的 XML 文件转换为 YOLO&#xff08;You Only Look Once&#xff09;对象检测格式的 TXT 文件。脚本读取 XML 文件&#xff0c;提取对象信息&#xff0c;规范化边界框坐标&#xff0c;并将数据写入相应的 TXT 文件。此外&#xff0c;它还生成一个…

做视频混剪都是去哪里找高清素材的?分享10个高清视频素材库

提升视频混剪质感的10个高清素材库推荐 在这个视觉体验至上的时代&#xff0c;视频的视觉质量对吸引观众至关重要。如果你正在寻找高清素材以提升视频混剪作品的层次&#xff0c;那么你来对地方了。今天&#xff0c;我将为你揭秘10个视频混剪达人常用的高清素材库&#xff0c;…

ABAP:成本中心计划批量KP06导入BAPI

KP06需要传入成本要素,这里就比较麻烦,目前找了很多BAPI都没有合适的,经过两天的查找资料才找到,下面详细见代码:一个批量导入程序: *&---------------------------------------------------------------------* *& 包含 *&----------------…

Kylin Cube资源使用限制:优化大数据查询性能的策略

Kylin Cube资源使用限制&#xff1a;优化大数据查询性能的策略 Apache Kylin作为一个高效的大数据分析平台&#xff0c;其核心功能之一是构建Cube来预计算和存储多维数据集。随着数据量的增长&#xff0c;合理地管理和限制Cube的资源使用变得尤为重要。本文将探讨Kylin是否支持…

学习笔记-系统框图传递函数公式推导

目录 *待了解 现代控制理论和自动控制理论区别 自动控制系统的组成 信号流图 1、系统框图 1.1、信号线、分支点、相加点 1.2、系统各环节间的连接 1.3、 相加点和分支点的等效移动&#xff08;比较点、引出点&#xff09; 2、反馈连接公式推导 2.1、前向通路传递函数…

YOLO训练触发早停

YOLO训练触发早停 日志&#xff1a; Stopping training early as no improvement observed in last 100 epochs. Best results observed at epoch 0, best model saved as best.pt. To update EarlyStopping(patience100) pass a new patience value, i.e. python train.py -…

斐波那契数列(Fibonacci)数列 c++详解

Fibonacci数列是一个在数学和计算机科学中非常著名的数列。这个数列以其特殊的递推关系而闻名&#xff0c;也因其在自然界中的多次出现而引人注目。 定义&#xff1a; Fibonacci数列的定义如下&#xff1a; F(0) 0F(1) 1对于 n > 1&#xff0c;F(n) F(n-1) F(n-2) 也就…

robotframework语法易错点总结(更新中...)

1.列表使用还是$ 1、若想把列表用Set Global Variable设置全局变量时&#xff0c;必须用&#xff0c;当使$设置全局变量时为字符串。 Set Global Variable ${name} Jack Set Global Variable {animals} cat monkey duck dog 2、使用FOR循环遍历列表…

Windows:批处理脚本学习

目录 一、第一个批处理文件 1. &&和 | | 2. | 和 & 二、变量 1.传参变量%name 2.初始化变量set命令 3.变量的使用 4.局部变量与全局变量 5.使用环境变量 6.扩充变量语法 三、注释REM和 &#xff1a;&#xff1a; 四&#xff1a;函数 1.定义函数 2.…

力扣984.不含AAA或BBB的字符串

力扣984.不含AAA或BBB的字符串 贪心 如下 class Solution {public:string strWithout3a3b(int a, int b) {string res;while(a > b && b > 0){res "aab";a--,a--;b--;}while(b > a && a > 0){res "bba";b--,b--;a--;}whi…

js 习题 1

文章目录 前言T1T2T3T4T5T6T7T8T9结语 前言 『最孤独的人最亲切&#xff0c;受过伤的人总是笑的最灿烂。』—— 「素媛」 T1 let buf""; process.stdin.on("readable",function(){let chunkprocess.stdin.read();if(chunk){bufchunk.toString();} });pr…

Python3网络爬虫开发实战(2)爬虫基础库

文章目录 一、urllib1. urlparse 实现 URL 的识别和分段2. urlunparse 用于构造 URL3. urljoin 用于两个链接的拼接4. urlencode 将 params 字典序列化为 params 字符串5. parse_qs 和 parse_qsl 用于将 params 字符串反序列化为 params 字典或列表6. quote 和 unquote 对 URL的…

GIS前沿技术

无论是初步接触到GIS的学生&#xff0c;还是对GIS已经有一定的了解的从业者&#xff0c;肯定都非常关心两个问题&#xff1a;GIS有没有发展前景&#xff0c;GIS有哪些应用价值&#xff1f; 关于这两个问题&#xff0c;笔者的答案是GIS作为一门融合了空间数据采集、存储、处理、…

【数据结构】堆,优先级队列

目录 堆堆的性质大根堆的模拟实现接口实现构造方法建堆入堆判满删除判空获取堆顶元素 Java中的PriorityQueue实现的接口构造方法常用方法PriorityQueue注意事项 练习 堆 如果有一个集合K {k0&#xff0c;k1&#xff0c; k2&#xff0c;…&#xff0c;kn-1}&#xff0c;把它的…

Listen(sockfd,backlog)监听函数的第二个参数到底是什么?深度解释

listen队列剖析 int listen(int sockfd,int backlog) backlog : 监听套接字队列 对于一个调用监听的套接字&#xff0c;系统会维护给这个套接字两个队列 1. 未完成连接队列 //当客户端发生三次握手的第一次syn包给服务器的时候&#xff0c;服务器就会再未完成队列中创建…

深入探索 Postman:使用 API 性能测试优化你的 Web 服务

引言 在当今快速发展的互联网时代&#xff0c;Web 服务的性能至关重要。API 作为服务之间的桥梁&#xff0c;其性能直接影响到整个应用的响应速度和用户体验。Postman&#xff0c;作为一个多功能的 API 开发工具&#xff0c;提供了强大的性能测试功能&#xff0c;帮助开发者评…

2024第29届郑州全国商品交易会

第29届郑州全国商品交易会 2024第四届餐饮与供应链专题展 邀 请 函郑州全国商品交易会&#xff08;简称郑交会&#xff09;是全国大型性经贸活动&#xff0c;一直秉承“政府指导&#xff0c;市场化运作”的模式&#xff0c;自1995年以来已成功举办了二十八届&#xff0c;是国内…

【java】BIO,NIO,多路IO复用,AIO

在Java中&#xff0c;处理I/O操作的模型主要有四种&#xff1a;阻塞I/O (BIO), 非阻塞I/O (NIO), 异步I/O (AIO), 以及IO多路复用。下面详细介绍这四种I/O模型的工作原理和应用场景。 1. 阻塞I/O (BIO) 工作原理 阻塞I/O是最传统的I/O模型。在这种模型中&#xff0c;当一个线…

CSS 自适应图片根据 div 大小进行均匀填充

目录 前言使用 object-fit 属性示例代码 HTMLCSS 总结相关阅读 1. 前言 在Web开发中&#xff0c;经常需要图片根据其容器的大小进行自适应填充&#xff0c;使得图片在任何设备和屏幕尺寸下都能保持良好的显示效果。本文将介绍如何使用CSS中的 object-fit 属性来实现这一需求…