《pytorch简介》由会员分享,可在线阅读,更多相关《pytorch简介(2页珍藏版)》请在金锄头文库上搜索。
1、pytorch简介.Pytorch是什么?是什么?Pytorch是torch的python版本,是由Facebook开源的神经络框架,专门针对 GPU 加速的深度神经络(DNN)编程。Torch 是个经典的对多维矩阵数据进操作的张量(tensor )库,在机器学习和其他数学密集型应有泛应。与Tensorflow的静态计算图不同,pytorch的计算图是动态的,可以根据计算需要实时改变计算图。但由于Torch语采 Lua,导致在国内直很众,并逐渐被持Python 的 Tensorflow 抢户。作为经典机器学习库 Torch 的端,PyTorch 为 Python 语使者提供了舒适的写代码选择。
2、.为什么选择为什么选择 Pytorch?1.简洁:简洁:PyTorch的设计追求最少的封装,尽量避免重复造轮。不像 TensorFlow 中充斥着session、graph、operation、name_scope、variable、tensor、layer等全新的概念,PyTorch 的设计遵循tensorvariable(autograd)nn.Module 三个由低到的抽象层次,分别代表维数组(张量)、动求导(变量)和神经络(层/模块),且这三个抽象之间联系紧密,可以同时进修改和操作。 简洁的设计带来的另外个好处就是代码易于理解。PyTorch的源码只有TensorFlow的分之左右,更
3、少的抽象、更直观的设计使得PyTorch的源码分易于阅读。2.速度:速度:PyTorch 的灵活性不以速度为代价,在许多评测中,PyTorch 的速度表现胜过 TensorFlow和Keras 等框架。框架的运速度和程序员的编码平有极关系,但同样的算法,使PyTorch实现的那个更有可能快过其他框架实现的。3.易:易:PyTorch 是所有的框架中向对象设计的最优雅的个。PyTorch的向对象的接设计来源于Torch,Torch的接设计以灵活易著称,Keras作者最初就是受Torch的启发才开发了Keras。PyTorch继承了Torch的钵,尤其是API的设计和模块的接都与Torch度致。P
4、yTorch的设计最符合们的思维,它让户尽可能地专注于实现的想法,即所思即所得,不需要考虑太多关于框架本的束缚。4.活跃的社区:活跃的社区:PyTorch 提供了完整的档,循序渐进的指南,作者亲维护的论坛 供户交流和求教问题。Facebook 智能研究院对 PyTorch提供了强持,作为当今排名前三的深度学习研究机构,FAIR的持以确保PyTorch获得持续的开发更新,不于像许多由个开发的框架那样昙花现。三三.PyTorch 的架构是怎样的?的架构是怎样的?PyTorch(Caffe2) 通过混合前端,分布式训练以及具和库态系统实现快速,灵活的实验和效产。PyTorch 和 TensorFlo
5、w具有不同计算图实现形式,TensorFlow 采静态图机制(预定义后再使),PyTorch采动态图机制(运时动态定义)。PyTorch 具有以下级特征:混合前端:新的混合前端在急切模式下提供易性和灵活性,同时缝转换到图形模式,以便在C +运时环境中实现速度,优化和功能。 分布式训练:通过利本地持集合操作的异步执和可从Python和C +访问的对等通信,优化了性能。 Python优先: PyTorch为了深集成到Python中构建的,因此它可以与流的库和Cython和Numba等软件包起使。 丰富的具和库:活跃的研究员和开发员社区建了丰富的具和库态系统,于扩展PyTorch并持从计算机视觉到强
6、化学习等领域的开发。 本机ONNX持:以标准ONNX(开放式神经络交换)格式导出模型,以便直接访问与ONNX兼容的平台,运时,可视化具等。C+前端:C+前端是PyTorch的纯C+接,它遵循已建的Python前端的设计和体系结构。它旨在实现性能,低延迟和裸机C+应程序的研究。 使GPU和CPU优化的深度学习张量库。四四.Pytorch 与与 tensorflow 之间的差异在哪?之间的差异在哪?上也将了PyTorch 最优势是建的神经络是动态的, 对静态的 Tensorflow, 它能更有效地处理些问题, 如说 RNN 变化时间长度的输出。各有各的优势和劣势。两者都是公司发布的, Tensor
7、flow(Google)宣称在分布式训练上下了很的功夫, 那就默认Tensorflow 在分布式训练上要超出 Pytorch(Facebook),还有tensorboard可视化具, 但是 Tensorflow 的静态计算图使得在 RNN上有点点被动 (虽然它其他途径解决了), 不过 PyTorch 的时候, 会对这种动态的 RNN 有更好的理解。且 Tensorflow 的度业化, 它的底层代码很难看懂, Pytorch 好那么点点, 如果深 PytorchAPI, 少能看 Tensorflow 多看懂点点 Pytorch 的底层在啥。五五.Pytorch有哪些常具包?有哪些常具包?torc
8、h :类似 NumPy 的张量库,强 GPU 持 ; torch.autograd :基于 tape 的动区别库,持 torch 之中的所有可区分张量运; torch.nn :为最化灵活性未涉及、与 autograd 深度整合的神经络库; torch.optim:与 torch.nn 起使的优化包,包含 SGD、RMSProp、LBFGS、Adam 等标准优化式;torch.multiprocessing: python 多进程并发,进程之间 torch Tensors 的内存共享; torch.utils:数据载器。具有训练器和其他便利功能; torch.legacy(.nn/.optim) :处于向后兼容性考虑,从 Torch 移植来的 legacy 代码;