Machine learning 安装后无法运行Apache Singa

Machine learning 安装后无法运行Apache Singa,machine-learning,neural-network,Machine Learning,Neural Network,成功地从中执行并安装,但未能在下面运行它 (singa) $ pip list | grep singa singa (1.0.0) (singa) $ python > import singa > ImportError: No module named '_singa_wrap' (singa) $ find -name "*singa_wrap*" singa_wrap.py singa_wrap.pyc _singa_wrap.so 似乎有点可疑。有什么建议吗 @编辑

成功地从中执行并安装,但未能在下面运行它

(singa) $ pip list | grep singa
singa (1.0.0)

(singa) $ python
> import singa
> ImportError: No module named '_singa_wrap'

(singa) $ find -name "*singa_wrap*"
singa_wrap.py
singa_wrap.pyc
_singa_wrap.so
似乎有点可疑。有什么建议吗

@编辑

验证已在下面全局安装了
protobuf 2.6.1

(singa) $ python -c "from singa import _singa_wrap"
undefined symbol: _ZNK6google8protobuf7Message11GetTypeNameEv

$ ldd _singa_wrap.so
libprotobuf.so.9 => /usr/lib/x86_64-linux-gnu/libprotobuf.so.9

$ dpkg -S libprotobuf.so.9
libprotobuf9v5

$ apt-cache policy libprotobuf9v5
Installed: 2.6.1-1.3
@解决方案

Singa
在下面的
ubuntu16.04
本地安装成功后,现在开始跳舞

$ sudo apt-get install python-pip # gcc-5 required thus installed
$ sudo apt-get install gcc-4.8
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5   60 --slave /usr/bin/g++ g++ /usr/bin/g++-5
$ sudo update-alternatives --config gcc # to choose gcc-4.8

其余的则按照下面的答案
@Wei
。再次感谢。

我认为您可以尝试第一个常见问题解答中的方法

此外,您可以检查_singa_wrap.so的依赖库(转到/Python2.7/site-packages/singa/,和
ldd _singa_wrap.so
。如果未找到任何库(例如cudnn或protobuf),请尝试安装或导出库路径

有一张你的票

完成后将立即更新您

谢谢


更新:

您的错误似乎与protobuf有关(可能是由您计算机上的protobuf的多个版本引起的)。以下是解决方案

  • 下载protobuf(github上的protobuf-2.6.1.tar.gz)并解压缩tar文件
  • 将protobuf安装到/home//local/by

    ./configure --prefix=/home/<yourname>/local
    make && make install
    echo "export LD_LIBRARY_PATH=/home/<yourname>/local/lib:$LD_LIBRARY_PATH" >> ~/.bashrc
    source ~/.bashrc
    
    /configure--prefix=/home//local
    制作和制作安装(&M)
    echo“export LD\u LIBRARY\u PATH=/home//local/lib:$LD\u LIBRARY\u PATH”>>~/.bashrc
    source~/.bashrc
    
  • pip卸载信号
  • pip安装

  • 谢谢,你能看看OP上的更新吗?即使在本地重建和链接,也会出现与以前相同的错误。错误仍然是:未定义的符号:''u ZNK6google8protobuf7Message11GetTypeNameEv'?你能发布ldd的结果吗?你使用的是什么版本的GCC?我们已经更新了将protobuf编译成它的whl文件。因此,你不需要需要自己安装protobuf和openblas。请尝试新的whl文件。使用Ubuntu 16.04上的
    protobuf
    版本在
    epoch 0
    中转储内核,而以前使用手动本地
    protobuf
    构建的安装效果很好。