今天成功在windows下配置成功了英伟达的DIGITS,记录一下问题解决过程。
环境简介: Windows10_x64 CUDA 8.0 / CUDA 7.5 Python2.7 Microsoft-Caffe-master
Github DIGITS: https://github.com/NVIDIA/DIGITS/blob/master/docs/BuildDigitsWindows.md 点击打开链接
完全按照此步骤操作不会出现问题,尤其是 关于python package的版本问题,详见DIGITS-master目录下的requirements.txt:
Pillow>=2.3.0,<=3.1.2
numpy>=1.8.1,<=1.11.0
scipy>=0.13.3,<=0.17.0
protobuf>=2.5.0,<=2.6.1
six>=1.5.2,<=1.10.0
requests>=2.2.1,<=2.9.1
gevent>=1.0,<=1.1.0
gevent-websocket0.9.3
Flask0.10.1
Flask-WTF>=0.11,<=0.12
wtforms>=2.0,<=2.1
Flask-SocketIO2.6
setuptools>=3.3,<=20.7.0
lmdb0.87
h5py>=2.2.1,<=2.6.0
pydot>=1.0.28,<=1.0.29
psutil>=1.2.1,<=3.4.2
matplotlib>=1.3.1,<=1.5.1
scikit-fmm>=0.0.9
版本号一定确保和上述一致。
**
BUG 1 : 与google.protobuf 有关
**
我记得是在加载from google.protobuf import _symbol 指令时(大概就是这个指令吧),问题是由于我原来安装的时ptotobuf 2.5.0,版本有点低,然后我更新到2.6.1后,就没问题了。ptotobuf在windows下的python支持编译方法请自行google。
BUG 2 : 当我运行时
I:\DIGITS-master>python -m digits
___ ___ ___ ___ _____ ___
| \_ _/ __|_ _|_ _/ __|
| |) | | (_ || | | | \__ \
|___/___\___|___| |_| |___/ 5.1-dev
A valid Caffe installation was not found on your system.
Use the envvar CAFFE_ROOT to indicate a valid installation.
Traceback (most recent call last):
File "I:\Python27\lib\runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "I:\Python27\lib\runpy.py", line 72, in _run_code
exec code in run_globals
File "I:\DIGITS-master\digits\__main__.py", line 70, in <module>
main()
File "I:\DIGITS-master\digits\__main__.py", line 53, in main
import digits.config
File "digits\config\__init__.py", line 7, in <module>
from . import ( # noqa
File "digits\config\caffe.py", line 230, in <module>
executable, version, flavor = load_from_path()
File "digits\config\caffe.py", line 58, in load_from_path
version, flavor = get_version_and_flavor(executable)
File "digits\config\caffe.py", line 157, in get_version_and_flavor
version = parse_version(version_string)
File "digits\utils\__init__.py", line 160, in parse_version
return pkg_resources.SetuptoolsVersion(v)
File "I:\Python27\lib\site-packages\pkg_resources\_vendor\packaging\version.py", line 202, in __init__
raise InvalidVersion("Invalid version: '{0}'".format(version))
pkg_resources._vendor.packaging.version.InvalidVersion: Invalid version: 'CAFFE_VERSION'
然后,我看了下caffe.py这个文件。
caffe.py:
关键信息我都红色标记了。
from __future__ import absolute_import
import imp
import os
import platform
import re
import subprocess
import sys
from . import option_list
from digits import device_query
from digits.utils import parse_version
def load_from_envvar(envvar):
"""
Load information from an installation indicated by an environment variable
"""
value = os.environ[envvar].strip().strip("\"' ")
#此处需要修改路径,于CAFFE_HOME对应
if platform.system() == 'Windows':
#executable_dir = os.path.join(value, 'install', 'bin')
executable_dir = os.path.join(value)
#python_dir = os.path.join(value, 'install', 'python')
python_dir = os.path.join(value, 'pycaffe')
else: