cuda-convnet 的运行环境设置

来源:互联网 发布:奥斯卡级核潜艇知乎 编辑:程序博客网 时间:2024/05/21 11:10

        这段时间学习deep learning,下载了cuda-convnet 学习CNN。想要运行这个代码,需要GPU的机器,同时需要安装cuda以及python等。从裸机到运行成功,花费了一些时间。因第一次安装,没有头绪,未将出错情况一一记下。这次先写下基本流程记以及问题的解决方法链接,具体细节等下次安装时,再逐步整理。

        硬件: 

        (1) cpu:  Intel(R) Core(TM) i7-4930K CPU @ 3.40GHz

        (2) gpu: NVIDIA GTX 770

        操作系统:

        centOS 6.4

       (ubunto 不知什么原因,未能安装成功)

       

        安装步骤:

        1.  安装显卡驱动

             方法详见:点击打开链接

        2.  安装cuda5.5

             方法详见:安装cuda方法1以及安装cuda方法2

             在编译cuda 下samples的过程中,可能会遇到 以下一些问题:

             ld: cannot find -lglut  / libX11

             解决方法参见官方说明文档:点击打开链接

        3.  python 安装

             centos 6.4 中自带python 2.6.6,不需要升级即可运行cuda-convent程序。(升级后安装其它相关组件,反而会出现问题)

        4. python-devel, numpy, python-magic, python-matplotlib,atlas-devel安装

            安装这些相关组件,走了不少弯路,大部分可以下命令搞定:

yum install ***

    进行安装,如果使用上述命令找不到安装包,再从网上手动下载。(跟着网上一些教程,一步一步地死磕,是要吃大亏的,特别是 atlas-devel, 完全可以上述命令搞定)

       5.  gcc, g++升级

             这步执行有没有必要,我没有验证过,我从4.4升级至4. 6方法:gcc升级方法

       6.  cuda-convnet 中环境设置

            (1)按说明修改build.sh

            (2)修改Makefile:

                      将:       

INCLUDES :=  -I$(PYTHON_INCLUDE_PATH) -I$(NUMPY_INCLUDE_PATH) -I./include -I./include/common -I./include/cudaconv2 -I./include/nvmatrix

                      改为:

INCLUDES :=  -I$(PYTHON_INCLUDE_PATH) -I$(NUMPY_INCLUDE_PATH) -I$(CUDA_SDK_PATH) -I./include -I./include/common -I./include/cudaconv2 -I./include/nvmatrix

           (3)修改common-gcc-cuda-5.5.mk

                      将其中g++4.6改为g++

       7. 修改magic的相关代码

           可能是旧版本的问题,py 文件中有些代码中存在magic.open(),需要改为magic.from_buffer().

     

           经过上述配置,运行 sh build.sh,如果在./bin/linux/release/路径下生成_ConvNet.so,即表明配置成功。

           如果是非root 用户,运行时还会出现:找不到libcudart.so的问题,需要设置当前用户下的LD_Library_path变量,设置方法如下:

           http://www.cnblogs.com/waterlin/archive/2011/07/14/2106056.html

           http://hi.baidu.com/aragon2/item/3e73e618e44e4042e75e0688

  

           以上方法为较粗略的步骤概括,还需要在以后进行更为详细的总结。

       

            

0 0
原创粉丝点击