Pytorch疑难小实验:Torch.max() Torch.min()在不同维度上的解释

简介: Pytorch疑难小实验:Torch.max() Torch.min()在不同维度上的解释
import torch
torch.manual_seed(2)
Tensor_data = torch.rand((3,3,3))
print(Tensor_data)
enc_opt0_min = Tensor_data.min(dim=0)[0].unsqueeze(2) #取最小值张量 索引舍弃
print("min:",enc_opt0_min)
enc_opt0_max = Tensor_data.max(dim=0)[0].unsqueeze(2)
print("max:",enc_opt0_max)


tensor([[[0.6147, 0.3810, 0.6371],
         [0.4745, 0.7136, 0.6190],
         [0.4425, 0.0958, 0.6142]],
        [[0.0573, 0.5657, 0.5332],
         [0.3901, 0.9088, 0.5334],
         [0.7073, 0.7116, 0.2050]],
        [[0.3078, 0.9809, 0.0103],
         [0.4660, 0.4604, 0.8547],
         [0.4525, 0.6317, 0.4760]]])
min: tensor([[[0.0573],[0.3810],[0.0103]],
      [[0.3901],[0.4604],[0.5334]],
      [[0.4425],[0.0958],[0.2050]]])
max: tensor([[[0.6147],[0.9809],[0.6371]],
          [[0.4745], [0.9088],[0.8547]],
          [[0.7073],[0.7116],[0.6142]]])


import torch
torch.manual_seed(2)
Tensor_data = torch.rand((3,3,3))
print(Tensor_data)
enc_opt0_min = Tensor_data.min(dim=1)[0].unsqueeze(2) #取最小值张量 索引舍弃
print("min:",enc_opt0_min)
enc_opt0_max = Tensor_data.max(dim=1)[0].unsqueeze(2)
print("max:",enc_opt0_max)


tensor([[[0.6147, 0.3810, 0.6371],
         [0.4745, 0.7136, 0.6190],
         [0.4425, 0.0958, 0.6142]],
        [[0.0573, 0.5657, 0.5332],
         [0.3901, 0.9088, 0.5334],
         [0.7073, 0.7116, 0.2050]],
        [[0.3078, 0.9809, 0.0103],
         [0.4660, 0.4604, 0.8547],
         [0.4525, 0.6317, 0.4760]]])
min: tensor([[[0.4425],[0.0958],[0.6142]],
      [[0.0573],[0.5657],[0.2050]],
      [[0.3078], [0.4604],[0.0103]]])
max: tensor([[[0.6147],[0.7136],[0.6371]],
      [[0.7073],[0.9088],[0.5334]],
      [[0.4660],[0.9809],[0.8547]]])


import torch
torch.manual_seed(2)
Tensor_data = torch.rand((3,3,3))
print(Tensor_data)
enc_opt0_min = Tensor_data.min(dim=2)[0].unsqueeze(2) #取最小值张量 索引舍弃
print("min:",enc_opt0_min)
enc_opt0_max = Tensor_data.max(dim=2)[0].unsqueeze(2)
print("max:",enc_opt0_max)


tensor([[[0.6147, 0.3810, 0.6371],
         [0.4745, 0.7136, 0.6190],
         [0.4425, 0.0958, 0.6142]],
        [[0.0573, 0.5657, 0.5332],
         [0.3901, 0.9088, 0.5334],
         [0.7073, 0.7116, 0.2050]],
        [[0.3078, 0.9809, 0.0103],
         [0.4660, 0.4604, 0.8547],
         [0.4525, 0.6317, 0.4760]]])
min: tensor([[[0.3810],[0.4745],[0.0958]],
      [[0.0573],[0.3901],[0.2050]],
      [[0.0103],[0.4604],[0.4525]]])
max: tensor([[[0.6371],[0.7136],[0.6142]],
      [[0.5657],[0.9088],[0.7116]],
      [[0.9809],[0.8547],[0.6317]]])
目录
相关文章
|
机器学习/深度学习 自然语言处理 PyTorch
【深度学习】实验12 使用PyTorch训练模型
【深度学习】实验12 使用PyTorch训练模型
151 0
|
机器学习/深度学习 算法 PyTorch
【深度学习】实验16 使用CNN完成MNIST手写体识别(PyTorch)
【深度学习】实验16 使用CNN完成MNIST手写体识别(PyTorch)
172 0
|
机器学习/深度学习 传感器 算法
pytorch实现循环神经网络实验
pytorch实现循环神经网络实验
275 0
|
算法 PyTorch 算法框架/工具
pytorch实现空洞卷积+残差网络实验(torch实现)
pytorch实现空洞卷积+残差网络实验(torch实现)
407 0
|
机器学习/深度学习 PyTorch 算法框架/工具
pytorch实现卷积神经网络实验
pytorch实现卷积神经网络实验
241 0
|
机器学习/深度学习 PyTorch 算法框架/工具
pytorch实现前馈神经网络实验(手动实现)
pytorch实现前馈神经网络实验(手动实现)
314 0
|
机器学习/深度学习 PyTorch 算法框架/工具
pytorch实现基本的logistic和softmax回归实验(手动+torch)
pytorch实现基本的logistic和softmax回归实验(手动+torch)
323 0
|
PyTorch 算法框架/工具
Pytorch疑难小实验:理解torch.cat()在不同维度下的连接方式
Pytorch疑难小实验:理解torch.cat()在不同维度下的连接方式
265 0
|
2月前
|
算法 PyTorch 算法框架/工具
Pytorch学习笔记(九):Pytorch模型的FLOPs、模型参数量等信息输出(torchstat、thop、ptflops、torchsummary)
本文介绍了如何使用torchstat、thop、ptflops和torchsummary等工具来计算Pytorch模型的FLOPs、模型参数量等信息。
326 2
|
13天前
|
机器学习/深度学习 人工智能 PyTorch
Transformer模型变长序列优化:解析PyTorch上的FlashAttention2与xFormers
本文探讨了Transformer模型中变长输入序列的优化策略,旨在解决深度学习中常见的计算效率问题。文章首先介绍了批处理变长输入的技术挑战,特别是填充方法导致的资源浪费。随后,提出了多种优化技术,包括动态填充、PyTorch NestedTensors、FlashAttention2和XFormers的memory_efficient_attention。这些技术通过减少冗余计算、优化内存管理和改进计算模式,显著提升了模型的性能。实验结果显示,使用FlashAttention2和无填充策略的组合可以将步骤时间减少至323毫秒,相比未优化版本提升了约2.5倍。
33 3
Transformer模型变长序列优化:解析PyTorch上的FlashAttention2与xFormers

热门文章

最新文章