新手试运行了一个 caffe 的 Python 代码,出现这个错误是怎么回事

Python012

新手试运行了一个 caffe 的 Python 代码,出现这个错误是怎么回事,第1张

一、问题

在成功编译caffe的源码之后,可以在Python环境中使用caffe。

在Ubuntu环境下,打开python解释程序,输入import caffe时:出现以下错误

>>>import caffe

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

ImportError: No module named caffe

二、解决思路

基本思路是把caffe中的python导入到解释器中

三、解决方法

第一种方法:设置环境变量

在终中输入:

export PYTHONPATH=~/caffe/python #caffe的路径下面的python

则该终端起作用,关掉终端后或重新打开一终端,则失效。

放到配置文件中,可以永久有效果,命令操作如下:

A.把环境变量路径放到 ~/.bashrc文件中

sudo echo export PYTHONPATH="~/caffe/python" >>~/.bashrc

B.使环境变量生效

source ~/.bashrc

第二种方法:通过代码来实现

在每个python代码中使用以下代码: (这个方法在写python代码时有用)

caffe_root = '~/caffe/python '

import sys

sys.path.insert(0, caffe_root + 'python')

import caffe

1、首先先生成两个python文件,在src\caffe\proto\extract_proto.bat 里生成caffe_pb2.py 这个之后有用。

2、然后打开已经给好的caffe\buildVS2013,打开里面已经有的工程文件,正常的情况下应该是有7个工程,选中pycaffee单独作为要编译的项目。

把pycaffe作为单启动。注意需要在release x64位下编译。

如果没有这个的话,就将这个文件夹里python文件夹中的项目加入即可。如果没有python项目,就自己建一个,将python文件夹里的cpp文件加入就可以了。

3、选择pycaffe的属性,将配置属性下的VC++目录中的包含目录和库目录填上你python所在的include和libs 再在C/C++的目录下的附加包含目录一项中添加以我的python为例。D:\python27\Lib;D:\python\include\ 以及D:\Python27\Lib\site-packages\numpy\core\include 如果你安装了CUDNN这里可以在预处理器那里把USE_CUDNN加上,同时在LINKER的输入目录下的附加依赖库中加入cudnn的lib文件。