本文小编为大家详细介绍“pytorch常用工具包有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“pytorch常用工具包有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Pytorch是torch的python版本,是由Facebook开源的神经网络框架,专门针对 GPU 加速的深度神经网络(DNN)编程。Torch 是一个经典的对多维矩阵数据进行操作的张量
(tensor )库,在机器学习和其他数学密集型应用有广泛应用。Pytorch的计算图是动态的,可以根据计算需要实时改变计算图。由于Torch语言采用 Lua,导致在国内一直很小众,并逐渐被支持 Python 的 Tensorflow 抢走用户。作为经典机器学习库 Torch 的端口,PyTorch 为 Python 语言使用者提供了舒适的写代码选择。1.简洁:
PyTorch的设计追求最少的封装,尽量避免重复造轮子。不像 TensorFlow 中充斥着session、graph、operation、name_scope、variable、tensor、layer等全新的概念,PyTorch 的设计遵循tensor→variable(autograd)→nn.Module 三个由低到高的抽象层次,分别代表高维数组(张量)、自动求导(变量)和神经网络(层/模块),而且这三个抽象之间联系紧密,可以同时进行修改和操作。2.速度:
PyTorch 的灵活性不以速度为代价,在许多评测中,PyTorch 的速度表现胜过 TensorFlow和Keras 等框架。3.易用:
PyTorch 是所有的框架中面向对象设计的最优雅的一个。PyTorch的面向对象的接口设计来源于Torch,而Torch的接口设计以灵活易用而著称,Keras作者最初就是受Torch的启发才开发了Keras。4.活跃的社区:
PyTorch 提供了完整的文档,循序渐进的指南,作者亲自维护的论坛,供用户交流和求教问题。Facebook 人工智能研究院对 PyTorch 提供了强力支持。torch :类似 NumPy 的张量库,支持GPU;torch.autograd :基于 type 的自动区别库,支持 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 代码;特别注意一个问题:
通道问题:不同视觉库对于图像读取的方式不一样,图像通道也不一样:
opencv 的 imread 默认顺序时 H * W * C
pytorch的Tensor是 C * H * W
Tensorflow是两者都支持numpy风格的tensor操作pytorch对tensor提供的API参照了numpy变量自动求导在计算过程形成的计算图中,参与的变量可快速计算出自己对于目标函数的梯度神经网络求导及损失函数优化等高层封装网络层封装在torch.nn损失函数封装在torch.functional优化函数封装在torch.optimtensor数据类型:3浮点(float16,float32,float64)5整数(int16,int32,int64,int8+uint8)创建tensor的常见apitensor 对象的方法tensor对象通过一系列运算组成动态图,每个tensor对象都有以下几个控制求导的属性。torch.nn提供了创建神经网络的基础构件,这些层都继承自Module类。下面是自己手动实现一个线性层(linear layer)。适当参考,以后直接调用现成的接口,这里稍微了解一下,无实际意义。
下面表格中列出了比较重要的神经网络层组件。
对应的在nn.functional模块中,提供这些层对应的函数实现。
通常对于可训免费云主机域名练参数的层使用module,而对于不需要训练参数的层如softmax这些,可以使用functional中的函数。一些容器:容器代码:torch.nn.Module提供了神经网络的基类,当实现神经网络时需要继承自此模块,并在初始化函数中创建网络需要包含的层,并实现forward函数完成前向计算,网络的反向计算会由自动求导机制处理。通常将需要训练的层写在init函数中,将参数不需要训练的层在forward方法里调用对应的函数来实现相应的层。编码三步走:在pytorch中就只需要分三步:写好网络;编写数据的标签和路径索引;把数据送到网络。读到这里,这篇“pytorch常用工具包有哪些”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。
本篇内容主要讲解“Android中如何实现一个图片查看器”,感兴趣的朋友不妨来看免费云主机域名看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android中如何实现一个图片查看器”吧!具体代码如下:到此,相信大家对“Android中如何实…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。