当前位置:   article > 正文

Pytorch基础-第一课_pytorch余霆嵩张量

pytorch余霆嵩张量

本文大量参考了:

https://www.jianshu.com/p/51d8b353b435

1 PyTorch简介

PyTorch是Torch7团队开发的。Torch是一个开源科学计算框架,可以追溯到2002年纽约大学的项目。Torch的核心在于在构建深度神经网络及其优化和训练,为图像,语音,视频处理以及大规模机器学习问题提供快速高效的计算方案。为了追求更高的速度,灵活性和可扩展性,Torch采用Lua作为它的开发语言,但lua语言的受众比较局限。为了满足当今业界里Python先行(Python First)的原则,PyTorch应运而生,由Facebook人工智能研究员(FAIR)于2017年在GitHub上开源。顾名思义,PyTorch使用python作为开发语言,近年来和tensorflow, keras, caffe等热门框架一起,成为深度学习开发的主流平台之一。
什么是pytorch?
PyTorch是一个基于python的科学计算包,作为Numpy的替代,可利用GPU性能进行计算。作为深度学习开发平台,提供很高的灵活性和速度。
为什么选择PyTorch

  • 简洁性;
  • 动态计算;
  • 活跃的社区;
  • 受众越来越广

2 安装

1、进入pytorch官网,进入Get started;
2、选择对应自己的开发环境的pytorch版本,系统,采用的安装方式等,官方会给出对应的安装命令:https://pytorch.org/get-started/locally/, 如下:
在这里插入图片描述

3 PyTorch基础概念

张量(Tensor)
张量是PyTorch中最基本的元素,相当于numpy.ndarray. 两者的运算方式也如出一辙,在PyTorch中也可以相互转化。
变量(Variable)
Tensor是PyTorch中对numpy.ndarray的完美替代品,但搭建神经网络时,还需要variable来构建计算图。Variable是对tensor的封装,是一个存放会变化的值的地理位置,这个值就是tensor。每个variable有3个属性:
variable.data: variable中tensor的值;
variable.grad:variable中tensor的梯度;
variable.gradfn:指向Function对象,用于反向传播的梯度计算之用。
神经网络模块(nn.Module)
nn是PyTorch中专门为神经网络设计的借口。nn.Module是nn中一个重要的类,的含各种网络层的定义以及前向传播(forward pass)的方法。在定义自己的神经网络时,需要继承nn.Module类,并实现自己的forward方法;

4 通用代码实现流程

  • 安装并导入相关的深度学习库;
  • 数据获取和预处理;
  • 定义神经网络;
  • 定义损失函数(loss function)和优化器(optimizer);
  • 训练网络;
  • 测试网络
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/464759
推荐阅读
相关标签
  

闽ICP备14008679号