编译
使用ubuntu1604进行编译
从github下载源代码 https://github.com/szcom/rnnlib
里面有三个submodule需要更新一下,下载可能会慢一些.
按照说明里的编译,只需要以下两个命令即可\
sudo apt-get install libnetcdf-dev
sl@ubuntu:~/rnnlib/rnnlib$ sudo apt-get install gfortran
$ cmake -DCMAKE_BUILD_TYPE=Release .
$ cmake --build .
编译过程中遇到两个错误
第一个就是编译openblas的时候错了,报的是识别不到cpu的架构,然后到openblas中去查一下,有一个TargetList.txt 添加了下TARGET=NEHALEM,这个是cpu的结构,需要根据cpu的架构确定
IF(NOT openblas_LIB)
execute_process ( COMMAND git submodule update --init openblas )
execute_process ( COMMAND make NO_LAPACKE=1 NO_SHARED=1 TARGET=NEHALEM
WORKING_DIRECTORY openblas )
execute_process ( COMMAND make install NO_SHARED=1 NO_LAPACKE=1 TARGET=NEHALEM PREFIX=${CMAKE_SOURCE_DIR}/install
WORKING_DIRECTORY openblas )
FIND_LIBRARY(openblas_LIB NAMES libopenblas.a openblas PATHS install/lib NO_DEFAULT_PATH)
ENDIF()
第二个错误是boost编译,std::isnan,isnan函数未定义,前面加一个std::isnan就可以了
然后在目录下就生成了rnnagg rnnlib rnnsynth rnnval等可执行文件