Pytorch的基础数据类型
引言
本篇介绍Pytorch的基础数据类型,判断方式以及常用向量
基础数据类型
torch.Tensor
是一种包含单一数据类型元素的多维矩阵。- 目前在1.2版本中有9种类型。
- 同python相比,pytorch没有string类型;
- 由于pytorch是面向计算的,对于字符这种通常通过编码下手;
- 怎样用数字的形式去表示语言(字符串) : NLP -> one-hot 或 Embedding(Word2vec,glove)
判断数据类型
- 打印数据类型:a.type()
- 打印的是基本的数据类型,没有提供额外的信息:type(a)
- 合法性检验:isinstance(a, torch.FloatTensor)
1 |
In[2]: import torch |
同一个tensor部署在cpu和gpu时的数据类型是不一样的
1 |
In[7]: isinstance(a, torch.cuda.FloatTensor) |
标量 Dimension 0 / rank 0
1 |
In[12]: torch.tensor(1.3) |
loss 就是一个标量
查看标量的维度
len(a.shape)
a.dim()
len(a.size())
1 |
In[13]: a = torch.tensor(2.2) |
常用向量
1维向量
torch.tensor([ 数据 ])
torch.FloatTensor(维度)
- 从numpy导入
torch.from_numpy(data)
1 |
In[19]: torch.tensor([1.1]) |
dim为1的向量有 Bias
Linear Input 线性层的输入
从0.4版本增加了 标量的表示,以前是[0.3]来表示标量,但这样语义上不太清晰。
1维的形状如何得到
- .size
- .shape
几个概念:
dim:指的是size/shape的长度
size/shape指的是具体的形状
tensor指的是具体的数字
2维向量
1 |
In[30]: a = torch.randn(2,3) |
常用于带有batch的 Linear Input 例如 [4, 784] 4张784像素的图片
3维向量
形状:list(a.shape)
1 |
In[49]: a = torch.rand(1,2,3) // 使用随机的均匀分布 |
场景:NLP文字处理
RNN Input Batch 例如 W,F[10, 100] 一个句子由10个单词构成,且每个单词由100维向量表示
W,S,F[10, 20, 100] 20个句子,每个句子由10个单词构成,且每个单词由100维向量表示
4维向量
1 |
In[54]: a = torch.rand(2,3,28,28) //随即均匀化 |
场景 : CNN
[b, c, h, w] b:几张照片 c: 通道 w:宽 h:高度
PS:在我们学习的过程中,一定要结合着物理意义去学习,就比如说我创建一个 [4,3,28,28] 的向量,这个向量有什么含义?当我们把向量进行matmul(矩阵相乘) 后,又有什么含义?不仅仅是为学习工具而去学习,而要时刻明白我这样做能达到什么样的效果。
Pytorch的基础数据类型的更多相关文章
- 【动手学pytorch】pytorch的基础操作
一.Tensor a) 张量是torch的基础数据类型 b) 张量的核心是坐标的改变不会改变自身性质. c) 0阶张量为标量(只有数值,没有方向的量),因为它不随 ...
- [.net 面向对象编程基础] (3) 基础中的基础——数据类型
[.net 面向对象编程基础] (3) 基础中的基础——数据类型 关于数据类型,这是基础中的基础. 基础..基础..基础.基本功必须要扎实. 首先,从使用电脑开始,再到编程,电脑要存储数据,就要按类型 ...
- TypeScript学习指南第一章--基础数据类型(Basic Types)
基础数据类型(Basic Types) 为了搭建应用程序,我们需要使用一些基础数据类型比如:numbers,strings,structures,boolean等等. 在TypeScript中除了Ja ...
- 【Swift】学习笔记(一)——熟知 基础数据类型,编码风格,元组,主张
自从苹果宣布swift之后,我一直想了解,他一直没有能够把它的正式学习,从今天开始,我会用我的博客来驱动swift得知,据我们了解还快. 1.定义变量和常量 var 定义变量,let定义常量. 比如 ...
- 二、Windows基础数据类型
六.Windows Data Types 简介: 6.1.这些数据类型都是C语言数据类型的再次的进行包装. 6.2.因为考虑到如果使用的是C中的基础数据类型可能无法表示,想表示的精准的含义. 6.3. ...
- java基础数据类型包装类
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- java.lang基础数据类型boolean、char、byte、short、int、long、float、double (JDK1.8)
java.lang.Boolean public static int hashCode(boolean value) { return value ? 1231 : 1237; } JDK 1.8新 ...
- Python基础数据类型之列表和元组
一.列表 list 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li ...
- Python基础数据类型之字典
基础数据类型之字典 ps:数据类型划分:可变数据类型和不可变数据类型. 不可变数据类型:元组(tupe).布尔值(bool).整数型(int).字符串(str).不可变数据类型也称为可哈希. 可变 ...
随机推荐
- 类spring ioc 泛型保留
类spring ioc 泛型保留 什么是泛型擦除 Java并不会传递泛型类,举个直观的栗子: @Component public class BaseProvider<T> { publi ...
- Hive 系列(八)—— Hive 数据查询详解
一.数据准备 为了演示查询操作,这里需要预先创建三张表,并加载测试数据. 数据文件 emp.txt 和 dept.txt 可以从本仓库的resources 目录下载. 1.1 员工表 -- 建表语句 ...
- RestTemplate最详解
目录 1. RestTemplate简单使用 2. 一些其他设置 3. 简单总结 在项目中,当我们需要远程调用一个HTTP接口时,我们经常会用到RestTemplate这个类.这个类是Spring框架 ...
- Docker系列之镜像瘦身(五)
前言 本节我们来讲讲在我们在构建镜像过程中不出问题,同时使得最后所构建的镜像文件大小尽可能最小,温馨提示:文中大图均可点击放大查看详细信息. 缓存(cache) Docker的优势之一在于提供了缓存, ...
- Nacos(七):Nacos共享配置
前言 本文参考文章: SpringCloud Alibaba - Nacos Config 自定义共享配置 前景回顾: Nacos(六):多环境下如何"管理"及"隔离&q ...
- 推荐一个比 ls 命令速度快 100 倍的文件目录浏览神器
本文首发于:微信公众号「运维之美」,公众号 ID:Hi-Linux. 「运维之美」是一个有情怀.有态度,专注于 Linux 运维相关技术文章分享的公众号.公众号致力于为广大运维工作者分享各类技术文章和 ...
- 浅谈TCP协议,总算明白它是干什么的了
一.什么是TCP,他是干什么的? TCP即传输控制协议(Transmission Control Protocol)是一种面向连接的.可靠的.基于字节流的传输层通讯协议. TCP是为了在不可靠的互联网 ...
- vue.js纯前端处理如何将后台返回来的csv数据导出成csv文件
需要实现一个下载csv文件的功能,但后台没有对这个下载文件进行处理,而是将csv数据传给前台而已,需要前台做一下处理. 这是按钮的代码: <a> <el-button size=&q ...
- 牛客2018国庆集训派对Day3 I Metropolis 多源最短路径
传送门:https://www.nowcoder.com/acm/contest/203/I 题意: 求每个大都会到最近的一个大都会的距离. 思路: 把每个大都会设为起点,跑一遍最短路.在跑最短路的时 ...
- HDU 5451 Best Solver 数论 快速幂 2015沈阳icpc
Best Solver Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 65535/102400 K (Java/Others)Tota ...