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文件传至自己的服务器上

  1. 可以通过winscp来传
  2. 也可以通过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

所遇问题

  1. 在输入make时运行cmake…出现以下错误在这里插入图片描述 我们出现这个问题的原因是因为前面装cuda的时候没装好,导致识别不出来cuda的路径,我们参考了这个博主的这篇博客,重新安装了cuda

手把手教会你在Linux服务器上安装用户级别的CUDA

  1. 在输入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就可以通过了。

  1. 在安装好之后重新运行时,发现所使用的python环境发生了改变,原本装好传至服务器上能正常使用的包无法导入,把原来的环境删掉之后重新传入环境之后才可以正常运行。我们猜测可能是因为之前在第一步时export cuda路径时把原来python的路径不小心覆盖掉了。

收获

通过本次安装warp-ctc,我觉得还需要多查资料,多实际操作,一步一步顺着来,这样才能解决问题。


版权声明:本文为qq_55810765原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_55810765/article/details/122262326