caffe适配cudnn9.6.0(ai修改代码踩坑)

caffe适配cudnn:https://github.com/dyc2424748461/caffe

(测试一下,成没成,反正我看到它用gpu了😶)

因为突发奇想,想要玩easymocap,先是简单使用media跑通了一下,然后过了几天,又想使用openpose。在安装openpose的时候发现,caffe版本已经是六七年前了,有人适配了cudnn8.0,但是搜了很久也没有找到适配cudnn9.x的,于是乎咱们就想到现在ai都那么强大了,而且任务还是比较清晰的,就使用了ai试试。

刚开始并不知道现在已经有比较完善的智能体,先是尝试了千问,豆包,感觉不太行,老是让我自己写。很烦,而且报错上的处理真的很潦草。于是乎开始在网络上搜索可以完成这类的ai,然后搜到了智能体,尝试了有

复制代码
mgx(emmm,因为没充钱老是暂停,体验感上稍弱一点,代码也写了部分,但是老是暂停,太耗时间了于是转移阵地了),
claude3.7(很强但是得我自己试跑运行然后反馈报错),
openhans(免费赠送的额度使用起来很爽)。

然后主要的程序使用openhands修改的,它在它的环境测试完成后,然后自己运行的时候,有部分报错,把报错发给它的话,他给出了解决方案,但是报错的问题是可能多方面导致的,所以它也不确定是为什么。而且重要的一点是,咱们完全是小白啊。不是很懂这里面的运行逻辑。

然后咱把这个点单独摘出来,问了claude,chatgpt,grok,千问,豆包,等等,给出的答案也都是差不多的,然后我就一个一个排错呗,但是可恶的是按照他们给的修改代码,修改后完全不起作用,而且有的给出要修改四五个文件,我都炸了,但是我也可怜兮兮的改了,根本没有效果,还引发了其他的报错。

这一下炸开了,开始自己动手丰衣足食了。一个一个问可能出现的原因,然后自己去排查,排查排查着猛然发现我自己真是个der,直接让它写个脚本帮我检测不就好了,好家伙,这下可来劲了。

最终确定各个版本兼容,好了不是环境的问题了。

这样排查出来那就是代码的问题了,难道openhands欺骗我了,于是在他的虚拟机里运行试了试,确实可以啊,但是看了它之前修改代码和运行的日志,欸,有点不对劲,有点不对劲,它这个版本是cpu版本的,根本不是我想要的gpu版本,还是之前被那几个mgx错误搞混了头脑,openhands行了,就无条件相信他了。好了让它重新写一版吧。

这次紧盯着openhands,虽然它有的操作着实惊呆我了,佛挡杀佛,魔挡杀魔,有的不仅改了自己的文件还删除了一些文件。为了目的不择手段,很好我很喜欢。

过了不知多久,它说好了,我这次很辩证的看着它的修改日志,有点陷入了沉思,这改了cudnn的官方文件,这删除了自己的文件,真的不会报错嘛,但是它说测试成功了,那咱们在他的环境里试试吧。一试,ok,可以运行。

现在在自己的环境里开始测试,这一测试。。。。emmm,报错,,把报错发给openhands,没事,小问题,直接解决,自己环境运行有报错,在发给他,ok,小问题,再发给他,ok,小问题。。。那么缠绵了几个来回,好了有个问题开始多种方案了,它竟然让我降低版本了,好狡猾。

咱们肯定先信他一信,版本安装了将近半个多小时,运行报错,然后丢给他,ok,小问题,出错,再丢给它,小问题,又缠绵了很久。又有个问题卡住了,卡住了。

然后咱们只请出其他的老大哥了,chatgpt,claude,grok。都尝试一遍,似乎没有得到很有用的消息,把全部报错都丢给它们,好的,他们说改咱们就改,很听劝的。改了改去,突然有个版本运行成功了,赶紧保存那个代码,正以为要走向胜利的时候,结果还是当头一棒。

一看这个版本不对啊。虽然也能跑,但是是cuda11.8啊,不行不符合咱们的目标。咱的目标是要适配到cuda12.x的,ok接着改,这种报错这种修改,各种报错各种修改,现在已经把caffe的源码差不多摸得透透的了,已经知道它整个的运行流程了。

突发一个难解决的问题,又问了将近两天,完全没有头绪。有个文件一直显示找不到函数,而且那个函数是在cuda里面的,而且我设置了使用nvcc进行编译了,把错误(只发了error)全都发给ai们,给出解决方案,咱们改!改了改去,那个错误并没有解决,放弃一天休息一下

脑袋开始各种闪回,可能的错误有哪些,还有哪些步骤是不是错了。

结果没想到的是,有个代码ai们都让我往前放,而且我放完还问了他们,都说可以,真的太傻了。不该相信他们的。虽然我也感觉不对,但是这次能找到整个错误完全是因为我自己去读代码的时候,真的感觉不顺 ,用疑问并质疑的语气问的grok,然后给出了答案,有指定了一个文件使用特定的编译器(因为之前编译成功了,根本就没有想到是这个问题)。然后开始验证~~

可以,可以,编译运行成功,进行测试。可以可以,使用了gpu。然后进行了一点点的旧的api的更换,让日志显示正确的版本信息。ok了,然后后面又开始了半个多个小时的新环境中的编译。成功编译。

测试成功。到此为止吧。

也不知道最后成没成,就放这吧。

相关推荐
通义灵码21 小时前
使用记忆提升开发效率
人工智能·qoder·记忆能力
Echo_NGC223721 小时前
【传统JSCC+Deep JSCC】联合信源信道编码完全指南
人工智能·python·深度学习·神经网络·conda·无人机·jscc
阿杰学AI21 小时前
AI核心知识63——大语言模型之Reasoning Model (简洁且通俗易懂版)
人工智能·ai·语言模型·aigc·cot·推理模型·reasoning model
Blossom.11821 小时前
大模型AI Agent实战:ReAct框架从零实现与金融研报分析系统
人工智能·学习·react.js·stable diffusion·金融·aigc·知识图谱
Mintopia21 小时前
🌐 技术迭代速度与监管适配:WebAIGC的发展平衡术
前端·人工智能·aigc
多则惑少则明21 小时前
AI大模型实用(九)Java快速实现智能体整理(使用LangChain4j-agentic + Tool)
java·人工智能·springai·langchain4j
模型启动机21 小时前
告别OCR与分块!ICLR 2025 ColPali实现视觉文档检索精度&速度双碾压
人工智能·ai·大模型·ocr
其美杰布-富贵-李21 小时前
数据清理与特征工程完整指南
笔记·深度学习·特征工程·训练·数据清理
xerthwis21 小时前
Hadoop:大数据世界的“古老基石”与“沉默的共生者”
大数据·人工智能·hadoop
不被AI替代的BOT21 小时前
AgentScope Java 核心架构深度解析
人工智能