首页 > 编程语言 >warp-transducer源码安装,warprnnt_pytorch生成

warp-transducer源码安装,warprnnt_pytorch生成

时间:2023-11-15 15:14:12浏览次数:36  
标签:rnnt warprnnt warp 源码 entrypoint transducer cuda

warp-transducer是可以在CPU和GPU上实现并行RNN-transducer的开源库,现在支持pytroch和tensorflow的调用,主要用来计算RNNTLoss,

本文是在ubuntu18.04的系统上进行的。

warp-transducer下载地址

源码编译warp-transducer
首先获取warp-transducer的代码:

git clone https://github.com/HawkAaron/warp-transducer.git
cd warp-transducer
1
2
创建一个build文件夹:

mkdir build
cd build
1
2
编译:

cmake -DCUDA_TOOLKIT_ROOT_DIR=$CUDA_HOME ..
make
1
2
如果你的cuda不是标准安装,那么需要用-DCUDA_TOOLKIT_ROOT_DIR=cuda的安装路径,使cmake能够发现CUDA

如果有以下logs:

-- cuda found TRUE
-- Building shared library with no GPU support
1
2
请运行rm CMakeCache.txt,然后重新cmake

编译失败请注意
如果在make的时候出现这个错误:

/home/gaoliqing/lhb/warp-transducer-master/src/rnnt_entrypoint.cu(1): error: this declaration has no storage class or type specifier

/home/gaoliqing/lhb/warp-transducer-master/src/rnnt_entrypoint.cu(1): error: expected a ";"

2 errors detected in the compilation of "/tmp/tmpxft_000014f2_00000000-13_rnnt_entrypoint.compute_70.cpp1.ii".
CMake Error at warprnnt_generated_rnnt_entrypoint.cu.o.cmake:266 (message):
Error generating file
/home/gaoliqing/lhb/warp-transducer-master/build/CMakeFiles/warprnnt.dir/src/./warprnnt_generated_rnnt_entrypoint.cu.o

CMakeFiles/warprnnt.dir/build.make:192: recipe for target 'CMakeFiles/warprnnt.dir/src/warprnnt_generated_rnnt_entrypoint.cu.o' failed
make[2]: *** [CMakeFiles/warprnnt.dir/src/warprnnt_generated_rnnt_entrypoint.cu.o] Error 1
CMakeFiles/Makefile2:141: recipe for target 'CMakeFiles/warprnnt.dir/all' failed
make[1]: *** [CMakeFiles/warprnnt.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
解决方法:
找到warp-tranducer-master/src/rnnt_entrypoint.cu文件,打开文件你会发现,只有一行代码:rnnt_entrypoint.cpp。删除这行代码,将wrap-transducer-master/src/rnnt_entrypoint.cpp中的内容复制到warp-transducer-master/src/rnnt_entrypoint.cu中,然后重新make就可以通过了。

warprnnt-pytorch
warp-transducer提供了包装warpRNNT库的pytorch内核。

安装
首先编译通过warp-transducer,然后需要安装pytorch环境。网上有许多安装pytorch的教程,这里就不做说明了。

如果你有一个GPU,需要确保CUDA_HOME被设置了,如下:

export CUDA_HOME="/usr/local/cuda"
1
"/usr/local/cuda"是CUDA的路径,请替换自己的路径

现在开始安装:(推荐在pytorch环境下安装,推荐使用anaconda创建pytorch环境)

cd pytorch_binding
python setup.py install
1
2
然后终端会输出安装成功的信息。(我是在anaconda创建的pytorch环境下安装的,系统会直接把包输出anaconda3/envs/pyEnv/lib/python3.7/site-packages下,就可以直接使用了)

install出错请注意
如果提示cuda.h、cuda_runtime.h等找不到,首先确保CUDA_HOME已经设置了。如果已经设置了,但是还是有下面的错误,请运行下面的指令:

vim ~/.bashrc
1
在bashrc中写入:

export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/opt/software/cuda/cuda-10.0/include
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/opt/software/cuda/cuda-10.0/include
1
2
/opt/software/cuda/cuda-10.0/include是cuda.h所在的路径,请改为自己的。

保存退出,执行

source ~/.bashrc
1
使更改生效,重新install就可以通过了。
————————————————
版权声明:本文为CSDN博主「栋次大次」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39529413/article/details/104449629

标签:rnnt,warprnnt,warp,源码,entrypoint,transducer,cuda
From: https://www.cnblogs.com/wcxia1985/p/17833892.html

相关文章

  • 成品直播源码,JAVA获取图片的宽、高和大小
    成品直播源码,JAVA获取图片的宽、高和大小如果是本地磁盘文件     Filefile=newFile("C:\\Users\\root\\Desktop\\test.jpg");    BufferedImagebufferedImage=ImageIO.read(newFileInputStream(file));    intheight=bufferedImage.getHei......
  • 短视频app源码,自定义快速滚动条FastScrollBar
    短视频app源码,自定义快速滚动条FastScrollBarAndroidMainfest.xml中  <activityandroid:name=".MainActivity"      android:theme="@style/FastScrollTheme">      <intent-filter>        <actionandroid:name="androi......
  • 贷款额度生成器,支持信用卡APP版,虚拟截图E4a开发,仅提供源码
    闲着无聊用易安卓开发了一个额度生成器,原理非常简单,就网上找了一个模版,加了几个编辑框,用PS消除了原有的信息内容,在上面加了一些标签,实现用户输入确定按钮后改变图片上的标签内容,下面是框架图:框架界面图:  生成框架图:  代码:【e4a】:==================================......
  • 源码级JVS低代码功能新增:动态配置、逻辑多级循环嵌套等等
    低代码更新功能新增:1.下拉组件选项新增动态配置;选项的内容可以根据特定的条件或数据源进行动态变化的功能,通过动态配置,用户可以灵活地设置下拉组件的选项内容,例如从数据库或其他数据源中获取选项数据,或者根据用户的操作动态改变选项。2.新增应用操作日志详情;操作日志是用来记录轻......
  • 抖音直播间采集截流软件,截流匿名WSS接口协议,易语言提取源码分享
    接口什么都是对接易语言的,易语言源码,然后最主要它不调用本地浏览器,所以说你有技术基础的话可以实现多线程采集的效果,我这个仅仅只是源码,多余功能就没有了,当然支持匿名奥。框架设计图:采集效果图:易语言源码:【核心代码】===================================================.版本2.......
  • 抖音直播间抓取用户数据的软件,ID安全码评论内容礼物,匿名易语言源码WSS
    这个也是我用易语言开发的,调用的WSS接口,用的是浏览器协议,好处是非常稳定,不会掉包,目前只提供源码,下面会分享出来。采集效果图:  易语言源码:===============================================================.版本2.支持库spec.支持库EThread.支持库e2ee.程序集窗口程序集_启......
  • 抖音直播间弹幕采集软件,可提取UID抖音号安全码礼物评论,易语言源码分享
    用精易浏览器的接口开发的,易语言源码,但是支持匿名数据采集,比较稳定,源码下面会分享,包括接口,需要具备一定的技术才能整合哈。下面是采集效果图:【我只是把功能做出来了,但是界面比较丑】下面是核心代码易语言【程序集】:================================================.版本2.支持库......
  • 抖音直播间抓取用户数据的软件,ID安全码评论内容礼物,匿名易语言源码WSS
    这个也是我用易语言开发的,调用的WSS接口,用的是浏览器协议,好处是非常稳定,不会掉包,目前只提供源码,下面会分享出来。采集效果图:  易语言源码:===============================================================.版本2.支持库spec.支持库EThread.支持库e2ee.程序集窗......
  • 抖音直播间匿名采集软件,带接口wss,易语言源码分享
    软件是易语言开发的,然后不用调用浏览器,直接截取wss数据,客户采集匿名的数据,源码我这边会公开,核心的部分。采集出来的效果:易语言核心代码:=================================================.版本2.支持库EThread.支持库spec.程序集窗口程序集_窗口1,,,744894369.子程序_窗......
  • 抖音直播间匿名采集软件,带接口wss,易语言源码分享
    软件是易语言开发的,然后不用调用浏览器,直接截取wss数据,客户采集匿名的数据,源码我这边会公开,核心的部分。框架图: 采集出来的效果 易语言核心代码:=================================================.版本2.支持库EThread.支持库spec .程序集窗口程序集_窗口1,......