相关链接https://github.com/PaddlePaddle/PaddleNLP/tree/develop/applications/question_answering/faq_finance
https://aistudio.baidu.com/aistudio/projectdetail/4324961?forkThirdPart=1
具体操作,官方文档写得很清楚,主要记录部署过程中遇到的一些问题跟解决办法。
1、cudnn的问题
服务器的cuda不是我装的,nvcc - v这个命令也不管用,所以我一度怀疑根本没装cuda。但是别人用起来了。。。
报错信息:
```bash
RuntimeError: (PreconditionNotMet) Cannot load cudnn shared library. Cannot invoke method cudnnGetVersion.
```
这个问题参考了几篇博客:
https://blog.csdn.net/weixin_41255438/article/details/124144722
https://blog.csdn.net/qq451882471/article/details/106967942
https://blog.csdn.net/weixin_44065323/article/details/110082334
-
首先,跟新数据库 updatedb
updatedb
-
查看shared library中有没有libcudnn.so和libcublas.so,确实没有这两个库
ls /usr/lib |grep lib
-
找到libcudnn.so和libcublas.so的位置
locate libcudnn.so
、locate libcublas.so
-
在shared library中创建libcudnn.so和libcublas.so
# 进入/usr/lib文件夹 cd /usr/lib # 创建libcudnn.so和libcublas.so 软链接 sudo ln -s /home/haifei/.conda/envs/paddlenlp/lib/libcudnn.so.8.2.1 libcudnn.so sudo ln -s /home/haifei/.conda/envs/paddlenlp/lib/libcublas.so.11.5.1.109 libcublas.so # 检查是否创建成功 ls /usr/lib |grep lib
此时我还不能成功运行代码。报错信息如下:
bash The third-party dynamic library (libcudnn.so) that Paddle depends on is not configured correctly. (error code is /usr/local/cuda/lib64/libcudnn.so: cannot open shared object file: No such file or directory)
-
配置环境变量
export LD_LIBRARY_PATH='/home/haifei/.conda/envs/paddlenlp/lib/'
程序可以正常使用GPU训练了。
2、milvus问题
首先是版本问题,该工程用的是1.1.1版本,我图方便,服务器上有现成的0.8.0版本,结果运行python vector_insert.py
时报错。
一番动作还是无法解决,重新拉了一个1.1.1的milvus docker镜像,安装时提示默认的端口被占用,容器建立了,但是没有正确启动,改了端口,但是改变后的端口可能并不能用,无法链接到服务器。最后将之前的0.8.0的milvus容器停止了,还是使用默认的端口启动1.1.1的milvus容器。启动链接成功。
但是还是有问题,也是版本问题。milvus与pymilvus版本不匹配。卸载当前的pymilvus:pip uninstall pymilvus
,安装对应的版本:pip install pymilvus==1.1.2
问题解决。