在云环境中配置并运行 USC-DS-RelationExtraction 项目:安装 PyTorch、CUDA 及依赖
本文将介绍如何在云环境中创建 Python 2.7 环境,安装 PyTorch 0.4.1 和其他依赖包,并在 Ubuntu 系统中安装并运行 USC-DS-RelationExtraction 项目。具体包括如何配置环境,安装所需的依赖包,运行项目,并解决一些常见的错误。
步骤 1:克隆 USC-DS-RelationExtraction 仓库
首先,克隆 USC-DS-RelationExtraction 项目的 GitHub 仓库,并创建必要的文件夹。
创建文件夹并进入:
mkdir work/3 cd work/3
克隆 USC-DS-RelationExtraction 项目仓库:
git clone https://github.com/INK-USC/USC-DS-RelationExtraction.git
进入项目目录:
cd USC-DS-RelationExtraction/code/DataProcessor
步骤 2:创建并激活 Python 环境
创建一个新的 Python 2.7 环境:
conda create --prefix /cloud/envs/test python=2.7
这将把环境安装到
work/envs/test
云目录下,实例终止时不会删除环境。激活环境:
conda activate /cloud/envs/test
步骤 3:安装 PyTorch 0.4.1 和其他依赖包
在创建并激活 Python 环境后,我们可以安装所需的依赖包。
安装 PyTorch 0.4.1 和 CUDA 9.0:
conda install pytorch=0.4.1 cuda90 -c pytorch
安装其他环境依赖包:
pip install pexpect ujson tqdm
步骤 4:安装 Stanza 和 Stanford CoreNLP
接下来,我们需要安装 Stanza 和 Stanford CoreNLP 作为依赖。
下载并解压 Stanza:
wget https://github.com/stanfordnlp/stanza/archive/refs/tags/v0.2.0.zip unzip stanza-0.2.0.zip cd stanza-0.2.0 pip install -e .
下载并解压 Stanford CoreNLP:
wget http://nlp.stanford.edu/software/stanford-corenlp-full-2016-10-31.zip unzip stanford-corenlp-full-2016-10-31.zip cd ..
步骤 5:安装构建工具和依赖
安装必要的构建工具:
sudo apt update sudo apt install build-essential libtool autoconf unzip wget
步骤 6:安装 CMake
为了构建项目,我们需要安装 CMake。按照以下步骤进行安装:
创建并编辑
install_cmake.sh
脚本,安装 CMake:vim install_cmake.sh
输入以下内容并保存:
version=3.28 build=1 ## don't modify from here mkdir ~/temp cd ~/temp wget https://cmake.org/files/v$version/cmake-$version.$build.tar.gz tar -xzvf cmake-$version.$build.tar.gz cd cmake-$version.$build/
保存并退出编辑,按
Esc
键,输入:wq!
然后回车。运行脚本并编译 CMake:
source install_cmake.sh
安装依赖包并运行:
sudo apt-get install libssl-dev ./bootstrap make -j$(nproc)
步骤 7:编译项目
进入 retype 目录并编译:
进入并编译项目:
cd ~/temp/cmake-3.28.1 ./bootstrap sudo apt-get install libssl-dev ./bootstrap make -j$(nproc) cd ../../ && cd work/3/USC-DS-RelationExtraction/code/Model/retype make
步骤 8:运行 Java 进程
运行 Java 进程并启动 Stanford CoreNLP 服务器:
java -mx4g -cp "code/DataProcessor/stanford-corenlp-full-2016-10-31/*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer
此进程将启动 CoreNLP 服务器并为后续的任务提供支持。为了确保该进程不断运行,可以打开新的终端并保持其运行。
步骤 9:运行 run.sh
在新的终端中,激活环境并运行项目:
激活环境:
conda activate /cloud/envs/test
进入项目并执行
run.sh
:cd work/3/USC-DS-RelationExtraction/ ./run.sh
创建需要的文件:
touch data/intermediate/KBP/rm/mention_type_test.txt touch data/results/KBP/rm/prediction_emb_retype_cosine.txt touch data/intermediate/KBP/rm/type.txt touch data/results/KBP/rm/emb_retype_feature.txt
安装额外的 Python 包:
pip install stanza pip install Unidecode pip install nltk==3.4.5
步骤 10:解决错误并运行
运行 run.sh
时可能遇到如下错误:
IOError: [Errno 2] No such file or directory: 'data/source/KBP/train.json'
解决方法:
访问 Google Drive 并申请下载数据集。
将下载的文件解压并放入
/USC-DS-RelationExtraction/data/source/KBP
目录。下载数据后,重新运行
run.sh
:./run.sh
运行 Python 命令以下载 nltk 资源:
python >>> import nltk >>> nltk.download('wordnet') >>> exit()
总结
通过以上步骤,你已成功在云环境中创建并配置了 Python 环境,安装了 PyTorch 0.4.1 和其他依赖包,并成功运行了 USC-DS-RelationExtraction 项目。安装过程中解决了相关错误并成功配置了 Stanford CoreNLP 服务器。
如果你在安装过程中遇到任何问题,或者有任何疑问,欢迎在评论区留言!