• 欢迎光临~

只是为了测试目录功能

开发技术 开发技术 2022-12-31 次浏览

『2022语言与智能技术竞赛』- 情感可解释性评测环境安装记录

参考官方文档

安装过程

创建虚拟环境并进入

$ conda create -n sentiment python==3.8.12
$ conda activate sentiment

只是为了测试目录功能

安装paddle

paddle官网

$ pip3 install paddlepaddle-gpu==2.1.0 -i https://pypi.tuna.tsinghua.edu.cn/simple 
$ pip3 install paddlenlp==2.2.4 -i https://pypi.tuna.tsinghua.edu.cn/simple 
$ pip3 install paddle-ernie -i https://pypi.tuna.tsinghua.edu.cn/simple

只是为了测试目录功能

安装项目环境依赖

$ cd /path_to_/model_interpretation/
$ pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple 

下载数据

$ chmod +x ./download.sh
$ ./download.sh

报错处理

报错处理 1

此时运行代码报错如下:

TypeError: Descriptors cannot not be created directly. If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.

搜索报错信息知protobuf需要降级,参考 issues/1970

$ pip install protobuf==3.20.1

只是为了测试目录功能

报错处理 2

找不到 libcudnn.so 动态链接库
搜索解决方法,在 /usr/local/cuda-10.2/lib64/usr/local/cuda/lib64 目录中没有找到 libcudnn.so

$ ls -alh /usr/local/cuda-10.2/lib64 | grep  libcudnn.so
$ ls -alh /usr/local/cuda/lib64 | grep libcudnn.so

想到没有安装 cudnn,cuda 版本为 10.2,故安装 cudnn7.6.5

$ conda install cudnn==7.6.5

安装完后,在 ~/anaconda3/envs/sentiment/lib 路径中找到 libcudnn.so

(sentiment) xxx@TITAN:/path_to_e/model_interpretation$ ls -alh ~/anaconda3/envs/sentiment/lib/ | grep libcudnn.so
lrwxrwxrwx  1 lisq lisq   17 12月 30 15:21 libcudnn.so -> libcudnn.so.7.6.5
lrwxrwxrwx  1 lisq lisq   17 12月 30 15:21 libcudnn.so.7 -> libcudnn.so.7.6.5
-rwxrwxr-x  3 lisq lisq 409M 12月 20  2019 libcudnn.so.7.6.5

只是为了测试目录功能

需要指明动态库的地址,使用 Linux 环境变量指明

export LD_LIBRARY_PATH=/path_to_/anaconda3/envs/b1/lib:$LD_LIBRARY_PATH

编辑 run_train.py,在文件开头,添加 export xxxx(如上),使 train 可以读取你设定的 lib 目录

$ ./run_train.sh

报错处理 3

运行之后报错如下

只是为了测试目录功能
只是为了测试目录功能

报错信息应该是numpy和padlle版本不兼容的问题,所以对paddle版本做升级尝试如下

$ pip3 install paddlepaddle-gpu==2.2.2 -i https://pypi.tuna.tsinghua.edu.cn/simple

再次运行成功

只是为了测试目录功能

程序员灯塔
转载请注明原文链接:只是为了测试目录功能
喜欢 (0)
违法和不良信息举报电话:022-22558618 举报邮箱:dljd@tidljd.com