PyTorch入门(一)--PyTorch基础
PyTorch基础
- 1. PyTorch与TensorFlow的区别
- 2. PyTorch基本数学形式
- 3. 关于Tensor
1. PyTorch与TensorFlow的区别
PyTorch和TensorFlow的底层都是由C++编写的, 所以运行起来都比较快,那么二者的区别是什么呢?以一个基本的运算为例:
a = x*y;
b = a + z;
c = ∑(b);
该运算的运算图为:
TensorFlow的实现代码为:
PyTorch的实现代码为:
二者最大的区别是:
- TensorFlow是先生成静态运算图,然后在进行运算,而且运算图是静态的,一经生成无法更改。
- PyTorch生成的运算图是动态的,可以一边生成动态运算图,一边进行运算
详细的区别入下图所示:
2. PyTorch基本数学形式
神经网络最核心的部分就是数学运算,在PyTorch中最基本的数学形式有三个:
- 向量(Vector): 一列数
- 矩阵(Matrix): “二维向量”
- 张量(Tensor): “三维向量”或者“三维矩阵”
神经网络的核心部分是向量、矩阵、张量之间的相乘与相加。
在PyTorch中生成三种数学形式的代码如下所示:
# 导入torch包
import torch#定义向量
vector = torch.tensor([1,2,3,4])#定义矩阵
matrix = torch.tensor([[1,2],[3,4]])#定义张量
tensor = torch.tensor([[[1,2],[3,4]],[[1,2],[3,4]]])
3. 关于Tensor
Tensor是PyTorch中重要的数据结构,可认为是一个高维数组。Tensor和numpy的ndarrays类似,但是Tensor可以使用GPU加速。需要注意的是,Tensor和numpy对象共享内存,所以他们之间的转换很快,而且几乎不会消耗资源。这意味着,如果其中一个变了,另外一个也会随之改变。
PyTorch中新建的Tensor方法有很多,具体为:
Tensor有不同的数据类型,如下表所示:
对于tensor的常用逐元素操作如下表所示:
对于tensor的常用归并操作如下表所示:
PyTorch入门(一)--PyTorch基础相关推荐
- PyTorch | (2)PyTorch 入门-张量
PyTorch | (1)初识PyTorch PyTorch | (2)PyTorch 入门-张量 PyTorch 是一个基于 Python 的科学计算包,主要定位两类人群: NumPy 的替代品,可 ...
- 干货|《深度学习入门之Pytorch》资料下载
深度学习如今已经成为了科技领域中炙手可热的技术,而很多机器学习框架也成为了研究者和业界开发者的新宠,从早期的学术框架Caffe.Theano到如今的Pytorch.TensorFlow,但是当时间线来 ...
- 深度学习入门之PyTorch学习笔记:卷积神经网络
深度学习入门之PyTorch学习笔记 绪论 1 深度学习介绍 2 深度学习框架 3 多层全连接网络 4 卷积神经网络 4.1 主要任务及起源 4.2 卷积神经网络的原理和结构 4.2.1 卷积层 1. ...
- 深度学习入门之PyTorch学习笔记:多层全连接网络
深度学习入门之PyTorch学习笔记 绪论 1 深度学习介绍 2 深度学习框架 3 多层全连接网络 3.1 PyTorch基础 3.2 线性模型 3.2.1 问题介绍 3.2.2 一维线性回归 3.2 ...
- 深度学习入门之PyTorch学习笔记:深度学习介绍
深度学习入门之PyTorch学习笔记:深度学习介绍 绪论 1 深度学习介绍 1.1 人工智能 1.2 数据挖掘.机器学习.深度学习 1.2.1 数据挖掘 1.2.2 机器学习 1.2.3 深度学习 第 ...
- [pytorch] Pytorch入门
Pytorch入门 简单容易上手,感觉比keras好理解多了,和mxnet很像(似乎mxnet有点借鉴pytorch),记一记. 直接从例子开始学,基础知识咱已经看了很多论文了... import t ...
- 基于pytorch实现图像分类——理解自动求导、计算图、静态图、动态图、pytorch入门
1. pytorch入门 什么是PYTORCH? 这是一个基于Python的科学计算软件包,针对两组受众: 替代NumPy以使用GPU的功能 提供最大灵活性和速度的深度学习研究平台 1.1 开发环境 ...
- pytorch入门_PyTorch入门
pytorch入门 This tutorial aims to familiarize you with the concept of tensors in PyTorch and introduce ...
- 网易云课程:深度学习与PyTorch入门实战
网易云课程:深度学习与PyTorch入门实战 01 深度学习初见 1.1 深度学习框架简介 1.2 pytorch功能演示 2开发环境安装 3回归问题 3.1简单的回归问题(梯度下降算法) 3.3回归 ...
最新文章
- 解决Mac安装tesserocr报错问题 Failed building wheel for
- [Ynoi2019模拟赛]Yuno loves sqrt technology II
- 牛客网数组排序NC140
- 别名、浅复制与深复制
- socket connec连接超时处理
- FLOAT或DOUBLE列与具有数值类型的数值进行比较 问题
- C# 在线培训之零基础入门 01:开篇及C#程序、解决方案的结构
- 7个等级 容灾等级_在餐厅吃饭竟是7级风险!最新社交风险等级出炉!
- jedis的源码理解-基础篇
- 如何编写投标项目实施方案
- 工程师思维 vs 销售思维
- [975]python requests实现HTTPS客户端的证书导入
- 1,标准差的计算 2,标准分数z-score
- Hacking 基础关
- 数据组,请求组,职责,用户关系
- 华为超越三星拿下第一!2019年全球5G手机出货量榜单揭晓
- 基于K210与STM32的人脸识别门禁 实现掉地仓储,人体雷达检测
- @Transactional注解回滚(事物)
- 服务器网卡性能下降的原因,网卡的好坏会影响网速吗
- 爱奇艺奇秀直播的秒播体验优化实践
热门文章
- Linux环境下为普通用户添加sudo权限
- oracle怎么查询和插入表,Oracle查询一个表的数据插入到另一个表
- c# 计算空格宽度像素_分享计算机视觉之图像处理Python之opencv
- 网络规划设计师复习笔记
- linux python json,在Python中使用JSON
- coreseek/sphinx CentOS6.4下安装
- USACO / A Game (经典区间DP)
- notifyDataSetInvalidated()和notifyDataSetChanged()有什么区别? (转载)
- Android TextView跑马灯效果与设置文字阴影
- CSS3 Version