深度学习项目依赖太旧,如何升级?

问题

大多深度学习代码库会“好心”地留下一个requirements.txt文件,里面塞满了大大小小的各种依赖包,美其名曰可复现。但你细究就会发现:python还在用3.7版本,torch还是1.x,版本旧得无法兼容新显卡,远古语法一大堆……

显然,更新依赖是最好的做法,但这事曾经相当麻烦,不过如今在AI时代已不成问题。

更新依赖

第一步,我们首先保留好原虚拟环境(起码留有退路),新建一个新环境,并用个比较新的python版本,例如:

conda create -n newenv python=3.11
conda activate newenv

第二步,把之前的requirements.txt喂给AI,使用如下的提示词:

我会给你一个深度学习项目的requirements.txt,请你找出该项目实际的显式依赖包

随后AI会给出该项目的显式依赖包列表,我们可以检查一下,之后可以把“==x.x.x”这种版本约束给删除,只保留包名,就得到了一个新的requirements.txt

第三步,在新环境下安装依赖包:

pip install -r requirements.txt

第四步,在vscode或你的IDE中打开类型检查,一般basic就够了,找找有没有函数调用、库调用、参数不存在等问题,解决完后再实际运行下程序,看看有没有警告、是否正常,到此结束!

以前要花一整天的时间,现在只需花半个小时了!