- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 Cython 中使用 mlpack 时遇到了“undefined symbol”的问题。这是我的测试用例:
cdef extern from "<mlpack/core.hpp>" namespace "arma":
ctypedef unsigned uword
cdef cppclass vec:
vec()
vec(uword)
cdef cppclass mat:
mat()
mat(uword, uword)
void matprint "print" ()
double& operator() (const uword, const uword)
cdef extern from "<mlpack/methods/pca/pca.hpp>" namespace "mlpack::pca":
cdef cppclass ExactSVDPolicy:
ExactSVDPolicy()
cdef cppclass PCA[ExactSVDPolicy]:
PCA()
void Apply(const mat&, mat&, vec&, mat&)
cdef mat m = mat(4, 2)
(<double*>&m(0, 0))[0] = 1.2
(<double*>&m(1, 0))[0] = 1.0
(<double*>&m(2, 0))[0] = 0.8
(<double*>&m(3, 0))[0] = 0.6
(<double*>&m(0, 1))[0] = 0.6
(<double*>&m(1, 1))[0] = 0.8
(<double*>&m(2, 1))[0] = 1.0
(<double*>&m(3, 1))[0] = 1.2
cdef vec eig = vec(2)
cdef mat coeff = mat(4, 2)
cdef PCA[ExactSVDPolicy] pca
m.matprint()
pca.Apply(m, m, eig, coeff)
m.matprint()
这是安装文件:
from distutils.core import setup
from Cython.Build import cythonize
from distutils.extension import Extension
setup(ext_modules = cythonize([Extension("pca", ["pca.pyx"], language='c++')]))
编译没问题,但是当我导入模块时,python 提示说:
undefined symbol: _ZN6mlpack5Timer5StartERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
我查找了符号,它在 libmlpack.so 中定义。我把它放在/usr/local/lib 中,它包含在 LD_LIBRARY_PATH 中,但似乎 Python 在运行时没有找到该符号。有没有人可以帮忙?谢谢。
最佳答案
扩展必须链接到它正在使用的库。
setup(ext_modules=cythonize([Extension(
"pca", ["pca.pyx"], language='c++'),
libraries='mlpack',
]))
可以通过ldd <.so>
来检查所有符号是否都可以找到,库链接是否正确。 .
参见 Compiling and Linking Cython 文档。
关于python - 使用 mlpack 时 Cython 模块中的 undefined symbol ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49777638/
我正在研究 mlpack 库(C++ 机器学习库)。我在这里遵循了 keon 的步骤:building mlpack ,但是当我到达构建 mlpack 的最后一步时,我在 cmd 中遇到了以下错误:
我在这个链接中找到了这个机器学习库: http://www.mlpack.org/doxygen.php?doc=build.html它指导在 Linux 上构建。 谁能告诉我如何在窗口上构建它! 最
我想使用 mlpack 中的 NeighborSearch 类对一些表示文档的 vector 执行 KNN 分类。 我想使用余弦距离,但我遇到了麻烦。我认为这样做的方法是使用内积度量“IPMetric
目前,我尝试从 mlpack(一个可扩展的机器学习库)执行 k-means 聚类。 但是当我在命令行执行 bin/kmeans 时,我总是收到错误。 error: arma::memory::acqu
我在 Ubuntu 上的 VSC 中使用 cmake 来实现简单的数据集群算法。为此,我想使用已经存在的 Mlpack 库。如果我尝试运行我的代码,我会收到这样的错误 main.cpp:(.text.
我想做一个简单的 dnn 示例来了解 mlpack。简单的例子是用 MNist Digits 训练一个 dnn——经典的ml- Hello World 案例:-) 我设法使用 opencv-filte
我尝试在cygwin中安装mlpack并且我已经安装了armadillo,但是我遇到了以下问题: 运行 cmake ../后我运行 make 命令,过程如下: $ make Scanning depe
我正在运行 Ubuntu 16.04,我不得不承认我的 Linux 技能很弱,这可能是我在这里苦苦挣扎的原因。 我已成功运行以下命令: sudo apt-get install libmlpack-d
我在 Cython 中使用 mlpack 时遇到了“undefined symbol”的问题。这是我的测试用例: cdef extern from "" namespace "arma": c
我正在尝试将 MLPACK 与我在 Qt Creator 中的项目集成(使用 MinGW 作为编译器),但我不断收到与 LAPACK 和 Armadillo 相关的链接错误。我自己编译了 LAPACK
我是一名优秀的程序员,十分优秀!