Closed v-yunbin closed 1 year ago
看报错应该是C++11链接不上,编译的环境是什么?GCC和G++的版本是多少?
看报错应该是C++11链接不上,编译的环境是什么?GCC和G++的版本是多少?
linux环境Centos 7.9 ,g++和gcc都是8.2.0,
试试命令行加个
g++ -D _GLIBCXX_USE_CXX11_ABI=0
_GLIBCXX_USE_CXX11_ABI
要么都用0, 要么都用1
根据这篇文章https://www.cnblogs.com/lukybee/p/11846889.html, 试试增加个宏定义, cmake -DFASTASR_BUILD_PYTHON_MODULE=ON -D_GLIBCXX_USE_CXX11_ABI=1 .. 目前也就只能这样试试了
根据这篇文章https://www.cnblogs.com/lukybee/p/11846889.html, 试试增加个宏定义, cmake -DFASTASR_BUILD_PYTHON_MODULE=ON -D_GLIBCXX_USE_CXX11_ABI=1 .. 目前也就只能这样试试了
找到原因了 openblas我用gcc4.8.5编译的,我把gcc切换到4.8.5,make成功了。然而使用python程序解码的时候报错。。:
Audio time is 4.9968125s. len is 79949.
Segmentation fault (core dumped)
看一下在文件夹models/k2_rnnt2_cli/ 下面是否有模型权重文件wenet_params.bin,没有的话需要根据教程“k2_rnnt2预训练模型下载”章节转换一下,也可以从百度网盘下载转换好的模型 百度网盘: https://pan.baidu.com/s/1irtnZthexSjQlRF6F8jRPQ 提取码: 5it6
看一下在文件夹models/k2_rnnt2_cli/ 下面是否有模型权重文件wenet_params.bin,没有的话需要根据教程“k2_rnnt2预训练模型下载”章节转换一下,也可以从百度网盘下载转换好的模型 百度网盘: https://pan.baidu.com/s/1irtnZthexSjQlRF6F8jRPQ 提取码: 5it6
可以了不好意思,模型路径没放对,kaldi2后续会增加online解码吗,我看k2更新了online模型 luomingshuang/icefall_asr_wenetspeech_pruned_transducer_stateless5_streaming
可能不太会增加了,整个推理过程是纯手动实现的,从仿真到C++的实现,一个模型要花一个多月的时间,最近本职工作任务比较重,抽不出太多时间来弄了
可能不太会增加了,整个推理过程是纯手动实现的,从仿真到C++的实现,一个模型要花一个多月的时间,最近本职工作任务比较重,抽不出太多时间来弄了
行吧,我关了
[ 90%] Built target PyFastASR [ 92%] Building CXX object examples/CMakeFiles/paddlespeech_stream.dir/paddlespeech_stream.cpp.o [ 93%] Linking CXX executable paddlespeech_stream CMakeFiles/paddlespeech_stream.dir/paddlespeech_stream.cpp.o: In function
main': paddlespeech_stream.cpp:(.text+0x1a7): undefined reference tostd::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' paddlespeech_stream.cpp:(.text+0x1da): undefined reference to
std::cxx11::basic_string<char, std::char_traitsstd::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' paddlespeech_stream.cpp:(.text+0x2c1): undefined reference to
std::std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' paddlespeech_stream.cpp:(.text+0x2fd): undefined reference to
std::cxx11::basic_string<char, std::char_traitspaddlespeech::ModelImp::ModelImp(char const*, int)': ModelImp.cpp:(.text+0x96): undefined reference to
std::__cxx11::basic_string<char, std::char_traitsstd::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' ModelImp.cpp:(.text+0x11d): undefined reference to
std::__cxx11::basic_string<char, std::char_traitsstd::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' ModelImp.cpp:(.text+0x161): undefined reference to
std::cxx11::basic_string<char, std::char_traitsstd::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::c_str() const' ModelImp.cpp:(.text+0x358): undefined reference to
std::std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' ModelImp.cpp:(.text+0x376): undefined reference to
std::cxx11::basic_string<char, std::char_traitsstd::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' ModelImp.cpp:(.text+0x3df): undefined reference to
std::std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' follow ../lib/libfastasr.a(ModelImp.cpp.o): In function
kaldi2::ModelImp::ModelImp(char const, int)': ModelImp.cpp:(.text+0x6e): undefined reference to `std::__cxx11::basic_string<char, std::char_traitsstd::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)' ModelImp.cpp:(.text+0xc6): undefined reference to
std::cxx11::basic_string<char, std::char_traitsstd::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' ModelImp.cpp:(.text+0x113): undefined reference to
std::std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' ModelImp.cpp:(.text+0x177): undefined reference to
std::cxx11::basic_string<char, std::char_traitsstd::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::c_str() const' ModelImp.cpp:(.text+0x1ef): undefined reference to
std::std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' ModelImp.cpp:(.text+0x30f): undefined reference to
std::cxx11::basic_string<char, std::char_traitsstd::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' ModelImp.cpp:(.text+0x346): undefined reference to
std::std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' ../lib/libfastasr.a(ModelImp.cpp.o):ModelImp.cpp:(.text+0x391): more undefined references to
std::cxx11::basic_string<char, std::char_traitskaldi2::ModelImp::forward_chunk[abi:cxx11](float*, int, int)': ModelImp.cpp:(.text+0x8dd): undefined reference to
std::kaldi2::ModelImp::rescoring[abi:cxx11]()': ModelImp.cpp:(.text+0x950): undefined reference to
std::__cxx11::basic_string<char, std::char_traitsVocab::Vocab(char const*)': Vocab.cpp:(.text+0x52): undefined reference to
std::cxx11::basic_string<char, std::char_traitsstd::basic_ios<char, std::char_traits<char> >::operator bool() const' Vocab.cpp:(.text+0x84): undefined reference to
std::basic_istream<char, std::char_traitsstd::basic_ios<char, std::char_traits<char> >::operator bool() const' Vocab.cpp:(.text+0xc7): undefined reference to
std::cxx11::basic_string<char, std::char_traitsstd::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' ../lib/libfastasr.a(Vocab.cpp.o): In function
Vocab::vector2string[abi:cxx11](std::vector<int, std::allocatorstd::basic_ostream<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>, std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' Vocab.cpp:(.text+0x235): undefined reference to
std::cxx11::basic_stringstream<char, std::char_traitsstd::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_stringstream()' ../lib/libfastasr.a(Vocab.cpp.o): In function
void gnu_cxx::new_allocator<std::cxx11::basic_string<char, std::char_traitsstd::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' ../lib/libfastasr.a(Vocab.cpp.o): In function
void gnu_cxx::new_allocator<std::cxx11::basic_string<char, std::char_traitsstd::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' ../lib/libfastasr.a(Vocab.cpp.o): In function
void std::_Destroy<std::cxx11::basic_string<char, std::char_traitsvoid std::_Construct<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)': Vocab.cpp:(.text._ZSt10_ConstructINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJS5_EEvPT_DpOT0_[_ZSt10_ConstructINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJS5_EEvPT_DpOT0_]+0x38): undefined reference to
std::cxx11::basic_string<char, std::char_traitsstd::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::length() const' util.cpp:(.text+0x3a0): undefined reference to
std::cxx11::basic_string<char, std::char_traitsstd::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' util.cpp:(.text+0x40c): undefined reference to
std::cxx11::basic_string<char, std::char_traits(anonymous namespace)::AppendFormat(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, char const*, ...)': checks.cc:(.text+0xeb): undefined reference to
std::cxx11::basic_string<char, std::char_traitsstd::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned long)' ../third_party/webrtc/libwebrtcvad.a(checks.cc.o): In function
rtc::webrtc_checks_impl::ParseArg(va_list_tag (*) [1], rtc::webrtc_checks_impl::CheckArgType const**, std::cxx11::basic_string<char, std::char_traitsstd::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::append(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' checks.cc:(.text+0x5ec): undefined reference to
std::cxx11::basic_string<char, std::char_traitsstd::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()' checks.cc:(.text+0x713): undefined reference to
std::std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()' checks.cc:(.text+0x789): undefined reference to
std::cxx11::basic_string<char, std::char_traitsstd::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::c_str() const' checks.cc:(.text+0x7cb): undefined reference to
std::std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' checks.cc:(.text+0x7f2): undefined reference to
std::cxx11::basic_string<char, std::char_traitsstd::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' checks.cc:(.text+0x894): undefined reference to
std::__cxx11::basic_string<char, std::char_traitsstd::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()' collect2: error: ld returned 1 exit status make[2]: *** [examples/CMakeFiles/paddlespeech_stream.dir/build.make:99: examples/paddlespeech_stream] Error 1 make[1]: *** [CMakeFiles/Makefile2:238: examples/CMakeFiles/paddlespeech_stream.dir/all] Error 2