tensorflow配置warp_ctc

warp_ctc是百度的加速ctc函数,

warp-ctc: https://github.com/baidu-research/warp-ctc

wjc写的这篇博客参照:https://blog.csdn.net/qq_29133371/article/details/80407985

 他写比较多,而且安装的时候有点差异。

Anaconda 安装tensorflow参照官网即可。

环境:Ubuntu 16.04,tf 1.8, GPU

1:找一个位置,比如home目录,clone warp-ctc

git clone https://github.com/baidu-research/warp-ctc.git
cd warp-ctc

2:创建build目录(编译后文件所在目录)

mkdir build
cd build

3:编译

cmake ../ (../表示上级目录)
make

4:进入tensorflow_binding

cd tensorflow_binding


5:设置WARP_CTC_PATH(包含libwarpctc.so路径,编译后再build文件下可以找到),TENSORFLOW_SRC_PATH(tensorflow安装所在路径),CUDA_HOME(cuda根目录)(根据实际情况设置自己的path).在这里我用的是修改bashrc的方法。
比如我:

gedit  ~/.bashrc

然后添加环境变量:

export TENSORFLOW_SRC_PATH=/home/wujiacheng/anaconda3/lib/python3.6/site-packages/tensorflow(因为我tensorflow就装在这里)
export CUDA_HOME="/usr/local/cuda"
export WARP_CTC_PATH=$HOME/warp-ctc/build$WARP_CTC_PATH

----------------------------------------------------------------------------------------------------

我之前装cuda时是export CUDA_HOME=/usr/local/cuda-9.0

把这个改成export CUDA_HOME="/usr/local/cuda" 不改导致后面生成了一个名字叫cuda的文件,后面执行setup.py install出现了

File exiting 错误,把那个文件删了,在把CUDA_HOME设置好就好了

因为之前创建了软链接,这样不会有错的,然后再

source ~/.bashrc

6,在tensorflow_binding 目录

执行setup.py

python setup.py install

7,安装成功,conda list显示已经有了warpctc-tensorflow 0.2

但是

import warpctc_tensorflow

报错:libgomp.so.1: version `GOMP_4.0' not found

解决:把ubuntu系统中

/usr/lib/x86_64-linux-gnu/ 这个目录下的libgomp.so.1和libgomp.so.1.0.0

这两个文件(或者所有带libgomp.so这个名字的文件)复制到

/home/wjc/anaconda3/lib 这个目录下,选择替换

参照https://blog.csdn.net/dcrmg/article/details/78358279

https://blog.csdn.net/jiangpeng59/article/details/70213578

有些时候环境库或者环境变量配置好了,如果还没生效的话,就重新开个终端,

用了warpctc,感觉gpu的并没有提升多少,cpu的倒是快了蛮多

用gpu,warpctc和tensorflow自带的tf.nn.ctc_loss速度上感觉没什么差别

直接硬解lstm ctc问题,都很慢,还是得在lstm前面加cnn

猜你喜欢

转载自blog.csdn.net/xd_wjc/article/details/83591398
CTC
今日推荐