0


小白如何优雅的“移植”github的代码?

我也是刚接触github,魔法还是各种外挂,首先你先保证上github官网,然后搜索你需要的代码资源,点击download,整个压缩包放在你的pycharm或者vscode相应文件夹下面解压,接着就开始漫漫征途了,具体如下所示:

1.看readme,我这里提示这个资源是和一篇paper配套的,我就先把文章看了,我这个具体就是弄出了两个新的数据集,然后实践了一些传统模型证明这俩数据集比较“严格的对待准确率”(自己体会),体现在readme里面就是这样:

然后接着往下看,很清晰了,关于这个资源具体有什么要干什么,虽然我不一定会。继续往下看,我们发现这里提示了运行这个资源包我们需要什么版本的环境,具体如下所示:

这里建议新创一个虚拟环境再下,我这里已经有一个3.7的环境了,就不重新下了,还不知道这代码跑步跑得动呢,就这样吧,继续往下看,后面还有一些有的没的,先不看了,先创一下:

我这边下的是一个关于深度学习的代码,先总体看一下他的结构:

我觉得这个分类文件夹之外单独的.py文件肯定是最后的训练代码,接下来我们打开他,跑一下试试:

果不其然,报错了,我们看看错误:说缺少mmcv这个模块,我们先搜搜mmcv是不是一个库,问问gpt吧直接:

好的是库,我们试着安装一下,打开终端输入相对应的命令:

回车看下:

报错了,看来不能粗暴安装,搜索一下安装命令吧:

跟着人家博主试试吧:

狂报错,奇怪,我再试试别的办法。我看网上的主流办法是先查自己的电脑环境版本,然后下载对应的离线包解压,最后我们来操作一下吧,one by one:

首先看看自己电脑的安装的环境版本:

好像不是再终端输入的,直接开cmd吧:

这里说我的cuda版本是11.3,然后我们查一下自己电脑的torch版本,同样在这个界面我们继续输入:pip list

https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html​download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html到这个网址下了mmcv:

下载之后进入对应文件夹,输入命令,然后就下载成功了:

下载成功那么我们再跑一遍train.py试试:

新创的环境,一堆库没装,我恨呐,一个个装吧:

同理,我还装了visdom,configs,安装完了之后,我以为可以好好跑了,但是当我再次运行train.py的时候开始报新的错误:

查看报错第一条,我在思考为什么我明明安装了configs,为什么还会报错?不过我怀疑可能是总体错误引起的连带错误。我打算先处理总的报错——yacs,我先尝试着安装一下它:

欧克了,那么接下来我们继续运行一下train.py,事实证明我的猜想是对的,那我们接下来只看总的报错,然后进行愉快的安装吧:

安装完了之后,再次运行train.py的时候,他开始玩新花样了,报了一个不一样的错误:

他说不能从torch库里面引入这个东西,我问问gpt,他说是我需要把torchvision升级到最高版本,那我先试试他的方案:

升级以后,说我的cuda版本不适配了,我麻了,我选择逃避,先试试会不会继续报错吧:

gpt这个废物,不仅俺的cuda用不了了,问题还没解决。安装回去吧,可恶啊!我怀疑是我的torch版本不对,导致了这个问题,我打算卸载掉我现在的torch,安装一个我需要的torch版本,我记得readme里面的torch版本是:1.7.0,我电脑上面的应该是1.12.1,但是需要注意cuda可能会不对应:现在我卸载重新安装一下,我首先用的我之前安装的教程,安装和cuda适配的torch:

环境算是配完了,接下来我们再跑一下代码看看:

终于不报cuda的错了,说明cuda和torch适配了,接下来我们集中解决下上面这个问题。观察报错,说不能冲models里面引用类,我猜测可能是models文件夹里面的东西没跑,我们打开对应.py全局搜索一下试试:

果不其然,这个是人家自己写的代码不再是库了,那我们就吧对应的引入都跑一下吧,当然肯定会有报错,无需慌张,且看十八般变化,万变不离其宗。不过东西一多,容易凌乱,我们先明确一下需要跑哪一些东西:

1.swin_transformer:

开门红,报错了:这一步说models里面的registry没有跑,那我们就跑一下:

顺利完成,我们回到swin_transformer看看:

居然还报一样的错,又是文件夹嵌套,未定义根目录的问题我猜。

这太搞了,居然还是调用不了,我记得之前遇到这种问题都是直接放弃或者直接把东西全部挪到一起,简单粗暴,现在是时候解决问题了。可恶,我想想:

最后解决方案就是——丢到一起,或者你觉得不好看可以再设置一个文件夹,反正他搜索不到,也不冲突。我可不是故意摆烂啊。这里我试过的方法有:添加sys路径、设置根目录,修改pycharm设置,但是都不行,只有丢到一起管用,这没办法了,黑猫白猫能抓住老鼠的就是好猫,接着下一步吧!

2.resent:

3.bninception:

4.vit:
果然还是遇到了这个问题,我一直想不通,这不是torch库里面的吗?求助强大的gpt试试:

好好好,还是得安装旧版本的torch,逃不掉了,来吧求助强大的网络世界从而解决问题:

安装完了,现在回去弄下代码试试:

好好好,错误更多了,可恶啊!根据观察:

就是说不仅要torch适配,torchvision和torchaudio也要适配,那么我们得先知道哪几个版本是适配的。我发现我踩了大雷了,这个readme和requirements不一样,可恶,大佬建议我从低版本开始测试,那我们现在先看requirements:

既然如此,那就重新安装一下吧,确认一下我们现在需要:

pip install torch==1.4.0+cu92 torchvision==0.5.0+cu92 torchaudio==0.4.0 --extra-index-url https://download.pytorch.org/whl/cu92

结果报错了,我怀疑ai在狗我,我百度一下 版本试试:奇怪!版本是对的呀?难道是网址这个不好下?那我单独把torchaudio下了算了:

完蛋版本太古早了。我查了一下官网:

怪不得装不上,那我们就直接抄官网的命令吧,瓦达西也没有办法了:

conda install pytorch==1.4.0 torchvision==0.5.0 cudatoolkit=10.1 -c pytorch

但这个conda命令我觉得不能直接在终端安装了,我们进入prompt环境然后进入自己设定的虚拟环境进行设置吧:

还是报错说装不上,😕,咋回事啊?用一下终端命令试试:

好好好,又轮到torch寄了。此路不通,直接readme吧,受不鸟了:

去pycharm终端试试:

好好好,小道消息可以去prompt下,我再试试:

居然装上了,真是nt,那我们再跑一下vit.py吧:

导,你看见了吗?我跑通了,继续继续,咱接着跑train.py:

又开始报错了,好好好,让我们看看玩的什么花样。

我觉得意思应该是没有跑这个名为trsnet.py的代码,我们跑一下吧:

报了一个新的错误,我先查查这是不是库:

好像是库,我们先安装,然后再跑一遍trsnet.py这个代码:

好像装不了,求助下万能的百度:

有一堆冲突?我仔细看下报错,求人不如求己啊:

他说缺少编译器,c++的,那我们就装一个吧,但是vscode太大了,装的话太费事了,这里我们只装一个编译器吧:

conda install libpython m2w64-toolchain -c msys2

用的上面这个大佬的办法,说是可以直接不装vs,但把环境配好,俺们试试。装的超级慢,但是还是抱着耐心等了。看会书算了,等着吧:

装完了报一样的错误,可恶,换方法:

还是不行,不知道为啥,可恶啊。算了还是装vscode吧,然后返回去装那个库看看:

好的,他开始报新的错了,求助万能百度吧:

好,那就试试:

新的错,现在也不说轮子造不出来了,再查查吧。据说是setuptools版本问题,我重新下了个版本,但是我们的不能造轮子问题回来了:

感觉方法都试遍了,还有一个办法说是升级cuda,我试试:

竟然成功了,流泪.jpj。接下来跑代码试试:

又说没有models,这个问题我记得解决过,重构文件夹结构我记得是。改一下,然后继续运行一下啊:

如图,有一个新的报错依次运行一下:

1.gengeral_layers:

2.avg_pool:

返回去跑一下咱的tresnet.py:

很奇怪我已经把对应的.py跑过了,为什么还会报这个错?我想想,反正最后解决如下:

接下来继续跑,看看报错玩什么花样:

首先被引入的这个文件是能跑通的:

我们再跑一遍tresnet.py看看:
看了下报了新的错,应该是数据集下载问题,咱下一下:

反正就按这个套路一直跑,最后跑一边train.py:

标签: github 笔记 python

本文转载自: https://blog.csdn.net/weixin_53129676/article/details/135416847
版权归原作者 羽翳 所有, 如有侵权,请联系我们删除。

“小白如何优雅的“移植”github的代码?”的评论:

还没有评论