今天主要介绍下caffe+python3.5的配置,caffe默认的python2.7,而且兼容性很好。但是前段时间装了tensorflow是支持python3的,所以想把caffe的配置也换成python3。强迫症患者.....
打开Makefile.config
去掉下面的注释:
PYTHON_LIBRARIES := boost_python3 python3.5m
PYTHON_INCLUDE := /usr/include/python3.5m \
/usr/lib/python3.5/dist-packages/numpy/core/include
然后重新编译。
1、 如果编译过程中遇到cannot find -lboost_python3
查看/usr/lib/x86_64-linux-gnu下只有:libboost_python-py35.so
问题解决办法,将boost_python3改成boost_python-py35
PYTHON_LIBRARIES := boost_python-py35 python3.5m
2、编译成功后,如果在import caffe时遇到下面的错误:
>>> import caffe
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/quantum6/gh-install/caffe/python/caffe/__init__.py", line 1, in <module>
from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver, NCCL, Timer
File "/home/quantum6/gh-install/caffe/python/caffe/pycaffe.py", line 15, in <module>
import caffe.io
File "/home/quantum6/gh-install/caffe/python/caffe/io.py", line 2, in <module>
import skimage.io
File "/usr/local/lib/python3.5/site-packages/skimage/__init__.py", line 177, in <module>
from .data import data_dir
File "/usr/local/lib/python3.5/site-packages/skimage/data/__init__.py", line 15, in <module>
from ..io import imread, use_plugin
File "/usr/local/lib/python3.5/site-packages/skimage/io/__init__.py", line 15, in <module>
reset_plugins()
File "/usr/local/lib/python3.5/site-packages/skimage/io/manage_plugins.py", line 95, in reset_plugins
_load_preferred_plugins()
File "/usr/local/lib/python3.5/site-packages/skimage/io/manage_plugins.py", line 75, in _load_preferred_plugins
_set_plugin(p_type, preferred_plugins['all'])
File "/usr/local/lib/python3.5/site-packages/skimage/io/manage_plugins.py", line 87, in _set_plugin
use_plugin(plugin, kind=plugin_type)
File "/usr/local/lib/python3.5/site-packages/skimage/io/manage_plugins.py", line 258, in use_plugin
_load(name)
File "/usr/local/lib/python3.5/site-packages/skimage/io/manage_plugins.py", line 302, in _load
fromlist=[modname])
File "/usr/local/lib/python3.5/site-packages/skimage/io/_plugins/matplotlib_plugin.py", line 4, in <module>
from mpl_toolkits.axes_grid1 import make_axes_locatable
File "/usr/local/lib/python3.5/site-packages/mpl_toolkits/axes_grid1/__init__.py", line 1, in <module>
from . import axes_size as Size
File "/usr/local/lib/python3.5/site-packages/mpl_toolkits/axes_grid1/axes_size.py", line 15, in <module>
from matplotlib.axes import Axes
File "/usr/local/lib/python3.5/site-packages/matplotlib/axes/__init__.py", line 1, in <module>
from ._subplots import *
File "/usr/local/lib/python3.5/site-packages/matplotlib/axes/_subplots.py", line 6, in <module>
from matplotlib.axes._axes import Axes
File "/usr/local/lib/python3.5/site-packages/matplotlib/axes/_axes.py", line 20, in <module>
import matplotlib.dates as _ # <-registers a date unit converter
File "/usr/local/lib/python3.5/site-packages/matplotlib/dates.py", line 144, in <module>
from dateutil.rrule import (rrule, MO, TU, WE, TH, FR, SA, SU, YEARLY,
File "/usr/local/lib/python3.5/site-packages/dateutil/rrule.py", line 55
raise ValueError, "Can't create weekday with n == 0"
^
SyntaxError: invalid syntax
解决办法:
pip install matplotlib --upgrade
参考链接:https://blog.csdn.net/quantum7/article/details/83475530
本文详细介绍如何将Caffe从Python2.7升级到Python3.5,包括修改Makefile.config,解决编译错误及依赖冲突,如boost_python版本问题和matplotlib升级,确保Caffe能在Python3环境下顺利运行。
3177

被折叠的 条评论
为什么被折叠?



