手写字检测
(基于jetson TX2 ,Ubuntu16.04)
#-*- coding: UTF-8 -*-
import os
import sys
import numpy as np
import matplotlib.pyplot as plt
caffe_root ='/home/nvidia/caffe/'
# os.chdir(caffe_root) #os.chdir()用于改变当前工作目录到指定的路径
sys.path.insert(0,caffe_root+'python')
import caffe
MODEL_FILE='/home/nvidia/caffe/examples/mnist/lenet.prototxt'
PRETRAINED = '/home/nvidia/caffe/examples/mnist/lenet_iter_10000.caffemodel'
IMAGE_FILE='/home/nvidia/caffe/examples/images/0.bmp'
input_image = caffe.io.load_image(IMAGE_FILE, color=False)
net = caffe.Classifier(MODEL_FILE, PRETRAINED)
# 预测图片分类,没有crop时,oversample过采样为false
prediction = net.predict([input_image], oversample = False)
caffe.set_mode_gpu()
# 打印分类结果
print 'predicted class:', prediction[0].argmax()
python导入caffe模块的问题
出现如下问题: ImportError: No module named _caffe
from caffe import layers as L, params as P, to_proto
ImportError: No module named caffe
这是由于没有将caffe的python模块添加到python的引用目录中导致的,解决方法:
sudo vim ~/.bashrc
在文件最后写入如下内容:
export PYTHONPATH=~/caffe/python:$PYTHONPATH1
该问题解决,再运行,出现如下问题:
from ._caffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, \
ImportError: No module named _caffe
这是由于caffe的python模块没有编译的原因,解决方法,重新编译pycaffe
sudo make pycaffe
出现如下信息:
LD -o .build_release/lib/libcaffe.so.1.0.0
CXX/LD -o python/caffe/_caffe.so python/caffe/_caffe.cpp
touch python/caffe/proto/__init__.py
PROTOC (python) src/caffe/proto/caffe.proto
最后在CAFFE_ROOT/python/caffe/
中生成_caffe.so
才可以成功导入_caffe
模块。
import caffe失败 No module named caffe
在成功编译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 所在的根目录。
基本思路是把caffe中的python导入到解释器中
三、解决方法
放到配置文件中,可以永久有效果,命令操作如下:
A.把环境变量路径放到 ~/.bashrc文件中,打开文件
- sudo vim ~/.bashrc
在文件下方写入
- export PYTHONPATH=~/caffe/python:$PYTHONPATH
B.关闭文件,在终端写入下面语句,使环境变量生效
- source ~/.bashrc
具体步骤的图文展示
1、打开
2、写入
3、生效