问题标签 [openfst]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 您甚至如何提供(openFST 制作的)FST 输入?输出到哪里去?
在开始之前,请注意我使用的是 linux shell(通过using subprocess.call()
Python),并且我使用的是 openFST。
我一直在筛选有关 openFST 的文档和问题,但我似乎无法找到这个问题的答案:人们实际上如何为 openFST 定义、编译和组合的 FST 提供输入?输出到哪里去?我只是执行'fstproject'吗?如果是这样,我将如何给它一个字符串来转换,并在达到最终状态时打印各种转换?
如果这个问题看起来很明显,我深表歉意。到目前为止,我对 openFST 还不是很熟悉。
python - 在 python 中使用 FST 库
如何安装OpenFST?
我一直在这样做:
有没有其他方法来安装这个?
实际上我最终想要的是在 python 中使用 OpenFST,我一直在使用这个包装器:https ://github.com/vchahun/pyfst
安装后,安装OpenFST
时pyfst
,我遇到了以下问题。任何人都知道如何解决这个问题?:
但是有没有 OpenFST 的纯 python 端口?
python - 如何正确设置 fst 规则
我接触了转换器和 python,所以我使用默认的 FST 库。例如,我有一个列表['a','b','c']
。'b'
如果后面跟着.我需要更换'c'
。我制定了以下规则,但它仅在'b'
介于'a'
且'c'
仅在此数组长度的情况下才有效。
我知道['a','d','c']
我需要能够替换'b'
它'd'
在哪里。例如替换'b'
时跟随'l'
请帮助我,谢谢!
c++ - 安装 Open GRM thrax 时出错
我已经在 Ubuntu 中安装了 Open Fst 并且工作正常。现在我正在尝试安装 Open GRM thrax。我尝试安装 2 个不同版本的 thrax。
Thrax 版本 1.1.0:
下面是我得到的错误。
Thrax 版本 0.1.0:
下面是我得到的错误。
它使用不同的 thrax 版本引发不同的错误。我在这个论坛上阅读了一个解决方案。
http://www.openfst.org/twiki/bin/view/Forum/GrmThraxForum
它说 openfst 必须用./configure --enable-far=true
. 我卸载了 openfst 并./configure --enable-far=true
使用./configure --enable-far
. 错误仍然存在。
c++ - 加载共享库时出现 thraxcompiler 错误:libthrax.so.0
我已经成功安装了 openfst 和 thraxcompiler。thraxmakedep 成功创建 make 文件
创建make文件后,当我运行make时出现以下错误
但是该库存在于路径中:
我尝试了一些适用于 gcc 编译器的步骤,例如
使用,等export LD_LIBRARY_PATH=/usr/local/lib
标志。-Wl,-rpath
-Llib
c++ - CPU 利用率随时间下降
我有一个多线程进程。每个线程都受 CPU 限制(执行计算)并且还使用大量内存。根据资源监视器,该过程以 100% 的 cpu 利用率开始,但几个小时后,cpu 利用率开始缓慢下降。24 小时后,它达到 90-95% 并下降。
问题是 - 我应该寻找什么,以及我可以使用哪些最知名的方法来调试它?
附加信息:
我有足够的内存——其中大部分在任何给定时刻都没有使用。根据 perfmon - 内存不会增长(所以我认为它没有泄漏)。该代码是 .Net 和本机 c++ 的混合体,并带有一些来回编组的数据。我在几台不同的机器(具有 24 个逻辑核心的服务器)上看到了这一点。我在 perfmon 中看到的一件事 - 随着 CPU 利用率的降低,修改的页面列表字节指示器会随着时间的推移而增加。
编辑 1 使用的第三方库之一是 openfst。看起来这与该库的一些误用非常相关。具体来说,我注意到我有以下警告: warning LNK4087: CONSTANT keyword is obsolete; 使用数据
编辑 2
由于该问题已关闭且未重新打开,因此我将在问题正文中写下我的发现以及该问题是如何解决的(对不起),以供将来的用户使用。原来有一个 openfst.def 文件定义了所有 openfst FLAGS_* 符号,以供使用应用程序/dll 使用。我必须修复那些使用关键字“DATA”而不是“CONSTANT”(CONSTANT 已过时,因为它有风险 - 更多信息:https://msdn.microsoft.com/en-us/library/aa271769(v=vs. 60).aspx)。在那之后 - 没有观察到 CPU 利用率的下降。“修改的页面列表字节”指标不再上升。我怀疑它与 FLAGS 的默认值(特别是垃圾收集标志 - FLAGS_fst_default_cache_gc)有关,由于在 openfst.def 文件中误用了 CONSTANT 关键字,这些值是不确定的。
结论了解您的警告!尽可能多地消除它们!谢谢。
python - 如何使用 OpenFST python 扩展从 fst 模型中获取输入符号?
OpenFST 提供了一个python 扩展。是否可以使用该 API 从已编译的 FST 模型中读取输入符号(isyms)?
我找不到合适的属性或方法来做到这一点: