【发布时间】:2017-12-05 19:15:41
【问题描述】:
我正在学习这里的教程:http://dynet.readthedocs.io/en/latest/python.html#windows-python-install 用于安装带有 GPU 和 Python 的 Dynet。
我可以进入运行 cmake 的步骤,一切似乎都很好。问题似乎在于构建 Python 项目。
我跑:
cmake .. -DEIGEN3_INCLUDE_DIR=$PWD/../../eigen -DPYTHON=`which python` -DBACKEND=cuda -DCUDA_TOOLKIT_ROOT_DIR="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0" -G"Visual Studio 14 2015 Win64"
产生
$ cmake .. -DEIGEN3_INCLUDE_DIR=$PWD/../../eigen -DPYTHON=`which python` -DBACKEND=cuda -DCUDA_TOOLKIT_ROOT_DIR="C:/P
rogram Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0" -G"Visual Studio 14 2015 Win64"
-- Selecting Windows SDK version to target Windows 10.0.16299.
-- The C compiler identification is MSVC 19.0.24210.0
-- The CXX compiler identification is MSVC 19.0.24210.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- BACKEND: cuda
-- Found CUDA: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0 (found version "9.0")
CUDA_LIBRARIES: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0/lib/x64/cudart_static.lib
-- Failed to find CUDNN in path: (Did you set CUDNN_ROOT properly?)
-- CUDNN not found, some dependent functionalities will be disabled
-- Eigen dir is C:/Users/pie_a/Documents/coding/nlp/adc2181_h4/dynet-base/eigen
-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE
-- Found Cython version 0.27.3
--- CUDA: CUBLAS: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0/lib/x64/cublas.lib;C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0/lib/x64/cublas_device.lib RT: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0/lib/x64/cudart_static.lib
CMAKE_INSTALL_PREFIX="C:/Program Files/dynet"
PROJECT_SOURCE_DIR="C:/Users/pie_a/Documents/coding/nlp/adc2181_h4/dynet-base/dynet"
PROJECT_BINARY_DIR="C:/Users/pie_a/Documents/coding/nlp/adc2181_h4/dynet-base/dynet/build"
LIBS="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0/lib/x64/cudart_static.lib"
EIGEN3_INCLUDE_DIR="C:/Users/pie_a/Documents/coding/nlp/adc2181_h4/dynet-base/eigen"
MKL_LINK_DIRS=""
WITH_CUDA_BACKEND="1"
CUDA_RT_FILES="cudart_static.lib"
CUDA_RT_DIRS="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0/lib/x64"
CUDA_CUBLAS_FILES="cublas.lib\;cublas_device.lib"
CUDA_CUBLAS_DIRS="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0/lib/x64"
MSVC="1"
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/pie_a/Documents/coding/nlp/adc2181_h4/dynet-base/dynet/build
一切似乎都很好。但是,当我尝试在 Visual Studio 上构建时,我在 pydynet 项目中遇到了 37 个错误,包括:
Severity Code Description Project File Line Suppression State
Error command 'C:\\Users\\pie_a\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\amd64\\cl.exe' failed with exit status 2 pydynet C:\Users\pie_a\Documents\coding\nlp\adc2181_h4\dynet-base\dynet\build\python\CUSTOMBUILD 1
我认为此时它还没有工作,并且继续下一步失败,因为运行以下命令会出错:
$ python setup.py build --skip-build install
running build
INFO:root:CMAKE_PATH='C:\\Users\\pie_a\\Anaconda3\\envs\\nlphw\\Scripts\\cmake.exe'
INFO:root:MAKE_PATH='C:\\MinGW\\msys\\1.0\\bin\\make.exe'
INFO:root:MAKE_FLAGS='-j 8'
INFO:root:EIGEN3_INCLUDE_DIR='C:\\Users\\pie_a\\Documents\\coding\\nlp\\adc2181_h4\\dynet-base\\dynet\\build\\py2.7-64bit\\eigen'
INFO:root:EIGEN3_DOWNLOAD_URL='https://bitbucket.org/eigen/eigen/get/699b6595fc47.zip'
INFO:root:CC_PATH='C:\\MinGW\\bin\\gcc.exe'
INFO:root:CXX_PATH='C:\\MinGW\\bin\\g++.exe'
INFO:root:SCRIPT_DIR='C:\\Users\\pie_a\\Documents\\coding\\nlp\\adc2181_h4\\dynet-base\\dynet'
INFO:root:BUILD_DIR='C:\\Users\\pie_a\\Documents\\coding\\nlp\\adc2181_h4\\dynet-base\\dynet\\build\\py2.7-64bit'
INFO:root:INSTALL_PREFIX='C:\\Users\\pie_a\\Anaconda3\\envs\\nlphw\\Lib\\site-packages\\..\\..\\..'
INFO:root:PYTHON='C:\\Users\\pie_a\\Anaconda3\\envs\\nlphw\\python.exe'
cmake version 3.10.0
CMake suite maintained and supported by Kitware (kitware.com/cmake).
g++.exe (GCC) 4.8.1
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
running build_py
INFO:root:Building Python files...
file dynet_viz.py (for module dynet_viz) not found
file dynet_config.py (for module dynet_config) not found
creating build
creating build\lib.win-amd64-2.7
copying dynet.py -> build\lib.win-amd64-2.7
file dynet_viz.py (for module dynet_viz) not found
file dynet_config.py (for module dynet_config) not found
running build_ext
INFO:root:Building Cython extensions...
INFO:root:INCLUDE_DIRS='C:\\Users\\pie_a\\Documents\\coding\\nlp\\adc2181_h4\\dynet-base\\dynet C:\\Users\\pie_a\\Documents\\coding\\nlp\\adc2181_h4\\dynet-base\\dynet\\build\\py2.7-64bit\\eigen'
INFO:root:LIBRARIES='dynet'
INFO:root:LIBRARY_DIRS='C:\\Users\\pie_a\\Documents\\coding\\nlp\\adc2181_h4\\dynet-base\\dynet/dynet/ . C:\\Users\\pie_a\\Documents\\coding\\nlp\\adc2181_h4\\dynet-base\\dynet\\build\\py2.7-64bit/dynet/'
INFO:root:COMPILER_ARGS='-std=c++11 -Wno-unused-function'
INFO:root:EXTRA_LINK_ARGS="-Wl,-rpath='C:\\\\Users\\\\pie_a\\\\Anaconda3\\\\envs\\\\nlphw\\\\Lib\\\\site-packages\\\\..\\\\..\\\\../lib/',--no-as-needed"
INFO:root:RUNTIME_LIB_DIRS='C:\\Users\\pie_a\\Documents\\coding\\nlp\\adc2181_h4\\dynet-base\\dynet/dynet/ C:\\Users\\pie_a\\Anaconda3\\envs\\nlphw\\Lib\\site-packages\\..\\..\\../lib/'
skipping 'C:\Users\pie_a\Documents\coding\nlp\adc2181_h4\dynet-base\dynet/python\_dynet.cpp' Cython extension (up-to-date)
building '_dynet' extension
creating build\temp.win-amd64-2.7
creating build\temp.win-amd64-2.7\Release
creating build\temp.win-amd64-2.7\Release\Users
creating build\temp.win-amd64-2.7\Release\Users\pie_a
creating build\temp.win-amd64-2.7\Release\Users\pie_a\Documents
creating build\temp.win-amd64-2.7\Release\Users\pie_a\Documents\coding
creating build\temp.win-amd64-2.7\Release\Users\pie_a\Documents\coding\nlp
creating build\temp.win-amd64-2.7\Release\Users\pie_a\Documents\coding\nlp\adc2181_h4
creating build\temp.win-amd64-2.7\Release\Users\pie_a\Documents\coding\nlp\adc2181_h4\dynet-base
creating build\temp.win-amd64-2.7\Release\Users\pie_a\Documents\coding\nlp\adc2181_h4\dynet-base\dynet
creating build\temp.win-amd64-2.7\Release\Users\pie_a\Documents\coding\nlp\adc2181_h4\dynet-base\dynet\python
C:\Users\pie_a\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -IC:\Users\pie_a\Documents\coding\nlp\adc2181_h4\dynet-base\dynet -IC:\Users\pie_a\Documents\coding\nlp\adc2181_h4\dynet-base\dynet\build\py2.7-64bit\eigen -IC:\Users\pie_a\Anaconda3\envs\nlphw\include -IC:\Users\pie_a\Anaconda3\envs\nlphw\PC /TpC:\Users\pie_a\Documents\coding\nlp\adc2181_h4\dynet-base\dynet/python\_dynet.cpp /Fobuild\temp.win-amd64-2.7\Release\Users\pie_a\Documents\coding\nlp\adc2181_h4\dynet-base\dynet/python\_dynet.obj -std=c++11 -Wno-unused-function
cl : Command line error D8021 : invalid numeric argument '/Wno-unused-function'
error: command 'C:\\Users\\pie_a\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\amd64\\cl.exe' failed with exit status 2
我很乐意提供更多信息!问题的几个可能来源:我用 pip 安装了 Boost。我看到一条注释说 c++ 编译器需要与您安装 Boost 的编译器的版本相同,但是 Visual Studio 上的一条消息让我在第一次构建时安装了不同的 c++ 驱动程序。
另外,这个变量的值是 Windowese 而不是 Unix 格式,这是个问题吗?我将其设置为系统环境变量。
$ echo $VS90COMNTOOLS
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\
【问题讨论】:
标签: python windows bash boost deep-learning