cuda-convnet windows8下编译

编译环境:

windows8.1

Anaconda python2.7

Visual studio 2012

CUDA6.0

Pthread for windows

Intel Math Kernel Library

 

cuda-convnet 原始文件下载地址:

https://github.com/dnouri/cuda-convnet/

其中用到的一些库:

PThread 下载链接:

ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip

Intel® Math Kernel Library 下载链接:(下载windows版本)

https://software.intel.com/en-us/intel-math-kernel-library-evaluation-options

cuda-convnet 工程文件下载链接:

http://code.google.com/p/cuda-convnet/downloads/detail?name=cuda-convnet-vs-proj.zip

其他一些有用的工具:(下载x64的版本,调试的时候可能用到)

http://www.dependencywalker.com/

因为cuda-convnet需要python27,所以必须下载python27的库安装上. 我用的是Anaconda自带的python库.

第一步:

把下载下来的cuda工程文件解压至trunk目录下,然后用记事本打开pyconvnet.vcxproj文件

然后把版本号修改为正确的版本号,我的是把cuda4.0  修改为cuda6.0

第二步:

编译时会遇到以下问题,那是头文件没包含对的缘故,不用担心

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\BuildCustomizations\CUDA 6.0.targets(597,9): error MSB3721: The command ""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.0\bin\nvcc.exe" -gencode=arch=compute_10,code=\"sm_10,compute_10\" -gencode=arch=compute_20,code=\"sm_20,compute_20\" --use-local-env --cl-version 2012 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin"  -I./ -I../../../common/inc -I../../../../shared/inc -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.0\include" -I./ -I../../common/inc -I../../../shared/inc -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.0\include"  -G   --keep-dir Debug -maxrregcount=0  --machine 32 --compile -cudart static  -g   -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /Zi /RTC1 /MTd  " -o Win32/Debug/convnet.cu.obj "E:\synchronize folder\Koder Quelle\deep learning\cuda-convnet\trunk\src\convnet.cu"" exited with code 2.

针对这些错误只要设置好相应的依赖库就可以了.

第三步:

最后编译生成的是dll,后缀名为pyd, 这样方便python调用.

第四步:

从下面的地址下载cifar-10图片数据

http://www.cs.toronto.edu/~kriz/cifar.html

第五步:

在VS环境中设置环境变量

第六步:

在命令行中输入如下命令:

python convnet.py --data-path=./storage2/tiny/cifar-10-batches-py-colmajor/ --save-path=./storage2/tmp --test-range=6 --train-range=1-5 --layer-def=./example-layers/layers-19pct.cfg --layer-params=./example-layers/layer-params-19pct.cfg --data-provider=cifar --test-freq=13 --epoch=200

训练的时候发现一个比较坑的问题就是这两个错误:

1.raise UnpickleError("Path ‘%s‘ does not exist." % filename)

util.UnpickleError: Path ‘D:/cuda-convnet/storage2/tiny/cifar-10-batches-py-colmajor/data_batch_6‘ does not exist.

2.self.data_mean = self.batch_meta[‘data_mean‘]

KeyError: ‘data_mean‘

原因是batches_meta文件格式不对,这个必须去下载对应的cifar-10的数据,而且带有合乎要求格式的文件,下面给上链接:

http://www.cs.toronto.edu/~kriz/cifar-10-py-colmajor.tar.gz

即使找到合适的数据,还可能出现以下的错误:

self.libmodel = __import__(lib_name)

ImportError: No module named convnet_

解决方案就是在convnet.py的46行把‘convnet_‘库改成对应的‘pyconvnet‘

解决了以上的问题以后差不多应该能够顺利的运行程序了.

编译时遇到的错误及解决方案:

fatal error C1083: Cannot open include file: ‘cblas.h‘: No such file or directory

解决方案:

属性页/C++/Preprocessor/Preprocessor definitions/加入USE_MKL;

neuron.cuh(104): error : identifier "PyObject" is undefined

解决方案:

属性页/C++/Preprocessor/Preprocessor definitions/加入NUMPY_INTERFACE;

编译的时候提示找不到pthread.h文件:

解决方案:

在trunk中加入下载好的pthread文件夹,并正确的包含头文件和库文件

编译的时候报error : identifier "pthread_mutex_t" is undefined错误:

解决方案:

在nvmatrix.cuh文件里加上<pthread.h>

LINK : fatal error LNK1104: cannot open file ‘cutil64D.lib‘

解决方案:

去掉cutil64D.lib

LINK : fatal error LNK1104: cannot open file ‘shrUtils64D.lib‘

解决方案:

去掉shrUtils64D.lib

cuda-convnet windows8下编译

时间: 2024-11-06 20:04:30

cuda-convnet windows8下编译的相关文章

[转]CUDA在Windows下的软件开发环境搭建

引自:http://www.makaidong.com/yaoyuanzhi/archive/2010/11/13/1876215.html 本文我们以visual studio 2005 为例演示cuda的安装以及软件开发环境搭建,以及cuda与mfc联调的实现. 1.cuda安装包 cuda是免费使用的,各种操作系统下的cuda安装包均可以在http://www.nvidia.cn/object/cuda_get_cn.html上免费下载.cuda提供3个安装包,分别是: driver, t

Win10 在 CUDA 10.1 下跑 TensorFlow 2.x

深度学习最热的两个框架是 pytorch 和 tensorflow,pytorch 最新版本是 1.3,tensorflow 最新版本为 2.0,在 win10 下 pytorch 1.3 要求的 cuda 最高版本是 10.1,见下图: 而 tensorflow 2.0 使用的 cuda 版本是 10.0,见下图: 这就造成了冲突,一般是装 cuda 10.1,然后再重新编译 tensorflow 2.0 源码跑在 cuda 10.1 下,编译 tensorflow 源码的步骤还是较麻烦的,也

JNI之——在cmd命令行下编译执行C/C++源文件

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46604269 一直用java来敲代码,java配置好jre路径之后.在cmd下编译执行.非常方便. 刚好要给一个舍友改下C程序,想到可不能够像java一样在环境变量里配置好C的编译路径呢? 于是上网搜了一下,得到例如以下结果: 一.假设装有VC,那就简单了,由于VC带有C的编译器,能够将此路径设置进环境变量. Windows系统下编译连接源码方法: cl -GX test.c -

CentOS6.8下编译安装GCC

关于 GCC 在 CentOS 下通过 yum 安装默认版本号,CentOS 5 是 4.1.2:CentOS 6 是 4.4.7:CentOS 7 是 4.8.3.很多时候在编译安装软件都需要高版本的 GCC,否则就会报错.那么如何升级 GCC 的版本呢? 首先要确认升级到的 GCC 版本号.目前 GCC 的最新版已经到了 5.2,而 CentOS 7 则依然使用其 4.8,所以基于兼容性考虑,我选择升级到 4.8.5.GCC 官网:https://gcc.gnu.org 下面开始一步一步来编

在Ubuntu下编译Assimp库

在Ubuntu下编译Assimp库 如何在Ubuntu下编译Assimp库?这是我以前编译成功后做的笔记,供参考. 1.去下面的网站去下载Assimp库: http://assimp.sourceforge.net/ 2.安装cmake,似乎Assimp库只能通过cmake和vs工程文件进行构建,普通的makfile是通过它来产生的.Ubuntu下使用sudo apt-get install cmake.然后通过cmake --version查看cmake的版本,我cmake版本是2.8.11.

在win7 下编译MySQL源码

MySQL MySQL是一款优秀的开源数据库,在阿里.网易等各个互联网公司中有着广泛的应用.尽管各种NoSQL大行其道,但是关系型数据库依然必不可少. 作为一个新手,在Win7下用源码安装MySql数据库并不容易.我自己都折腾了好几天.今天把安装过程记录下来,其一是为了方便自己以后学习,其二则是分享过程,让学习者能够从我这篇文章中受益. 1. 编译环境及源码下载 编译环境:Visual Studio 2010 (Win7 32位) 编译工具: bison-2.4.1-setup.exe 下载地址

CentOS 6.5下编译安装httpd+mysql+php+phpMyAdmin

CentOS 6.5下编译安装httpd+mysql+php+phpMyAdmin+cacti+nagios 一.安装环境 Linux系统:CentOS 6.5 Apache版本:http-2.4.12 MySQL版本:MySQL 5.6.24 PHP版本:PHP-5.6.8 基本的安装顺序为:先安装httpd,然后安装mysql,最后安装PHP. 软件包: [[email protected] httpdbao]# ll total 334908 -rwxrw-rw-. 1 root root

ubuntu下编译java程序

ubuntu下编译java程序 首先需要安装jdk,并配置好相应环境变量 下面以简单的HelloWorld为例 文件名为HelloWorld.java java代码: public class HelloWorld { public static void main(String args[]) { System.out.println("Hello World!"); } } 编译: javac HelloWorld.java 此时会在当前文件夹生成 HelloWorld.class

【大话QT之十五】ctkPluginFrameWork插件系统Windows下编译

使用ctkPluginFramework作为插件系统框架的确有着众多开发上的优势.最近收到一些站内信,大家都想使用ctkPluginFramework但是不知道如何编译,这篇教程就来讲一讲ctkPluginFramework插件系统在Windows下的编译过程. 准备条件: 1. 安装Git,我们通过它来下载CTK的源码. 2. 安装CMake,我们用它来生成vs下的sln解决方案文件. 相关站点: 1. CTK的官网:http://www.commontk.org/index.php/Main