文章目录

  • 1 tensor
  • 2 sparse_coo_tensor:以稀疏方式创建
  • 3 as_tensor:转换为tensor,且保留已有梯度历史等
  • 4 from_numpy:numpy转tensor
  • 5 zeros:创建全0的tensor
  • 6 zeros_like:创建与input同形的全0值tensor
  • 7 ones:创建全1值tensor
  • 8 ones_like:创建与input同形的全1值tensor
  • 9 arange:创建给定范围与间隔的1维tensor
  • 10 range:创建给定范围与间隔的1维tensor,多个值
  • 11 linspace:给定步长划分给定区间
  • 12 logspace:划分指数空间
  • 13 eye:创建对角二维tensor
  • 14 empty:创建未初始化的的tensor
  • 15 empty_like
  • 16 full:创建指定指定值指定大小的tensor
  • 17 full_like
  • 18 complex:创建复数形tensor
  • 19 polar:创建极坐标复数形tensor
  • 20 heaviside:创建给定输入下的阶跃tensor

1 tensor

import torchprint(torch.tensor([1, 2]))

  输出如下:

tensor([1, 2])

2 sparse_coo_tensor:以稀疏方式创建

  函数声明:torch.sparse_coo_tensor(indices, values, size=None, *, dtype=None, device=None, requires_grad=False) → Tensor

# 样本点的索引
indices = [[0, 1, 1], [2, 0, 2]]
# 索引对应的值
values = [5, 10, -3]
# 张量大小
size = [5, 4]
test = torch.sparse_coo_tensor(indices, values, size)
print(test)

  输出如下:

tensor(indices=tensor([[0, 1, 1],[2, 0, 2]]),values=tensor([ 5, 10, -3]),size=(5, 4), nnz=3, layout=torch.sparse_coo)

3 as_tensor:转换为tensor,且保留已有梯度历史等

  函数声明:torch.as_tensor(data, dtype=None, device=None) → Tensor

l = [[0, 1, 1], [2, 0, 2]]
test = torch.as_tensor(l)
print(test)
# 会保留已有的梯度历史等
l = torch.tensor(l, dtype=torch.float16, requires_grad=True)
test = torch.as_tensor(l)
print(test)

  输出如下:

tensor([[0, 1, 1],[2, 0, 2]])
tensor([[0., 1., 1.],[2., 0., 2.]], dtype=torch.float16, requires_grad=True)

4 from_numpy:numpy转tensor

  函数声明:torch.from_numpy(ndarray) → Tensor

import torch
torch.manual_seed(1)import numpy as np
a = np.random.randn(5, 4)
print(a)
b = torch.from_numpy(a)
print(b)

  输出如下:

[[-0.73184672  0.03196001  0.83596213  0.4532344 ][-0.64156264  0.0558329   0.87383367  0.3905794 ][-0.93415778 -0.06438401  2.88525277  0.30842341][ 0.63993273  1.57506805 -0.90221034 -1.17684777][ 0.21111362  2.12330942  1.10078778 -0.78174573]]
tensor([[-0.7318,  0.0320,  0.8360,  0.4532],[-0.6416,  0.0558,  0.8738,  0.3906],[-0.9342, -0.0644,  2.8853,  0.3084],[ 0.6399,  1.5751, -0.9022, -1.1768],[ 0.2111,  2.1233,  1.1008, -0.7817]], dtype=torch.float64)

5 zeros:创建全0的tensor

  函数声明:torch.zeros(*size, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor

a = torch.zeros([5, 4])
print(a)

  输出如下:

tensor([[0., 0., 0., 0.],[0., 0., 0., 0.],[0., 0., 0., 0.],[0., 0., 0., 0.],[0., 0., 0., 0.]])

6 zeros_like:创建与input同形的全0值tensor

  函数声明:torch.zeros_like(input, *, dtype=None, layout=None, device=None, requires_grad=False, memory_format=torch.preserve_format) → Tensor

a = torch.randn(3, 2)
print(a)
b = torch.zeros_like(a)
print(a)

  输出如下:

tensor([[ 0.6614,  0.2669],[ 0.0617,  0.6213],[-0.4519, -0.1661]])
tensor([[ 0.6614,  0.2669],[ 0.0617,  0.6213],[-0.4519, -0.1661]])

7 ones:创建全1值tensor

  函数声明:torch.ones(*size, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor

8 ones_like:创建与input同形的全1值tensor

  函数声明:torch.ones_like(input, *, dtype=None, layout=None, device=None, requires_grad=False, memory_format=torch.preserve_format) → Tensor

9 arange:创建给定范围与间隔的1维tensor

  函数声明:torch.arange(start=0, end, step=1, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor

a = torch.arange(0.1, 0.2, 0.01)
print(a)

  输出如下:

tensor([0.1000, 0.1100, 0.1200, 0.1300, 0.1400, 0.1500, 0.1600, 0.1700, 0.1800,0.1900])

10 range:创建给定范围与间隔的1维tensor,多个值

  函数声明:torch.range(start=0, end, step=1, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor

a = torch.range(0.1, 0.2, 0.01)
print(a)

  输出如下:

tensor([0.1000, 0.1100, 0.1200, 0.1300, 0.1400, 0.1500, 0.1600, 0.1700, 0.1800,0.1900, 0.2000])

11 linspace:给定步长划分给定区间

  函数声明:torch.linspace(start, end, steps, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor

a = torch.linspace(0.1, 0.2, 7)
print(a)

  输出如下:

tensor([0.1000, 0.1167, 0.1333, 0.1500, 0.1667, 0.1833, 0.2000])

12 logspace:划分指数空间

  函数声明:torch.logspace(start, end, steps, base=10.0, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor

a = torch.logspace(0.1, 0.2, 7, 3)
print(a)

  输出如下:

tensor([1.1161, 1.1367, 1.1578, 1.1791, 1.2009, 1.2231, 1.2457])

13 eye:创建对角二维tensor

  函数声明:torch.eye(n, m=None, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor

a = torch.eye(4, 5)
print(a)

  输出如下:

tensor([[1., 0., 0., 0., 0.],[0., 1., 0., 0., 0.],[0., 0., 1., 0., 0.],[0., 0., 0., 1., 0.]])

14 empty:创建未初始化的的tensor

  函数声明:torch.empty(*size, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False, pin_memory=False, memory_format=torch.contiguous_format) → Tensor

15 empty_like

  函数声明:torch.empty_like(input, *, dtype=None, layout=None, device=None, requires_grad=False, memory_format=torch.preserve_format) → Tensor

16 full:创建指定指定值指定大小的tensor

  函数声明:torch.full(size, fill_value, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor

a = torch.full((2, 3), 3)
print(a)

  输出如下:

tensor([[3, 3, 3],[3, 3, 3]])

17 full_like

  函数声明:torch.full_like(input, fill_value, *, dtype=None, layout=torch.strided, device=None, requires_grad=False, memory_format=torch.preserve_format) → Tensor

18 complex:创建复数形tensor

  函数声明:torch.complex(real, imag, *, out=None) → Tensor

# 实部
real = torch.tensor([1, 2], dtype=torch.float32)
# 虚部
imag = torch.tensor([3, 4], dtype=torch.float32)
a = torch.complex(real, imag)
print(a)

  输出如下:

tensor([1.+3.j, 2.+4.j])

19 polar:创建极坐标复数形tensor

  函数声明:torch.polar(abs, angle, *, out=None) → Tensor

import numpy as np
# 绝对值
abs = torch.tensor([1, 2], dtype=torch.float64)
# 角度
angle = torch.tensor([np.pi / 2, 5 * np.pi / 4], dtype=torch.float64)
a = torch.polar(abs, angle)
print(a)

  输出如下:

tensor([ 6.1232e-17+1.0000j, -1.4142e+00-1.4142j], dtype=torch.complex128)

20 heaviside:创建给定输入下的阶跃tensor

  函数声明:torch.heaviside(input, values, *, out=None) → Tensor

input = torch.tensor([-1.5, 0, 2.0])
values = torch.tensor([0.5])
a = torch.heaviside(input, values)
print(a)
values = torch.tensor([1.2, -2.0, 3.5])
b = torch.heaviside(input, values)
print(b)

  输出如下:

tensor([0.0000, 0.5000, 1.0000])
tensor([ 0., -2.,  1.])

torch学习 (41):torch中的tensor初始化操作相关推荐

  1. react学习(41)----react中的jsx简介

    JSX 特定属性你可以通过使用引号,来将属性值指定为字符串字面量:const element = <div tabIndex="0"></div>;也可以使 ...

  2. django学习笔记--数据库中的多表操作

    1.Django数据库----多表的新增操作 1.一对一模式下新增 创建一个详情对象,把这个对象赋值给创建的新的user对象 author_detail = models.AuthorDetail.o ...

  3. java学习(三) java 中 mongodb的各种操作

    一. 常用查询: 1. 查询一条数据:(多用于保存时判断db中是否已有当前数据,这里 is  精确匹配,模糊匹配 使用 regex...) public PageUrl getByUrl(String ...

  4. 如何理解深度学习中的tensor(涉及numpy的二维,三维以及四维数据的理解)

    0. 写作目的 好记性不如烂笔头. 结论:无论几维,都可以按照(Batch_size, Height, Width, Channle)来理解. 1. 二维数据的理解 理解为:只有(Height, Wi ...

  5. python课堂实例_享学课堂带你了解并读懂Python列表中的6种操作实例

    原标题:享学课堂带你了解并读懂Python列表中的6种操作实例 今天为大家来介绍一下很多人在享学课堂上学习Python时,经常会用到列表,列表(list)就是动态数组,相当于C++标准库的Vector ...

  6. vue2 对接网易im初始化操作

    一,上网易im官网下载对应的sdk(我这里选择的是web端的) 网易云信-开发者中心SDK下载 下载好了如下文件,具体区别上官网自行查看 (浏览器环境集成 - IM 即时通讯) 二.选择一个sdk引入 ...

  7. Pytorch 学习(6):Pytorch中的torch.nn Convolution Layers 卷积层参数初始化

    Pytorch 学习(6):Pytorch中的torch.nn  Convolution Layers  卷积层参数初始化 class Conv1d(_ConvNd):......def __init ...

  8. pytorch每日一学22(torch.empty()、torch.empty_like()、torch.empty_strided())创建未初始化数据的tensor

    第22个方法 由于下面这三个方法比较相似,都是创建未初始化的tensor(第三个是创建一个tensor的视图),所以就放到一起来讲: torch.empty(*size, *, out=None, d ...

  9. 【增强学习】Torch中的增强学习层

    要想在Torch框架下解决计算机视觉中的增强学习问题(例如Visual Attention),可以使用Nicholas Leonard提供的dpnn包.这个包对Torch中原有nn包进行了强大的扩展, ...

  10. pytorch每日一学28(torch.heaviside())对输入中的每一个元素都进行单位阶跃函数处理并返回结果的tensor

    第28个方法 torch.heaviside(input, values, * , out=None) → Tensor 此方法存在于pytorch1.7.0,1.7.0以下的pytorch中没有此方 ...

最新文章

  1. OpenCV 4.5.4 刚刚发布!新增SoftNMS、DNN模型8位量化等功能
  2. linux centos7开放端口命令,Centos7开放端口教程
  3. 批处理通过字符串截取得到文件名
  4. ArcGis Server开发Web GIS新手体验(二)
  5. SilverLight明日起通过微软更新推送
  6. 1-9月全国快递服务企业业务量累计完成561.4亿件 同比增长27.9%
  7. cocoslua与android交互,cocos2dx 获取手机屏幕分辨率 objective-c android 和 Lua 交互 向lua 传参...
  8. [Spark]-编译(2.3.1)部署(YARN-Cluster)
  9. dell设置从ssd启动_工程师笔记︱趁降价采购了一批SSD,结果管理上遇到了问题?...
  10. 和大家一起分享几组Android游戏源码
  11. 如何把一个eclipse安装包放到eclipse中
  12. vvv在线文档导出工具_墙裂推荐一个好用的在线文档编辑工具
  13. VC下如何使用GDI+进行图像程序设计
  14. MySQL服务中断后重启失败及解决办法(个例)
  15. HOG 特征的提取--基于scikit-image
  16. JAVA 使用 Random 实现概率 可控 抽奖算法
  17. MySQL——索引与EXPLAIN
  18. 扫描识别行驶证的软件技术
  19. 第七十篇:从ADAS到自动驾驶(三):车道检测
  20. Discuz!教程之从码云下载的Discuz!代码安装后个人资料页面乱码问题修复

热门文章

  1. 开发Android系统应用
  2. 最终结束漂泊的身份-我办理北京人才引进的经历
  3. 人的一生,到底在追求什么呢?
  4. (python爬虫)拉勾网招聘信息爬取
  5. gain在matlab里什么意思,gain gray是什么意思
  6. 金蝶eas怎么引出凭证_金蝶KIS软件操作技巧/百问百答
  7. $.ajax()方法详解
  8. 明星IP资本局:风华秋实、巨星传奇再闯IPO
  9. 家政服务app软件开发
  10. FFmpeg指令(./configure 其他)