深度学习入门之PyTorch学习笔记:深度学习框架

深度学习入门之PyTorch学习笔记

  • 绪论
  • 1 深度学习介绍
  • 2 深度学习框架
    • 2.1 深度学习框架介绍
      • 2.1.1 TensorFlow
      • 2.1.2 Caffe
      • 2.1.3 Theano
      • 2.1.4 Torch
      • 2.1.5 MXNet
    • 2.2 PyTorch介绍
      • 2.2.1 什么是PyTorch
      • 2.2.2 为何要使用PyTorch
    • 2.3 配置PyTorch深度学习环境

绪论

  • 深度学习如今已经称为科技领域最炙手可热的技术,帮助你入门深度学习。
  • 本文从机器学习与深度学习的基础理论入手,从零开始学习PyTorch以及如何使用PyTorch搭建模型。
  • 学习机器学习中的线性回归、Logistic回归、深度学习的优化方法、多层全连接神经网络、卷积神经网络、循环神经网络、以及生成对抗网络,最后通过实战了解深度学习前沿的研究成果。
  • 将理论与代码结合,帮助更好的入门机器学习。

https://github.com/L1aoXingyu/code-of-learn-deep-learning-with-pytorch

1 深度学习介绍

https://hulin.blog.csdn.net/article/details/107733777

2 深度学习框架

2.1 深度学习框架介绍

  • 在深度学习的初级阶段,每个深度学习研究者都需要写大量的重复代码。为了提高工作效率,这些研究者就将代码写成一个框架,放在网上供所有研究者一起使用,最好用的几个框架被大量使用而流行起来。

2.1.1 TensorFlow

  • Google开源的TensorFlow是一款使用C++语言开发的数学计算软件,使用数据流图(Data Flow Graph)的形式进行计算。
  • 图中的结点代表数学运算,图中的数组表示多维数组(Tensor)之间的交互。
  • TensorFlow灵活的架构可以部署在一个或多个CPU和GPU服务器中,或者使用单一的API应用在移动设备中。
  • TensorFlow是目前全世界使用人数最多、社区最为庞大的一个框架,维护与更新较频繁,并且有Python和C++的接口,很多论文的复现都是基于TensorFlow写的。
  • 目前有很多基于TensorFlow的第三方抽象库,将TensorFlow的函数进行封装,使其变得简洁,比较有名的有:Keras,Tflearn,tfslim,TensorLayer。

2.1.2 Caffe

  • Caffe由加州大学伯克利的贾扬清所开发,是一个清晰而高效的开源深度学习框架,目前由伯克利视觉中心维护。
  • Caffe对于卷积网络的支持特别好,也是用C++开发的,但并没有提供Python接口,目前只提供了C++的接口

2.1.3 Theano

  • Theano于2008年诞生于蒙特利尔理工学院,派生出大量的深度学习的python软件包,最著名的包括Blocks和Keras。
  • Theano的核心是一个数学表达式的编译器,是为机器学习中处理大型神经网络算法所需的计算而专门设计的。

2.1.4 Torch

  • Torch是一个有大量机器学习算法支持的科学计算框架,其诞生已经有十年之久,但是真正起势得益于FaceBook开源了大量Torch的深度学习模块和扩展。
  • Torch的特点在于特别灵活,但是另外一个特殊之处在于采用了Lua编程语言,增加了学习Torch框架的成本。
  • PyTorch的前身是Torch,其底层和Torch框架一样,但使用Python重写了很多内容,不仅更加灵活,支持动态图,也提供了Python接口。

2.1.5 MXNet

  • MXNet是亚马逊的官方框架,作者是李沐,有着非常好的分布式支持,性能特别好,占用显存低,其开放的语言接口有Python、C++、R、Matlab、JavaScript等。

2.2 PyTorch介绍

2.2.1 什么是PyTorch

  • PyTorch与Torch的不同之处在于使用了Python作为开发语言,不仅能够实现强大的GPU加速,同时还支持动态神经网络,现在很多主流框架(如TensorFlow等)都不支持。
  • PyTorch既可以看作是加入GPU支持的numpy,同时也可以看成一个拥有自动求导功能的强大的深度神经网络。

2.2.2 为何要使用PyTorch

  • 掌握一个框架并不能一劳永逸,现在深度学习并没有谁拥有绝对的垄断地位,只学习TensorFlow是不够的。
  • TensorFlow和Caffe都是命令式的编程语言,而且是静态的,首先必须构建一个神经网络,然后一次又一次的使用同样的结构。如果想要改变网络的结构,就必须从头开始。但是对于PyThorch,通过一种反向自动求导技术,可以零延迟的改变神经网络结构,获得最高的速度和最佳的灵活性。
  • PyTorch的设计思路是线性、直观且易于使用的,不会再Debug的时候,因为错误的指向或者异步和不透明的引擎浪费太多的时间。
  • PyTorch的代码相对TensorFlow而言,更加简洁直观。同时对于TensorFlow高度工业化的很难看懂的底层代码,PyTorch的源代码较友好。
  • PyTorch的特点。
    (1)支持GPU。
    (2)动态神经网络。
    (3)Python优先。
    (4)命令式体验。
    (5)轻松扩展。

2.3 配置PyTorch深度学习环境

https://hulin.blog.csdn.net/article/details/107764754

你可能感兴趣的:(神经网络,python,人工智能,深度学习)