深度学习框架 订阅
在开始深度学习项目之前,选择一个合适的框架是非常重要的,因为选择一个合适的框架能起到事半功倍的作用。研究者们使用各种不同的框架来达到他们的研究目的,侧面印证出深度学习领域百花齐放。全世界最为流行的深度学习框架有PaddlePaddle、Tensorflow、Caffe、Theano、MXNet、Torch和PyTorch。 展开全文
在开始深度学习项目之前,选择一个合适的框架是非常重要的,因为选择一个合适的框架能起到事半功倍的作用。研究者们使用各种不同的框架来达到他们的研究目的,侧面印证出深度学习领域百花齐放。全世界最为流行的深度学习框架有PaddlePaddle、Tensorflow、Caffe、Theano、MXNet、Torch和PyTorch。
信息
特    点
开源
本    质
作    用
降低了深度学习研究的入门门槛
中文名
深度学习框架
基本释义
用于深度学习的框架
外文名
Deep learning framework
深度学习框架概述
在深度学习初始阶段,每个深度学习研究者都需要写大量的重复代码。为了提高工作效率,这些研究者就将这些代码写成了一个框架放到网上让所有研究者一起使用。接着,网上就出现了不同的框架。随着时间的推移,最为好用的几个框架被大量的人使用从而流行了起来。 [1]  全世界最为流行的深度学习框架有PaddlePaddle、Tensorflow、Caffe、Theano、MXNet、Torch和PyTorch。
收起全文
精华内容
参与话题
问答
  • 深度学习框架Tensorflow案例实战视频培训课程概况: Tensorflow是谷歌开源的深度学习(包括机器学习)框架,伴随着人工智能业的兴盛其大名早已响彻云霄。本课程从Tensorflow安装开始讲起,从基本计算结构到深度学习...
  • 深度学习框架

    2019-07-04 21:43:04
    深度学习框架

    深度学习框架

    展开全文
  • 亲自动手写一个深度学习框架

    千人学习 2018-10-30 15:24:47
    本课程带领大家亲自动手写一个更方便大家使用的深度学习框架,帮助大家理解常用技术的底层实现。具体安排如下: 1.板书完成数学推导,同时画图讲解; 2.基础:Python实现多层感知器; 3.进阶:C++实现深度学习...
  • 深度学习框架-PyTorch实战

    千人学习 2019-12-03 13:28:05
    深度学习框架-PyTorch实战课程旨在帮助同学们快速掌握PyTorch框架核心模块使用方法与项目应用实例,让同学们熟练使用PyTorch框架进行项目开发。课程内容全部以实战为导向,基于当下计算机视觉与自然语言处理中经典...
  • [深度学习]深度学习框架总结

    万次阅读 2017-04-16 11:53:11
    深度学习库比较 库名 主语言 从语言 速度 灵活性 文档 适合模型 平台 上手难易 开发者 模式 Tensorflo C++ cuda/python/Matlab/Ruby/R 中等 好 中等 CNN/RNN Linux,OSX 难 Google 分布式/声明...

    深度学习库比较

    库名 主语言 从语言 速度 灵活性 文档 适合模型 平台 上手难易 开发者 模式
    Tensorflo C++ cuda/python/Matlab/Ruby/R 中等 中等 CNN/RNN Linux,OSX Google 分布式/声明式
    Caffe C++ cuda/python/Matlab 一般 全面 CNN 所有系统 中等 贾杨清 声明式
    PyTorc python C/C++ 中等 中等 - 中等 FaceBook
    MXNet c++ cuda/R/julia 全面 CNN 所有系统 中等 李沐和陈天奇等 分布式/声明式/命令式
    Torch lua C/cuda 全面 CNN/RNN Linux,OSX 中等 Facebook 命令式
    Theano python c++/cuda 中等 中等 CNN/RNN Linux, OSX 蒙特利尔理工学院 命令式

    1.TensorFlow 的优点是:

    它有一个直观的结构 ,顾名思义它有 “张量流”,你可以轻松地可视每个图中的每一个部分。
    轻松地在 cpu / gpu 上进行分布式计算
    平台的灵活性 。可以随时随地运行模型,无论是在移动端、服务器还是 PC 上。

    1.1 TensorFlow 的限制

    尽管 TensorFlow 是强大的,它仍然是一个低水平库,例如,它可以被认为是机器级语言,但对于大多数功能,您需要自己去模块化和高级接口,如 keras
    它仍然在继续开发和维护,这是多么��啊!
    它取决于你的硬件规格,配置越高越好
    不是所有变成语言能使用它的 API 。
    TensorFlow 中仍然有很多库需要手动导入,比如 OpenCL 支持。
    上面提到的大多数是在 TensorFlow 开发人员的愿景,他们已经制定了一个路线图,计划库未来应该如何开发

    1.2 ensorFlow工作流程

    建立一个计算图, 任何的数学运算可以使用 TensorFlow 支撑。
    初始化变量, 编译预先定义的变量
    创建 session, 这是神奇的开始的地方 !
    在 session 中运行图, 编译图形被传递到 session ,它开始执行它。
    关闭 session, 结束这次使用。

    1.3 入门教程

    TensorFlow入门一-小石头的码疯窝
    TensorFlow之深入理解Neural Style
    TensorFlow之深入理解AlexNet-小石头的码疯窝
    TensoFlow之深入理解GoogLeNet-小石头的码疯窝
    TensorFlow之深入理解VGG\Residual Network
    TensorFlow之深入理解Fast Neural Style
    风格画之最后一弹MRF-CNN-小石头的码疯窝
    深度学习之Neural Image Caption

    2.Caffe

    Caffe57是纯粹的C++/CUDA架构,支持命令行、Python和MATLAB接口;可以在CPU和GPU173直接无缝切换:
    
    Caffe::set_mode(Caffe::GPU);

    2.1 Caffe的优势

    1.上手快:模型与相应优化都是以文本形式而非代码形式给出。
    2.Caffe给出了模型的定义、最优化设置以及预训练的权重,方便立即上手。
    3.速度快:能够运行最棒的模型与海量的数据。
    4.Caffe与cuDNN结合使用,测试AlexNet模型,在K40上处理每张图片只需要1.17ms.
    5.模块化:方便扩展到新的任务和设置上。
    6.可以使用Caffe提供的各层类型来定义自己的模型。
    7.开放性:公开的代码和参考模型用于再现。
    8.社区好:可以通过BSD-2参与开发与讨论。

    2.2 Caffe 架构

    此处输入图片的描述

    2.2.1 预处理图像的leveldb构建

    输入:一批图像和label23)
    输出:leveldb (4)
    指令里包含如下信息:
    conver_imageset (构建leveldb的可运行程序)
    train/ (此目录放处理的jpg或者其他格式的图像)
    label.txt (图像文件名及其label信息)
    输出的leveldb文件夹的名字
    CPU/GPU (指定是在cpu上还是在gpu上运行code)

    2.2.2 CNN网络配置文件

    Imagenet_solver.prototxt (包含全局参数的配置的文件)
    Imagenet.prototxt (包含训练网络的配置的文件)
    Imagenet_val.prototxt (包含测试网络的配置文件)

    2.3 教程

    Caffe教程系列之安装配置
    Caffe教程系列之LeNet训练
    Caffe教程系列之元素篇
    Caffe教程系列之Proto元素
    Caffe教程系列之LMDB

    3.pytorch框架

    pytorch,语法类似numpy,非常高效;基于pytorch开发深度学习算法,方便快速,适合cpu和gpu计算。pytorch支持动态构建神经网络结构,从而可以提升挽留过结构的重用性。
    
    这是一个基于Python的科学计算包,其旨在服务两类场合:
    1.替代numpy发挥GPU潜能
    2.一个提供了高度灵活性和效率的深度学习实验性平台

    3.1 PyTorch优势

    1.运行在 GPU 或 CPU 之上、基础的张量操作库,
    2.内置的神经网络库
    3.模型训练功能
    3.支持共享内存的多进程并发(multiprocessing )库。PyTorch开发团队表示:这对数据载入和 hogwild 训练十分有帮助。
    4.PyTorch 的首要优势是,它处于机器学习第一大语言 Python 的生态圈之中,使得开发者能接入广大的 Python 库和软件。因此,Python 开发者能够用他们熟悉的风格写代码,而不需要针对外部 C 语言或 C++ 库的 wrapper,使用它的专门语言。雷锋网(公众号:雷锋网)获知,现有的工具包可以与 PyTorch 一起运行,比如 NumPy、SciPy 和 Cython(为了速度把 Python 编译成 C 语言)。
    4.PyTorch 还为改进现有的神经网络,提供了更快速的方法——不需要从头重新构建整个网络

    3.2 PyTorch工具包

    1.torch :类似  NumPy 的张量库,强 GPU 支持 
    2.torch.autograd  :基于 tape 的自动区别库,支持 torch 之中的所有可区分张量运行。
    3.torch.nn :为最大化灵活性未涉及、与 autograd 深度整合的神经网络库
    4.torch.optim:与 torch.nn 一起使用的优化包,包含 SGD, RMSProp, LBFGS, Adam 等标准优化方式
    5.torch.multiprocessing: python 多进程并发,进程之间 torch Tensors 的内存共享。
    6.torch.utils:数据载入器。具有训练器和其他便利功能。 Trainer and other utility functions for convenience    
    7.torch.legacy(.nn/.optim) :处于向后兼容性考虑,从 Torch 移植来的 legacy 代码。

    3.3 教程

    PyTorch深度学习:60分钟入门(Translation)

    4 MXNet框架

    4.1 优缺点

    4.1.1 优点

    1.速度快省显存。在复现一个caffe 
    2.支持多语言
    3.分布式

    4.1.2 缺点

    1. API文档差。这个问题很多人也提过了,很多时候要看源码才能确定一个函数具体是做什么的,看API描述有时候并不靠谱,因为文档有点过时。
    2. 缺乏完善的自定义教程。比如写data iter的时候,train和validation的data shape必须一致,这是我当时找了半天的一个bug。
    3.代码小bug有点多。mxnet的大神们开发速度确实是快,但是有的layer真的是有bug,暑假我们就修了不少。 

    4.2 MXNet架构

    此处输入图片的描述

    从上到下分别为各种主语言的嵌入,编程接口(矩阵运算,符号表达式,分布式通讯),两种编程模式的统一系统实现,以及各硬件的支持。接下一章我们将介绍编程接口,然后下一章介绍系统实现。之后我们给出一些实验对比结果,以及讨论MXNet的未来。

    ##4.2 MXNet编程接口

    1.Symbol : 声明式的符号表达式
    2.NDArray :命令式的张量计算
    3.KVStore :多设备间的数据交互
    4.读入数据模块
    5.训练模块

    ##4.3 MXNet教程
    安装GPU版mxnet并跑一个MNIST手写数字识别
    用MXnet实战深度学习之二:Neural art

    #5. Torch框架
    ##5.1 Torch诞生

    Torch诞生已经有十年之久,但是真正起势得益于去年Facebook开源了大量Torch的深度学习模块和扩展。Torch另外一个特殊之处是采用了不怎么流行的编程语言Lua(该语言曾被用来开发视频游戏)。

    5.2 Torch优缺点

    5.2.1 优点

    1)Facebook力推的深度学习框架,主要开发语言是C和Lua
    2)有较好的灵活性和速度
    3)它实现并且优化了基本的计算单元,使用者可以很简单地在此基础上实现自己的算法,不用浪费精力在计算优化上面。核心的计算单元使用C或者cuda做了很好的优化。在此基础之上,使用lua构建了常见的模型
    4)速度最快,见convnet-benchmarks
    5)支持全面的卷积操作:
            时间卷积:输入长度可变,而TF和Theano都不支持,对NLP非常有用;
             3D卷积:Theano支持,TF不支持,对视频识别很有用

    5.2.2 缺点

    1)是接口为lua语言,需要一点时间来学习。
    2)没有Python接口
    3)与Caffe一样,基于层的网络结构,其扩展性不好,对于新增加的层,需要自己实现(forward, backward and gradient update)

    5.3 Torch教程

    MXNet教程
    深度学习笔记(二)用Torch实现线性回归

    6. Theano框架

    6.2 Theano优缺点

    6.2.1 优点

    1)2008年诞生于蒙特利尔理工学院,主要开发语言是Python
    2)Theano派生出了大量深度学习Python软件包,最著名的包括Blocks和Keras
    3)Theano的最大特点是非常的灵活,适合做学术研究的实验,且对递归网络和语言建模有较好的支持
    4)是第一个使用符号张量图描述模型的架构
    5)支持更多的平台
    6)在其上有可用的高级工具:Blocks, Keras等

    6.2.2 缺点

    1)编译过程慢,但同样采用符号张量图的TF无此问题
    2)import theano也很慢,它导入时有很多事要做
    3)作为开发者,很难进行改进,因为code base是Python,而C/CUDA代码被打包在Python字符串中

    6.3 Theano教程

    Theano 官方中文教程(翻译)(三)——多层感知机(MLP)
    Theano官方中文教程(翻译)(四)—— 卷积神经网络(CNN)

    展开全文
  • 本课程在windows下搭建CPU版本Caffe环境,便于初学者学习和调试。...介绍了深度学习网络训练的原理,结合Caffe的前向、反向传播的实现进行验证;最后修改一个已有的网络模型,使用项目上更常用的方式进行网络训练。
  • 名称 发布时间 阵营 源码 star fork TensorFlow Nov 1, 2015 Google、Yahoo! tensorflow/tensorflow 62,648 30,331 Caffe Sep 8, 2013 BVLC/caffe 18,869 11,586 ... Jan 22, 2012

    综述

    名称 发布时间 阵营 源码 star fork
    TensorFlow Nov 1, 2015 Google、Yahoo! tensorflow/tensorflow 62,648 30,331
    Caffe Sep 8, 2013 BVLC BVLC/caffe 18,869 11,586
    PyTorch Feb 2, 2017 Facebook pytorch/pytorch 5,718 1,071
    Keras Mar 22, 2015 fchollet/keras 17,273 6,168
    Theano Jan 6, 2008 Theano/Theano 6,583 2,191
    MXNet Apr 26, 2015 Amazon dmlc/mxnet 10,280 3,847
    CNTK Jul 27, 2014 Microsoft Microsoft/CNTK 11,661 2,953

    这里写图片描述

    Tensorflow

    • Python API 编写,通过 C/C++引擎 加速;

    • 使用 数据流图 生成 深度学习 中 最常见的 基本单元

    • 嵌套关系 (从外到内):

      1. Graph (每次只能在一个 指定的默认graph 中进行操作)
      2. Session (会去遍历那些具有依赖关系的op)
      3. Operation (节点)

    [1] TensorFlow和Caffe、MXNet、Keras等其他深度学习框架的对比

    展开全文
  • Ubuntu18.04下安装深度学习框架Pytorch(GPU加速)

    万次阅读 多人点赞 2018-09-18 11:43:38
    前面我们已经在windows10环境下成功安装了CPU版本的Pytorch,推荐的是利用Anaconda安装。 经过接近一天的奋战,博主成功在linux系统安装GPU加速的pytorch,博主使用的发行版是Ubuntu18.04。 ...

    前面我们已经在windows10环境下成功安装了CPU版本的Pytorch,推荐的是利用Anaconda安装。

    经过接近一天的奋战,博主成功在linux系统安装GPU加速的pytorch,博主使用的发行版是Ubuntu18.04。

     

    说一下CUDA和CUDNN都是啥吧。

    CUDA(Compute Unified Device Architecture),是英伟达公司推出的一种基于新的并行编程模型和指令集架构的通用计算架构,它能利用英伟达GPU的并行计算引擎,比CPU更高效的解决许多复杂计算任务。

    CUDNN是用于深度神经网络的GPU加速库。

    具体参考博客:

    https://blog.csdn.net/qq_28660035/article/details/80959752

    https://blog.csdn.net/fangjin_kl/article/details/53906874

    一、安装Anaconda

    linux下安装Anaconda很简单,步骤和前一篇在windows下安装的步骤相似。

    1.下载Anaconda

    这个过程就不重新说一遍了,还是老话,去镜像源下载,去镜像源下载,去镜像源下载,因为官网太慢了!然后选择的版本是linux下的,根据自己的电脑操作位数选择32还是64位。

    镜像下载地址和修改方法参考前一篇博客:https://blog.csdn.net/wuzhiwuweisun/article/details/82689151

    这里我下载的是Anaconda3-5.0.1-Linux-x86_64.sh,自带的python的版本是3.6。百度云链接还有一个Anaconda是3.4.3的,自带的python版本是3.5的。

    这里贴一下百度云的链接:链接:https://pan.baidu.com/s/15N7KdtxkChOH7WsMaC_IJQ  提取码:286y

    2.安装Anaconda

    这个比windows简单,一条命令。

    首先切换到anaconda安装包的路径,在该路径下执行指令:

    sh Anaconda3-5.0.1-Linux-x86_64.sh   #后边的文件名称是你的安装包的名称

    后边的话就很简单了。

    Welcome to Anaconda3 5.0.1
    
    In order to continue the installation process, please review the license
    agreement.
    Please, press ENTER to continue
    >>> 按回车
    #然后一直按回车到协议完毕
    #出现:
    Do you accept the license terms? [yes|no]
    >>>输入yes
    #下面就是问你安装目录,建议就是默认的安装路径,直接按回车
    Anaconda3 will now be installed into this location:
    /home/mayunteng/anaconda3
    
      - Press ENTER to confirm the location
      - Press CTRL-C to abort the installation
      - Or specify a different location below
    
    [/home/mayunteng/anaconda3] >>> 按回车
    #接下来就是等待安装完成
    #注意安装完成以后会询问你是否把anaconda3的路径加到环境变量里去,一定要选yes,一定要选yes,一定要选yes。
    

    安装完成以后,重启终端,依次输入下面的指令,如果显示的是anaconda版本的python,代表安装成功。

    先输入:source ~/.bashrc
    再输入:python
    显示的python版本后面有Anaconda标识,代表安装成功
    Python 3.6.3 |Anaconda, Inc.| (default, Oct 13 2017, 12:02:49) 
    [GCC 7.2.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> 
    #退出python的命令交互行输入exit()回车就可以了。
    

    我们也可以输入conda list 查看安装的库。

    输入:conda list
    显示(已经安装好的库):
    # packages in environment at /home/mayunteng/anaconda3:
    #
    # Name                    Version                   Build  Channel
    _ipyw_jlab_nb_ext_conf    0.1.0            py36he11e457_0    defaults
    alabaster                 0.7.10           py36h306e16b_0    defaults
    anaconda                  5.0.1            py36hd30a520_1    defaults
    anaconda-client           1.6.5            py36h19c0dcd_0    defaults
    anaconda-navigator        1.6.9            py36h11ddaaa_0    defaults
    anaconda-project          0.8.0            py36h29abdf5_0    defaults
    asn1crypto                0.22.0           py36h265ca7c_1    defaults
    astroid                   1.5.3            py36hbdb9df2_0    defaults
    astropy                   2.0.2            py36ha51211e_4    defaults
    babel                     2.5.0            py36h7d14adf_0    defaults
    backports                 1.0              py36hfa02d7e_1    defaults
    backports.shutil_get_terminal_size 1.0.0            py36hfea85ff_2    defaults
    beautifulsoup4            4.6.0            py36h49b8c8c_1    defaults
    bitarray                  0.8.1            py36h5834eb8_0    defaults
    bkcharts                  0.2              py36h735825a_0    defaults
    blas                      1.0                         mkl    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
    blaze                     0.11.3           py36h4e06776_0    defaults
    bleach                    2.0.0            py36h688b259_0    defaults
    bokeh                     0.12.10          py36hbb0e44a_0    defaults
    boto                      2.48.0           py36h6e4cd66_1    defaults
    bottleneck                1.2.1            py36haac1ea0_0    defaults
    bzip2                     1.0.6                h0376d23_1    defaults

    输入下面的指令可以启动Spyder, IPython, Jupyter Notebook,Anaconda Navigator

    spyder  #打开Spyder
    ipython #打开IPython
    jupyter notebook  #打开Jupyter notebook
    anaconda-navigator #打开Anaconda Navigator

    PS:若在前边没有把Anaconda3的路径加到环境变量中,可以这么修改:

    在命令行输入:
    sudo gedit ~/.bashrc
    打开bashrc文件后在末尾输入下面的语句:
    export PATH="/home/mayunteng/anaconda3/bin:$PATH" #/home/mayunteng/anaconda3/替换成你的安装路径
    关闭bashrc文件后,在命令行输入:
    source .bashrc #使更新的环境变量立即生效

     

    二、安装CUDA和CUDNN

    1. 检测NVIDIA图形卡是否支持GPU运算

    在安装之前你要先查看你的电脑是否支持GPU运算,否则你也不用安装了。

    先查看自己电脑的显卡型号。

    可以去终端输入命令查看:

    输入:
    ubuntu-drivers devices
    输出显示:
    == /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
    modalias : pci:v000010DEd00001380sv00001B4Csd0000105Fbc03sc00i00
    vendor   : NVIDIA Corporation
    model    : GM107 [GeForce GTX 750 Ti]#这个就是图形卡类型
    driver   : nvidia-340 - distro non-free
    driver   : nvidia-driver-390 - distro non-free recommended
    driver   : xserver-xorg-video-nouveau - distro free builtin

    这里可以看到我的图形卡是GTX 750 Ti。

    拿着这个图形卡驱动到NAVIDIA官网去查是不是支持GPU运算。

    网址是:https://developer.nvidia.com/cuda-gpus

    打开后的界面大致如下,只要里边有你的型号就可以用GPU运算:

    2. 安装推荐的显卡驱动程序

    第一种方法(推荐):

    首先打开linux系统(Ubuntu18.04)设置中的"软件和更新"部分,然后打开,找到“附加驱动”,打开后安装系统推荐的驱动

    找到“附加驱动”,安装推荐的驱动,最后点击应用。

    然后就是静静等待安装完成就可以了。安装完成后记得重启电脑!重启电脑!重启电脑!

    这种方法的好处就是不易出错,配置的话电脑都给你做好了。

    最后验证是否安装成功,输入 sudo nvidia-smi

    输入:sudo nvidia-smi
    显示下面的信息代表图形显卡驱动安装成功:
    Tue Sep 18 16:40:36 2018       
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 390.48                 Driver Version: 390.48                    |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |===============================+======================+======================|
    |   0  GeForce GTX 750 Ti  Off  | 00000000:01:00.0  On |                  N/A |
    | 38%   32C    P8     1W /  38W |    254MiB /  1999MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
                                                                                   
    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID   Type   Process name                             Usage      |
    |=============================================================================|
    |    0      1126      G   /usr/lib/xorg/Xorg                            11MiB |
    |    0      1217      G   /usr/bin/gnome-shell                          49MiB |
    |    0      1399      G   /usr/lib/xorg/Xorg                            69MiB |
    |    0      1529      G   /usr/bin/gnome-shell                         116MiB |
    |    0      2946      G   /usr/lib/firefox/firefox                       1MiB |
    +-----------------------------------------------------------------------------+
    

    最好找到系统设置的“详细信息”部分,查看一下自己的图形卡是否已经是GTX 750 Ti。

     

    第二种方法(我没尝试过):

    参考博客:

    https://blog.csdn.net/u012328159/article/details/80959454

    https://blog.csdn.net/flowrush/article/details/80744787

    3.给GCC手动降级

    这里参考博客:

    https://blog.csdn.net/u010801439/article/details/80483036

    由于CUDA 9.0仅支持GCC 6.0及以下版本,而Ubuntu 18.04预装GCC版本为7.3,手动降级:

    sudo apt-get install gcc-4.8
    sudo apt-get install g++-4.8

    注意如果装caffe,gcc一定要5.0以上

    装完后进入到/usr/bin目录下,执行 ls -l gcc*

    输入:
    ls -l gcc* 
    显示(我这里由于已经改过了,所以第一行是链接到4.8了,原来的是链接到7.3):
    lrwxrwxrwx 1 root root      7 9月  12 20:43 gcc -> gcc-4.8
    -rwxr-xr-x 1 root root 772280 3月  19  2018 gcc-4.8
    lrwxrwxrwx 1 root root     22 4月  15 12:52 gcc-7 -> x86_64-linux-gnu-gcc-7
    lrwxrwxrwx 1 root root      8 4月   7 02:04 gcc-ar -> gcc-ar-7
    -rwxr-xr-x 1 root root  27088 3月  19  2018 gcc-ar-4.8
    lrwxrwxrwx 1 root root     25 4月  15 12:52 gcc-ar-7 -> x86_64-linux-gnu-gcc-ar-7
    lrwxrwxrwx 1 root root      5 4月   7 02:04 gcc.bak -> gcc-7
    lrwxrwxrwx 1 root root      8 4月   7 02:04 gcc-nm -> gcc-nm-7
    -rwxr-xr-x 1 root root  27088 3月  19  2018 gcc-nm-4.8
    lrwxrwxrwx 1 root root     25 4月  15 12:52 gcc-nm-7 -> x86_64-linux-gnu-gcc-nm-7
    lrwxrwxrwx 1 root root     12 4月   7 02:04 gcc-ranlib -> gcc-ranlib-7
    -rwxr-xr-x 1 root root  27088 3月  19  2018 gcc-ranlib-4.8
    lrwxrwxrwx 1 root root     29 4月  15 12:52 gcc-ranlib-7 -> x86_64-linux-gnu-gcc-ranlib-7

    发现gcc链接到gcc-7.3, 需要将它改为链接到gcc-4.8,方法如下:

    sudo mv gcc gcc.bak #备份
    sudo ln -s gcc-4.8 gcc #重新链接

    对g++做同样的修改:

    ls -l g++*
    sudo mv g++ g++.bak
    sudo ln -s g++-4.8 g++

    最后看gcc和g++版本号,如果是4.8代表修改成功:

    mayunteng@mayunteng-OptiPlex-7040:/usr/bin$ gcc --version
    gcc (Ubuntu 4.8.5-4ubuntu8) 4.8.5
    Copyright (C) 2015 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.
    
    mayunteng@mayunteng-OptiPlex-7040:/usr/bin$ g++ --version
    g++ (Ubuntu 4.8.5-4ubuntu8) 4.8.5
    Copyright (C) 2015 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.

    4. 安装CUDA

    这里重点参考这两篇博客进行:

    https://www.jianshu.com/p/ea169536850f(推荐)

    https://blog.csdn.net/flowrush/article/details/80744787

    我是选择的CUDA 9.0和CUDNN 7.05

    只要记住CUDA的选择要根据CUDNN的型号来选,即CUDA的版本一定要和CUDNN的版本对应,必须是CUDNN支持的版本!

     

    首先去官网下载CUDA安装包,注意根据你的系统选,最后一项选择runfile(local)

    CUDA最新版下载地址:https://developer.nvidia.com/cuda-downloads

    以前版本的CUDA:https://developer.nvidia.com/cuda-toolkit-archive

    找到我要下载的CUDA 9.0版本下载,时间有点长,下完安装就好了,几个小的更新包可以不安装。

    这里提供我搭建的环境需要的安装包,即Ubuntu18.04,64位系统的CUDA安装包,以及对应的CUDNN,Pytorch安装包。

    百度云链接: https://pan.baidu.com/s/1wLqMuAAxu7vnCCgA2fr3PA 密码:6uau

    进入刚刚下载的CUDA包的路径,执行命令:

    sudo sh cuda_9.0.176_384.81_linux.run

    然后按照下面的执行:

    Do you accept the previously read EULA? (accept/decline/quit): accept You are attemptingto install on an unsupported configuration. Do you wish to continue? ((y)es/(n)o) [ default is no ]: y 
    Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 352.39? ((y)es/(n)o/(q)uit): n 
    Install the CUDA 8.0 Toolkit? ((y)es/(n)o/(q)uit): y 
    Enter Toolkit Location [ default is /usr/local/cuda-8.0 ]: 
    Do you want to install a symbolic link at /usr/local/cuda? ((y)es/(n)o/(q)uit): y Install the CUDA 8.0 Samples? ((y)es/(n)o/(q)uit): y Enter CUDA Samples Location [ default is /home/kyle ]:
    

    其实就是除了第二个安装图形驱动因为之前安装过选择no,其他就是yes或者默认。

    安装完成在倒数几行出现警告,不用管:

    
    ***WARNING: Incomplete installation!

    5 配置CUDA的环境变量

    打开.bashrc文件,在终端输入:

    sudo gedit ~/.bashrc

    在文件的末尾添加下面两行,注意修改成你的安装路径:

    export PATH="/usr/local/cuda-9.0/bin:$PATH" #这里添加路径出错的话最好加上双引号把路径括起来,这里已经加上了双引号
    export LD_LIBRARY_PATH="/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH"

    测试一下CUDA是否安装成功:

    输入:
    nvcc -V
    显示:、
    nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2017 NVIDIA Corporation
    Built on Fri_Sep__1_21:08:03_CDT_2017
    Cuda compilation tools, release 9.0, V9.0.176
    

    6 编译 CUDA Samples

    进入samples的安装目录,选择一个看看是否可以成功编译。

    mayunteng@mayunteng-OptiPlex-7040:~$ cd NVIDIA_CUDA-9.0_Samples/0_Simple/vectorAdd
    mayunteng@mayunteng-OptiPlex-7040:~/NVIDIA_CUDA-9.0_Samples/0_Simple/vectorAdd$ make
    mayunteng@mayunteng-OptiPlex-7040:~/NVIDIA_CUDA-9.0_Samples/0_Simple/vectorAdd$ ./vectorAdd 
    [Vector addition of 50000 elements]
    Copy input data from the host memory to the CUDA device
    CUDA kernel launch with 196 blocks of 256 threads
    Copy output data from the CUDA device to the host memory
    Test PASSED
    Done
    

    出现上面的Test PASSED代表CUDA安装成功。

    7 安装CUDNN

    首先是下载CUDNN,前面在下载CUDA的时候就已经说过,CUDA要对应CUDNN的版本,我选择的是CUDA9.0+CUDNN7.05的版本。

    下载的话要先注册一个账号,然后才能下载。不过重点提醒的是注册和登陆的时候要科学上网(fanqiang)才可以!否则进不去!

    官网:https://developer.nvidia.com/cudnn

    这里我的cudnn文件百度云链接: https://pan.baidu.com/s/1wLqMuAAxu7vnCCgA2fr3PA 密码:6uau

    CUDNN下载可参考博客https://blog.csdn.net/u010801439/article/details/80483036里边的步骤。

    首先解压压缩包,然后执行:

    先进入压缩包解压后的路径,再执行下面的指令
    cd cuda
    sudo cp lib64/* /usr/local/cuda/lib64/
    sudo cp include/* /usr/local/cuda/include/
    sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

    到此,CUDNN安装完成!

    8 安装Pytorch

    可以参考博客:https://blog.csdn.net/red_stone1/article/details/78727096

     

    这里推荐使用离线安装,不易出错,一劳永逸。

    安装包下载地址:https://pytorch.org/previous-versions/

     

    这里我下载的是cu90/torch-0.3.0.post4-cp36-cp36m-linux_x86_64.whl版本的,0.3.0代表torch的版本,cp36代表支持的python版本,我的是python是3.6所以选择了cp36,linux_x86_64代表linux系统下的64位版本,cu90代表支持cuda9.0版本。

    我的安装包百度云链接: https://pan.baidu.com/s/1wLqMuAAxu7vnCCgA2fr3PA 密码:6uau

    进入安装包的路径,执行:

     pip install torch-0.3.0.post4-cp36-cp36m-linux_x86_64.whl 

    接着执行:

    pip install torchvision

    然后验证pytorch和torchvision是否安装成功,在python命令行输入import torch,无警告代表成功。

    mayunteng@mayunteng-OptiPlex-7040:~/Newpack$ python
    Python 3.6.3 |Anaconda, Inc.| (default, Oct 13 2017, 12:02:49) 
    [GCC 7.2.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import torch
    >>> 

    至此,Pytorch安装成功!

    最后,我们测试一下安装完这些能不能使用GPU加速:

    打开Jupyter Notebook或者IPython,输入以下命令:

    import torch as t
    x = t.rand(5,3)
    y = t.rand(5,3)
    if t.cuda.is_available():
        x = x.cuda()
        y = y.cuda()
        print(x+y)

    最后输出下面的界面代表成功调用GPU加速,否则没有成功调用。

     0.0624  1.3100  1.0462
     1.3511  1.1635  1.1907
     0.8890  1.0524  1.0477
     1.5921  1.0428  0.6046
     0.3175  0.9421  1.4520
    [torch.cuda.FloatTensor of size 5x3 (GPU 0)]

     

    真心好累,后续有问题会补充......

    展开全文
  • 深度学习框架汇总

    千次阅读 2017-04-21 12:18:35
    为了进行高效的开发一个深度学习系统,许多大型科技公司都推出了自己的深度学习框架。而且,最近这段时间接二连三的有新的“深度学习”框架推出。自己感觉有必要做一个总结,来收集一下这些深度学习框架。 但是,...
  • 深度解析BigDL深度学习框架

    千次阅读 2017-07-21 11:23:07
    作者:本文来源于Intel官网 ...BigDL是一种基于Apache Spark的分布式深度学习框架。通过BigDL,开发者可以使用Scala或Python语言编写深度学习应用程序,并可以充分发挥Spark群集在可扩展方面的强大能力。这篇文章主...
  • [深度学习]如何选择深度学习框架

    千次阅读 2019-04-03 20:47:53
    不管是前端技术框架还是后端技术框架以及在深度学习技术框架,我们在决定使用前,都需要考虑以下几个方面,也就是我们在选型上通用的依据,这里以深度学习框架选型举例子: 1) 性能方面 性能方面一部分主要由实现...
  • Pytorch是facebook开源的深度学习(包括机器学习)框架,伴随着人公... 课程风格通俗易懂,快速掌握当下最热门的深度学习框架!最后通过 kaggle 的一个比赛项目:猫狗分类,通过Pytorch 深度学习工具来完成我们的项目。
  • 目录深度学习框架 1.Theano & Ecosystem 2.Torch 3. Tensorflow 4. Caffe 5. CNTK 6.DSSTNE 7.Speed 机器学习框架 1.sci-kit learn 2.Apache Mahout 3.SystemML 4.Microsoft
  • 各种深度学习框架实现猫狗大战

    千次阅读 2019-12-21 15:43:24
    不同深度学习框架下的实现教程/github地址 1.Pytorch 2.TensorFlow 3.Keras 4.MXNet 不同深度学习框架下的实现教程/github地址(好用的话记得star噢) 1.Pytorch 一个教程和项目地址,代码需要自己建立项目,...
  • 文章目录前言一、背景介绍二、...目前常见的深度学习框架不尽相同,主要有TensorFlow、Caffe、Theano、Keras等,常见的深度学习框架如借图如下所示。这些深度学习框架被应用于计算机视觉、语音识别、自然语言处...
  • 深度学习框架对比

    千次阅读 2015-10-06 22:03:05
    常用的深度学习框架有theano、caffe、torch7、dl4j,查阅了一些资料,了解了各自的一些特点 caffe:c++,工程性能好,相比theano容易调试,模块集成度高,不易实现神经网络的个性化需求(比如修改loss function),...
  • 编者按:如果把深度学习...本文中,年仅22岁的开源框架Dragon的设计者、中科院计算所博士研究生、中科视拓实习算法研究员潘汀,将结合独立开发深度学习框架的经验,介绍框架设计中的关键技术,并给出其发展趋势的简单
  • System1,是由英伟达(NVIDIA)公司开发的第一个交互式深度学习GPU训练系统。目的在于整合现有的Deep Learning开发工具,实现深度神经网络(Deep Neural Network,DNN)设计、训练和可视化等任务变得简单化。...
  • DINK深度学习框架使用教程

    千人学习 2019-01-11 16:15:39
    如何安装DINK人工智能框架;DINK人工智能框架一键运行点云识别、训练评估。
  • 本文首先介绍GitHub中最受欢迎的开源深度学习框架排名,然后再对其进行系统地对比 下图总结了在GitHub中最受欢迎的开源深度学习框架排名,该排名是基于各大框架在GitHub里的收藏数,这个数据由MitchDeFelice在...
  • 不管是框架还是编程语言,归根结底只是实现工程化项目的工具而已,对于一个工程技术人员或者实际深度学习问题的研究员来讲,我们只需要了解下框架或语言的基本原理和使用方法就够了,拿深度学习框架Tensorflow来说,...
  • 深度学习框架Tensorflow学习

    千次阅读 2018-05-23 10:46:40
    1.基于Windows平台的Tensorflow安装2.Tensorflow优化器(1)在Tensorflow中一共有7种优化器,这7种优化器分别为: tf.train.GradientDescentOptimizer:对于初学者来说,使用该种方法就可以了;...
  • 主流深度学习框架对比

    千次阅读 2018-09-15 22:21:24
    深度学习研究的热潮持续高涨,各种开源深度学习框架也层出不穷,其中包括TensorFlow、Caffe、Keras、CNTK、Torch7、MXNet、Leaf、Theano、DeepLearning4、Lasagne、Neon,等等。然而TensorFlow却杀出重围,在关注度...
  • 一、深度学习框架概述与深度学习技术的四大阵营 人工智能从学术理论研究到生产应用的产品化开发过程中通常会涉及到多个不同的步骤和工具,这使得人工智能开发依赖的环境安装、部署、测试以及不断迭代改进准确性和...

空空如也

1 2 3 4 5 ... 20
收藏数 18,085
精华内容 7,234
关键字:

深度学习框架