11、Caffe -CUDA

本文深入探讨GPU在深度学习中的优势,包括CUDA标准库的利用、NVIDIA GPU的种类及其在深度学习领域的应用。同时,文章详细介绍了如何在GPU环境下配置和使用Caffe框架,以及如何通过调整参数来优化深度学习模型的内存需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、GPU下使用Caffe

  • 源码中.cu后缀结尾的文件都是GPU下运行的文件代码。
  • 依赖库:cuDNN (CUDA下的DNN库)
  • 安装Caffe前先安装好CUDA驱动和cnDNN库。

下载地址:https://developer.nvidia.com/cuda-80-ga2-download-archive

将Cuda放到ubuntu主界面

终端下CUDA安装:

$   sudo sh cuda_8.0.61_375.26_linux.run

#等一段时间

#更多0%时不断enter到100%

#选择如下,之后等待:

#补丁安装

$ sudo sh cuda_8.0.61.2_linux.run

#如上操作

#更新完成后,仍缺少一些依赖库

#安装缺少的库

$ sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev

#后两个依赖库没安装上

 

二、GPU下做深度学习的硬件知识

  1. NVIDIA的优势:

          a、有CUDA这一标准库。

        b、N卡的GPU计算和GPGPU社区很大。

        c、NVIDIA公司押注深度学习

   2. 是否需要多个GPU?

        在多个GPU上,神经网络难以进行有效的并行化。

    3.为什么GPU比CPU更适合做深度学习?

 

        如上图:GPU是多窗口同步滑动。

     4. NVIDIA的GPU的类型:

        a、面向3D游戏应用的GeForce系列:GTX1080、Titan X和GTX980.

        b、面向图形工作站应用的Quadro系列,主要针对CAD、3DMaxs、Maya.

        c、专业GPU加速计算的Tesla系列; Kepler系列:K40/K80;  Maxwell 系列:M4/M40/M60; Pascal:P100;

三、卷积神经网络的基本内存需求

      1、激活和误差

           占用主要内存,但确定某状态的激活和误差的尺寸大小很难,主要内存需求来自输入数据大小。

      2、输入维度 

           维度:224*224*3,即224*224像素的3色通道图像。 ImageNet上至少需要12GB。

           维度:112*112*3,,内存:4-6 GB

           视频数据:25*75*75*3,12GB达不到效果。

      3、训练样本规模

            只取ImageNet的10%样本训练,模型拟合速度快,图像越少内存越少。

      4、标签数量

            a、2类模型相对于1000类,内存消耗更少。但是,区分越少,越容易过拟合。

            b、训练数据量不够大时,多GPU训练出的模型容易过拟合。

四、减少内存占用技术

      1、更大的stride

       卷积核使用更大的stride,达到减少输出数据目的。

      2、使用1*1卷积核

           96个1*1卷积核可使得64*64*256的输入数据降为64*64*96。

      3、池化

            2*2的池化层将减少4层数据量,从而大大减少后续层内存占用。

       4、减少mini-batch大小

         size为64个样本的mini-batch比128个样本的batch减少一半的内存消耗。缺点是时间代价大,低至32个样本作为最后策略。

       5、改变数据类型

         将数据类型由32位换为16位,可以减半内存不降低性能。

首先,在 Ubuntu 20 上安装 Caffe-CUDA 需要满足一些先决条件。请确保你已经安装了 CUDA 和 cuDNN,并且已经正确配置了它们。然后,按照以下步骤进行安装: 1. 安装依赖项: ```shell sudo apt-get update sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler libgflags-dev libgoogle-glog-dev liblmdb-dev ``` 2. 克隆 Caffe 仓库: ```shell git clone https://github.com/BVLC/caffe.git ``` 3. 进入 Caffe 目录: ```shell cd caffe ``` 4. 编辑 Makefile.config 文件: ```shell cp Makefile.config.example Makefile.config nano Makefile.config ``` 确保按照你的配置修改以下行: - `USE_CUDNN := 1` (如果已安装 cuDNN) - `CUDA_DIR := /usr/local/cuda` (CUDA 的安装路径) - `INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial` (根据你的系统配置修改) - `LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial` (根据你的系统配置修改) 5. 编译 Caffe: ```shell make all -j$(nproc) # 使用所有可用的 CPU 内核 make test -j$(nproc) make runtest -j$(nproc) ``` 6. 安装 Caffe: ```shell sudo make install ``` 7. 配置环境变量: ```shell echo 'export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH' >> ~/.bashrc source ~/.bashrc ``` 现在,你应该已经成功在 Ubuntu 20 上安装了 Caffe-CUDA。你可以尝试运行一些示例代码来验证安装是否成功。记得替换 `/path/to/caffe` 为你的 Caffe 目录路径。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值