我正在使用 https://github.com/BVLC/caffe/wiki/Ubuntu-14.04-VirtualBox-VM 作为灵感,在安装了 CUDA 的 Ubuntu 14.04 虚拟服务器上安装 Caffe(没有驱动程序)。我已经安装了所有必要的依赖项,并逐步按照所有说明进行操作,但是当我尝试测试安装时会出现以下错误。
关于步骤:"修改 python/classify.py 以添加 --print_results 选项"
我已通过 in classify.py 修改了代码,使其与官方咖啡发行版相同。不确定这是否是导致问题的步骤,但我想我会添加额外的信息以防万一。
我得到的错误如下:
vagrant@vagrant-ubuntu-trusty-64:~/caffe$ sudo python python/classify.py --print_results examples/images/cat.jpg foo
libdc1394 error: Failed to initialize libdc1394
Traceback (most recent call last):
File "python/classify.py", line 14, in <module>
import caffe
File "/home/vagrant/caffe/python/caffe/__init__.py", line 1, in <module>
from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver
File "/home/vagrant/caffe/python/caffe/pycaffe.py", line 15, in <module>
import caffe.io
File "/home/vagrant/caffe/python/caffe/io.py", line 2, in <module>
import skimage.io
File "/usr/local/lib/python2.7/dist-packages/skimage/io/__init__.py", line 15, in <module>
reset_plugins()
File "/usr/local/lib/python2.7/dist-packages/skimage/io/manage_plugins.py", line 89, in reset_plugins
_load_preferred_plugins()
File "/usr/local/lib/python2.7/dist-packages/skimage/io/manage_plugins.py", line 69, in _load_preferred_plugins
_set_plugin(p_type, preferred_plugins['all'])
File "/usr/local/lib/python2.7/dist-packages/skimage/io/manage_plugins.py", line 81, in _set_plugin
use_plugin(plugin, kind=plugin_type)
File "/usr/local/lib/python2.7/dist-packages/skimage/io/manage_plugins.py", line 251, in use_plugin
_load(name)
File "/usr/local/lib/python2.7/dist-packages/skimage/io/manage_plugins.py", line 295, in _load
fromlist=[modname])
File "/usr/local/lib/python2.7/dist-packages/skimage/io/_plugins/matplotlib_plugin.py", line 4, in <module>
import matplotlib.pyplot as plt
File "/usr/local/lib/python2.7/dist-packages/matplotlib/__init__.py", line 1131, in <module>
rcParams = rc_params()
File "/usr/local/lib/python2.7/dist-packages/matplotlib/__init__.py", line 975, in rc_params
return rc_params_from_file(fname, fail_on_error)
File "/usr/local/lib/python2.7/dist-packages/matplotlib/__init__.py", line 1100, in rc_params_from_file
config_from_file = _rc_params_in_file(fname, fail_on_error)
File "/usr/local/lib/python2.7/dist-packages/matplotlib/__init__.py", line 1018, in _rc_params_in_file
with _open_file_or_url(fname) as fd:
File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
return self.gen.next()
File "/usr/local/lib/python2.7/dist-packages/matplotlib/__init__.py", line 1000, in _open_file_or_url
encoding = locale.getdefaultlocale()[1]
File "/usr/lib/python2.7/locale.py", line 543, in getdefaultlocale
return _parse_localename(localename)
File "/usr/lib/python2.7/locale.py", line 475, in _parse_localename
raise ValueError, 'unknown locale: %s' % localename
ValueError: unknown locale: UTF-8
任何意见将不胜感激。谢谢。
检查您当前的 shell 环境,这些变量:LC_ALL
、LC_CTYPE
、LANG
、LANGUAGE
:
set | grep -a '^LC_ALL=.'; set | grep -a '^LC_CTYPE=.';
set | grep -a '^LANG=.'; set | grep -a '^LANGUAGE=.'
可能第一个打印的行将包含其中一个等于"UTF-8"的变量。这是错误的。
适当的区域设置应具有语言和可选的国家/地区和编码规范,例如"en"或"en_US"或"ru_RU"。UTF-8'。有一个特殊的区域设置"C"用作回退。
因此,您可以在/etc/default/locale
中永久重新定义您的区域设置(不要忘记重新加载您的设置,最简单的方法是注销/登录),或者只是为特定命令覆盖它:
> LC_ALL=C python python/classify.py --print_results examples/images/cat.jpg foo
关于 libdc1394:如果您不需要与 FireWire 交互,请检查 ctypes 错误:libdc1394 错误:无法初始化 libdc1394