cuda-convnet 的运行环境设置

2023-11-22 16:38

本文主要是介绍cuda-convnet 的运行环境设置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        这段时间学习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

  

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

       

            

这篇关于cuda-convnet 的运行环境设置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/411468

相关文章

Python设置Cookie永不超时的详细指南

《Python设置Cookie永不超时的详细指南》Cookie是一种存储在用户浏览器中的小型数据片段,用于记录用户的登录状态、偏好设置等信息,下面小编就来和大家详细讲讲Python如何设置Cookie... 目录一、Cookie的作用与重要性二、Cookie过期的原因三、实现Cookie永不超时的方法(一)

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

Qt 设置软件版本信息的实现

《Qt设置软件版本信息的实现》本文介绍了Qt项目中设置版本信息的三种常用方法,包括.pro文件和version.rc配置、CMakeLists.txt与version.h.in结合,具有一定的参考... 目录在运行程序期间设置版本信息可以参考VS在 QT 中设置软件版本信息的几种方法方法一:通过 .pro

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

PostgreSQL 默认隔离级别的设置

《PostgreSQL默认隔离级别的设置》PostgreSQL的默认事务隔离级别是读已提交,这是其事务处理系统的基础行为模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一 默认隔离级别概述1.1 默认设置1.2 各版本一致性二 读已提交的特性2.1 行为特征2.2

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

mtu设置多少网速最快? 路由器MTU设置最佳网速的技巧

《mtu设置多少网速最快?路由器MTU设置最佳网速的技巧》mtu设置多少网速最快?想要通过设置路由器mtu获得最佳网速,该怎么设置呢?下面我们就来看看路由器MTU设置最佳网速的技巧... 答:1500 MTU值指的是在网络传输中数据包的最大值,合理的设置MTU 值可以让网络更快!mtu设置可以优化不同的网

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

MySQL 设置AUTO_INCREMENT 无效的问题解决

《MySQL设置AUTO_INCREMENT无效的问题解决》本文主要介绍了MySQL设置AUTO_INCREMENT无效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录快速设置mysql的auto_increment参数一、修改 AUTO_INCREMENT 的值。