Pytorch-创建tensor
引言
本篇介绍创建tensor的几种方式
Import from numpy
from_numpy()- float64 是 double 类型,也就是说从numpy导入的float其实是double类型。
- 从numpy导入的 int 还是 int 类型
1 |
In[2]: import numpy as np |
Import from List
- 数据量不是很大,不需要numpy作为载体
torch.tensor([ ])、torch.FloatTensor([ ])、torch.Tensor([ ])关系在后面介绍- tensor 与 Tensor易混淆
- 多使用tensor。
1 |
# 一维 |
torch.tensor()与torch.Tensor()默认 生成torch.FloatTensor类型,增强学习中多为torch.DoubleTensor- 通过
torch.set_default_tensor_type(torch.DoubleTensor)来更改 torch.tensor()如果列表中都是int类型,则它会生成torch.LongTensor
1 |
In[173]: a = torch.tensor([2.2,3]) |
data uninitialized
生成未初始化的数据
torch.empty(d1,d2,d3)torch.FloatTensor(d1,d2,d3)torch.IntTensor(d1,d2,d3)
未初始化的tensor将出现的问题
1 |
torch.empty(1) |
- 这些数据有的特别特别小,有的特别特别大
- 这些数据如果没有后续的处理覆盖,将会产生bug,例如:可能在后面产生无穷大的数
1 |
torch.isnan(torch.Tensor(2,3)) |
- tensor只是一个容器,后面会将自己的数据放入的。
rand/rand_like, randint
随机初始化
推荐使用随机初始化。
- rand 会随机的在[0, 1] 之间取一个数。
- rand_like( a ) 读取向量 a 的shape在送到rand函数
- randint 先指定区间
[ min, max ),然后指定shape,shape要放在列表或元组中
1 |
In[189]: torch.rand(3,3) |
N(0, 1)
randn()- 均值为0,方差为1,数据集中在0附近
- 权值w 或 偏置 b 的一个初始化
N(u, std)
normal()
1 |
In[201]: torch.randn(3,3) |
arange/range
- 生成等差数列
arange(),默认以1来递增 - range现在已经不建议使用了
1 |
In[207]: torch.arange(0,10) |
linspace/logspace
- 等分
linspace()[0,10] , steps=4 logspace()也是等分,不过是以10^x 来得到输出的。
1 |
In[210]: torch.linspace(0,10, steps=4) |
ones/zeros/eye
- ones() 生成全部为1的
- zeros() 生成全部为0的
- eye() 生成单位向量
1 |
In[215]: torch.ones(3,3) |
randperm
- 随机打散 (numpy中是 random.shuffle)
- randperm()
1 |
In[223]: torch.randperm(10) |
Pytorch-创建tensor的更多相关文章
- pytorch 创建tensor的几种方法
tensor默认是不求梯度的,对应的requires_grad是False. 1.指定数值初始化 import torch #创建一个tensor,其中shape为[2] tensor=torch.T ...
- pytorch——不用包模拟简单线性预测,数据类型,创建tensor,索引与切片
常见的学习种类 线性回归,最简单的y=wx+b型的,就像是调节音量大小.逻辑回归,是否问题.分类问题,是猫是狗是猪 最简单的线性回归y=wx+b 目的:给定大量的(x,y)坐标点,通过机器学习来找出最 ...
- 对pytorch中Tensor的剖析
不是python层面Tensor的剖析,是C层面的剖析. 看pytorch下lib库中的TH好一阵子了,TH也是torch7下面的一个重要的库. 可以在torch的github上看到相关文档.看了半天 ...
- pytorch中tensor张量数据基础入门
pytorch张量数据类型入门1.对于pytorch的深度学习框架,其基本的数据类型属于张量数据类型,即Tensor数据类型,对于python里面的int,float,int array,flaot ...
- pytorch之Tensor
#tensor和numpy import torch import numpy as np numpy_tensor = np.random.randn(3,4) print(numpy_tensor ...
- 创建Tensor
目录 创建Tensor numpy, list numpy list zeros, ones, fill zeros ones fill random 打乱idx后,a和b的索引不变 constant ...
- pytorch中tensor数据和numpy数据转换中注意的一个问题
转载自:(pytorch中tensor数据和numpy数据转换中注意的一个问题)[https://blog.csdn.net/nihate/article/details/82791277] 在pyt ...
- pytorch中tensor张量的创建
import torch import numpy as np print(torch.tensor([1,2,3])) print(torch.tensor(np.arange(15).reshap ...
- [Pytorch]Pytorch中tensor常用语法
原文地址:https://zhuanlan.zhihu.com/p/31494491 上次我总结了在PyTorch中建立随机数Tensor的多种方法的区别. 这次我把常用的Tensor的数学运算总结到 ...
- [Pytorch]Pytorch的tensor变量类型转换
原文:https://blog.csdn.net/hustchenze/article/details/79154139 Pytorch的数据类型为各式各样的Tensor,Tensor可以理解为高维矩 ...
随机推荐
- Cookie/Session的机制
Cookie的机制 Cookie是浏览器(User Agent)访问一些网站后,这些网站存放在客户端的一组数据,用于使网站等跟踪用户,实现用户自定义功能. Cookie的Domain和Path属性标识 ...
- qspi nor
qspi: sf probe SF: Detected s25fl256s_256k with page size 512 Bytes, erase size 256 KiB, total 32 Mi ...
- substring和substr的区别
substring和subsrt都是获取指定位数 字符串的方法: 语法: substring(start,end)/substring(one); substr(start,end)/substr(o ...
- SSM框架中使用日志框架
在 pom,xml 配置 Log4j jar 添加一个 mybatis_log.xml 文件 完整配置信息 <?xml version="1.0" encoding=&quo ...
- Java-ZipUtil工具类
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedRead ...
- Web前端开发——HTML文件结构
在编写html文件时,把文件保存成 .htm 或 .html的后缀. 基本文件结构 <html> <head> <title></title> < ...
- java+大文件断点续传
用JAVA实现大文件上传及显示进度信息 ---解析HTTP MultiPart协议 (本文提供全部源码下载,请访问 https://github.com/1269085759/up6-jsp-mysq ...
- 字符单链表识别数字,字母,其它字符,并分为三个循环链表的算法c++实现
已知一个单链表中的数据元素含有三类字符(即字母字符,数字字符和其它字符),试编写算法,构造三个循环链表,使每个循环链表中只含有同一类的字符,且利用原表中的结点空间作为这三个表的结点空间. 实现源代码: ...
- 阿里云运行docker容器报错
[root@izbp145axkc98giot5b448z ~]# docker run -d 231d40e811cd -p 80:80 --name=nginx 56896ff0b49cfe5f1 ...
- bootstrap单选框复选框的使用
<form role="form"> <div class="form-group"> <label class="ch ...