warp-ctc是可以在CPU和GPU上实现并行计算CTCLoss的开源库,支持pytroch和tensorflow的调用,下面记录下过程和错误解决方法。
从github上下载warp-ctc
点击warp-ctc下载地址,电脑上安装了git的可以直接使用以下命令安装:
git clone https://github.com/SeanNaren/warp-ctc.git
没有安装git的可以点击github加速,安装好之后再点击warp下载地址,点击code按钮,选择一个路线对其进行下载。
安装warp-ctc
将下载好的warp-ctc文件传至自己的服务器上
- 可以通过winscp来传
- 也可以通过scp -r 文件夹名称 另一个服务器IP地址@用户名:/home/用户名/位置
若使用winscp传输文件,则在PUTTY中打开会话,按照下载好的文件夹中的readme.md输入
cd warp-ctc
mkdir build
cd build
cmake ..
make
cd ../
cd pytorch_binding
python setup.py install
cd ../build
cp libwarpctc.dylib /Users/$WHOAMI/anaconda3/lib
所遇问题
- 在输入make时运行cmake…出现以下错误 我们出现这个问题的原因是因为前面装cuda的时候没装好,导致识别不出来cuda的路径,我们参考了这个博主的这篇博客,重新安装了cuda
手把手教会你在Linux服务器上安装用户级别的CUDA
- 在输入make之后,出现了以下错误
error: this declaration has no storage class or type specifier
error: expected a ";"
参照warp-ctc源码安装这篇文章,找到warp-ctc/src/ctc_entrypoint.cu,打开ctc_entrypoint.cpp,删除仅有的一行代码,.将wrap-ctc/src/ctc_entrypoint.cpp中的内容复制到warp-ctc/src/ctc_entrypoint.cu中,然后重新make就可以通过了。
- 在安装好之后重新运行时,发现所使用的python环境发生了改变,原本装好传至服务器上能正常使用的包无法导入,把原来的环境删掉之后重新传入环境之后才可以正常运行。我们猜测可能是因为之前在第一步时export cuda路径时把原来python的路径不小心覆盖掉了。
收获
通过本次安装warp-ctc,我觉得还需要多查资料,多实际操作,一步一步顺着来,这样才能解决问题。
|