warp-CTC是百度开源的一个可以应用在CPU和GPU上高效并行的CTC代码库,对CTC算法进行了并行处理。
warp-CTC安装:
1、首先系统需要安装CUDA,pytorch=0.4.1
sudo apt install nvidia-cuda-toolkit
conda install pytorch=0.4.1 torchvision
2、gcc g++版本换为4.8 (5.0以下)
sudo apt install gcc-4.8 g++-4.8
cd /usr/bin
sudo mv gcc gcc_bak
sudo mv g++ g++_bak
sudo ln -s gcc-4.8 gcc
sudo ln -s g++-4.8 g++
cd /usr/bin
ls gcc*
sudo mv gcc gcc_bak
sudo mv g++ g++_bak
sudo ln -s gcc-(填写想要的gcc) gcc
sudo ln -s g++-(填写想要的g++) g++
3、下载源码并编译
git clone https://github.com/SeanNaren/warp-ctc.git
cd warp-ctc
git reset ac045b6
mkdir build; cd build
cmake ..
make
4、按照如下解决方案进行pytorch_bingding/src/binding.cpp的代码段修改
// 1 at 92 line
int probs_size = THCudaTensor_size(state, probs, 2);
// 2 at l05 lines
void* gpu_workspace;
THCudaMalloc(state, gpu_size_bytes);
5、开始安装
cd ../pytorch_binding
python setup.py install
6、添加环境变量
echo "export LD_LIBRARY_PATH=/home/tindan/warp-ctc/pytorch_binding:$LD_LIBRARY_PATH" >> ~/.bashrc
7、验证pytorch中warp-CTC是否可用GPU例子:
cd /home/xxx/warp-ctc/pytorch_binding/tests
python test_gpu.py
网友评论