0

我是 python 编程的新手。在 python 代码中调用 Vigra.learning.RandomForest.Writehdf5 函数时,会出现如下错误:

self.RF.writeHDF5(fileName, pathInFile, overwriteFlag)
Boost.Python.ArgumentError: Python argument types in
RandomForest.writeHDF5(RandomForest, str, str, bool)
did not match C++ signature:
writeHDF5(class vigra::RandomForest<unsigned int,struct vigra::ClassificationTag>,          class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >   filename, class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > pathInFile='')

我已经安装了 python 扩展包 vigranumpy 以及 boost python,但我还没有安装 vigra (c++ image processing lib)。我无法追踪错误的原因。

提前致谢

4

1 回答 1

0

Boost.Python 错误表明调用者正在尝试使用 C++ 签名,RandomForest.writeHDF5(str, str, bool)但导出的 C++ 函数需要RandomForest.writeHDF5(str, str). 我不确定overwriteFlag它打算做什么,但正在改变:

self.RF.writeHDF5(fileName, pathInFile, overwriteFlag)

self.RF.writeHDF5(fileName, pathInFile)

应该解决Boost.Python.ArgumentError异常。

于 2013-04-16T18:36:42.770 回答