1.矩阵的分割

方法:split(分割长度,所分割的维度)split([分割所占的百分比],所分割的维度)
a=torch.rand(32,8)
aa,bb=a.split(16,dim=0)
print(aa.shape)
print(bb.shape)
cc,dd=a.split([20,12],dim=0)
print(cc.shape)
print(dd.shape)

输出结果

torch.Size([16, 8])
torch.Size([16, 8])
torch.Size([20, 8])
torch.Size([12, 8])

2.tensor的属性统计

min(dim=1):返回第一维的所有最小值,以及下标
max(dim=1):返回第一维的所有最大值,以及下标
a=torch.rand(4,3)
print(a,'\n')
print(a.min(dim=1),'\n')
print(a.max(dim=1))

输出结果

tensor([[0.3876, 0.5638, 0.5768],
[0.7615, 0.9885, 0.9660],
[0.3622, 0.4334, 0.1226],
[0.9390, 0.6292, 0.8370]]) torch.return_types.min(
values=tensor([0.3876, 0.7615, 0.1226, 0.6292]),
indices=tensor([0, 0, 2, 1])) torch.return_types.max(
values=tensor([0.5768, 0.9885, 0.4334, 0.9390]),
indices=tensor([2, 1, 1, 0]))
mean:求平均值
prod:求累乘
sum:求累加
argmin:求最小值下标
argmax:求最大值下标
a=torch.rand(1,3)
print(a)
print(a.mean())
print(a.prod())
print(a.sum())
print(a.argmin())
print(a.argmax())

输出结果

tensor([[0.5366, 0.9145, 0.0606]])
tensor(0.5039)
tensor(0.0297)
tensor(1.5117)
tensor(2)
tensor(1)

3.tensor的topk()和kthvalue()

topk(k,dim=a,largest=):输出维度为1的前k大的值,以及它们的下标。
kthvalue(k,dim=a):输出维度为a的第k小的值,并输出它的下标。
a=torch.rand(4,4)
print(a,'\n')
# 输出每一行中2个最大的值,并输出它们的下标
print(a.topk(2,dim=1),'\n') # 输出每一行中3个最小的值,并输出它们的下标
print(a.topk(3,dim=1,largest=False),'\n') # 输出每一行第2小的值,并输出下标
print(a.kthvalue(2,dim=1))

输出结果

tensor([[0.7131, 0.8148, 0.8036, 0.4720],
[0.9135, 0.4639, 0.5114, 0.2277],
[0.1314, 0.8407, 0.7990, 0.9426],
[0.6556, 0.7316, 0.9648, 0.9223]]) torch.return_types.topk(
values=tensor([[0.8148, 0.8036],
[0.9135, 0.5114],
[0.9426, 0.8407],
[0.9648, 0.9223]]),
indices=tensor([[1, 2],
[0, 2],
[3, 1],
[2, 3]])) torch.return_types.topk(
values=tensor([[0.4720, 0.7131, 0.8036],
[0.2277, 0.4639, 0.5114],
[0.1314, 0.7990, 0.8407],
[0.6556, 0.7316, 0.9223]]),
indices=tensor([[3, 0, 2],
[3, 1, 2],
[0, 2, 1],
[0, 1, 3]])) torch.return_types.kthvalue(
values=tensor([0.7131, 0.4639, 0.7990, 0.7316]),
indices=tensor([0, 1, 2, 1]))

Pytorch-tensor的分割,属性统计的更多相关文章

  1. pytorch中检测分割模型中图像预处理探究

    Object Detection and Classification using R-CNNs 目标检测:数据增强(Numpy+Pytorch) - 主要探究检测分割模型数据增强操作有哪些? - 检 ...

  2. Pytorch Tensor 常用操作

    https://pytorch.org/docs/stable/tensors.html dtype: tessor的数据类型,总共有8种数据类型,其中默认的类型是torch.FloatTensor, ...

  3. awk将某个字段按照分隔符分割之后统计次数

    cat label_movie2|grep BBD252CC0A4FE7D10C990261D5CEACB5|awk -F "," '{for(i=2;i<NF;i++) p ...

  4. C++学习笔记(一)——一个字符串分割和统计的工具(TextUtils)

    第一讲先从一个实例开始——我们需要完成一个遍历文件并统计单词出现次数的任务.分解功能:首先,按行读取文件并舍弃可能的空行.其次,将每一行都按照空格划分单词.因为可能存在标点符号,我们还需要将标点符号都 ...

  5. Pytorch Tensor, Variable, 自动求导

    2018.4.25,Facebook 推出了 PyTorch 0.4.0 版本,在该版本及之后的版本中,torch.autograd.Variable 和 torch.Tensor 同属一类.更确切地 ...

  6. Pytorch Tensor 维度的扩充和压缩

    维度扩展 x.unsqueeze(n) 在 n 号位置添加一个维度 例子: import torch x = torch.rand(3,2) x1 = x.unsqueeze(0) # 在第一维的位置 ...

  7. pytorch tensor与numpy转换

    从官网拷贝过来的,就是做个学习记录.版本 0.4 tensor to numpy a = torch.ones(5) print(a) 输出 tensor([1., 1., 1., 1., 1.]) ...

  8. pytorch tensor 维度理解.md

    torch.randn torch.randn(*sizes, out=None) → Tensor(张量) 返回一个张量,包含了从标准正态分布(均值为0,方差为 1)中抽取一组随机数,形状由可变参数 ...

  9. pytorch tensor的索引与切片

    切片方式与numpy是类似. * a[:2, :1, :, :], * 可以用-1索引. * ::2,表示所有数据,间隔为2,即 start:end:step. *  a.index_select(1 ...

  10. PyTorch基础(Numpy & Tensor)

    Numpy与Tensor是PyTorch的重要内容 Numpy的使用 Numpy是Python中科学计算的一个基础包,提供了一个多维度的数组对象,数组是由numpy.ndarray类来实现的,是Num ...

随机推荐

  1. PhpStorm设置FTP功能

    1.版本介绍 本文操作针对PhpStorm 2020.1版本 2.[ctrl + alt + s]打开设置,选择"Build,Execution,Deployment" 3.选择& ...

  2. Nginx安装nginx-rtmp-module模块

    简介 nginx中的模块虽然就是类似插件的概念,但是它无法像VsCode那样轻松的安装扩展. nginx要安装其它模块必须同时拿到nginx源代码和模块源代码,然后手动编译,将模块打到nginx中,最 ...

  3. 摆脱鼠标系列 - vscode 左右切换文档 快捷键换成 Ctrl + Alt + 左右箭头

    为什么 默认快捷键是 Ctrl + PageUp PageDown 用的不太习惯 Ctrl + Alt + 左右箭头 和 双列的快捷键冲突了,那个就不用了,基本没用过 备份图

  4. .vscode\settings.json .gitignore 项目文件配置

    一.项目本地新增配置文件: .vscode\settings.json {   // editor   "editor.formatOnSave": true,   "e ...

  5. Nodejs 命令行调用 exec 与 spawn 差异--- 解决 spawn yarn ENOENT error

    Nodejs 命令行调用 exec 与 spawn 差异 比如在前端工程项目中 Nodejs 要调用命令行命令如: yarn electron:build exec 调用 yarn 命令,为了能使命令 ...

  6. 解决js缓存地址问题

    解决js缓存地址问题 js实现不缓存 <META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META ...

  7. 捉虫日记 | MySQL 8.0从库某些情况下记录重放的CREATE TABLE、DROP TABLE语句到慢日志(slow log)

    作者:卢文双 资深数据库内核研发 本文首发于 2023-11-30 20:47:35 https://dbkernel.com 问题描述 当主从复制采用 binlog 的行模式时,如果从库启用 slo ...

  8. 记录--5个知识点,让 Vue3 开发更加丝滑

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 最近鼓捣了一下 Vue3 + Vite2,遇到了不少问题,整理了5个可以提高开发效率的小知识,让你在 Vue3 的项目开发中更加丝滑 ...

  9. 记录--vue中使用vue-video-player实现直播推流播放m3u8

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 1.安装 vue-video-player npm install vue-video-player --save npm install ...

  10. 记录--vue中动态引入图片为什么要是require, 你不知道的那些事

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 相信用过vue的小伙伴,肯定被面试官问过这样一个问题:在vue中动态的引入图片为什么要使用require 有些小伙伴,可能会轻蔑一笑:呵, ...