首页 > 其他分享 >torch使用bool类型做检索

torch使用bool类型做检索

时间:2023-10-31 11:55:17浏览次数:17  
标签:检索 torch tensor labels indices bool masked print

一、背景

在使用torch的时候,可以通过bool类型对数组进行检索操作。传统的list或者dict都是使用下标和关键字检索。而在torch中可以使用bool类型进行检索,它的的目标主要是以下功能:

  • 替换torch中的某个值

二、使用

torch在bool检索的情况下就是将为检索位置为True的地方用另一个数据进行替换。

import torch

x = torch.Tensor([1, 2, 3, 4, 5])
# print(x)
noise_labels = torch.randint(len(x), x.shape)
print(noise_labels)
labels = x.clone()
print(labels)
probability_matrix = torch.full(x.shape, 0.15)
# print(probability_matrix)
masked_indices = torch.bernoulli(probability_matrix).bool()
print(masked_indices)
labels[masked_indices] = noise_labels[masked_indices]  # 将True的部分进行修改
print(labels)

# output:
"""
masked_indices第四个位置为True,因此修改labels中第四个位置,由于噪声数据第四个的位置是1,因此labels中的数据为1
tensor([3, 2, 0, 1, 1])
tensor([1., 2., 3., 4., 5.])
tensor([False, False, False, False,  True])
tensor([1., 2., 3., 4., 1.])
"""


import torch

x = torch.Tensor([1, 2, 3, 4, 5])
# print(x)
noise_labels = torch.randint(len(x)+1999, x.shape)
print(noise_labels)
labels = x.clone()
print(labels)
probability_matrix = torch.full(x.shape, 0.15)
# print(probability_matrix)
masked_indices = torch.bernoulli(probability_matrix).bool()
print(masked_indices)
labels[masked_indices] = noise_labels[masked_indices]
print(labels)

# output:
"""
tensor([1516,  408,  274,  426,  126])
tensor([1., 2., 3., 4., 5.])
tensor([False, False, False,  True, False])
tensor([  1.,   2.,   3., 426.,   5.])
"""

标签:检索,torch,tensor,labels,indices,bool,masked,print
From: https://www.cnblogs.com/future-dream/p/17799934.html

相关文章

  • 刘老师《Pytorch深度学习实践》第三讲:梯度下降
    1.分治法不能用局部点干扰性大2.梯度下降3.随机梯度下降随机梯度下降法(StochasticGradientDescent,SGD):由于批量梯度下降法在更新每一个参数时,都需要所有的训练样本,所以训练过程会随着样本数量的加大而变得异常的缓慢。随机梯度下降法正是为了解决批量梯度下降法这一......
  • 推特爆火!超越ChatGPT和Llama2,新一代检索增强方法Self-RAG来了原创
    作者|ZenMoore前言大型语言模型(LLMs)具有出色的能力,但由于完全依赖其内部的参数化知识,它们经常产生包含事实错误的回答,尤其在长尾知识中。为了解决这一问题,之前的研究人员提出了检索增强生成(RAG),它通过检索相关知识来增强LMs的效果,尤其在需要大量知识的任务,如问答中,表现出色。但RAG......
  • pytorch深度学习入门
    参考:1、Pytorch最全入门介绍,Pytorch入门看这一篇就够了2、torch.nn模块torch.nn模块是PyTorch中用于构建神经网络的核心模块,包含了各种不同类型的层(如全连接层、卷积层、池化层)、损失函数、优化器等。下面介绍torch.nn中常用的一些类和函数:nn.module:所有神经网络层的基类,定义了......
  • ResNet详解:网络结构解读与PyTorch实现教程
    本文深入探讨了深度残差网络(ResNet)的核心概念和架构组成。我们从深度学习和梯度消失问题入手,逐一解析了残差块、初始卷积层、残差块组、全局平均池化和全连接层的作用和优点。文章还包含使用PyTorch构建和训练ResNet模型的实战部分,带有详细的代码和解释。关注TechLead,分享AI与......
  • ResNet详解:网络结构解读与PyTorch实现教程
    本文深入探讨了深度残差网络(ResNet)的核心概念和架构组成。我们从深度学习和梯度消失问题入手,逐一解析了残差块、初始卷积层、残差块组、全局平均池化和全连接层的作用和优点。文章还包含使用PyTorch构建和训练ResNet模型的实战部分,带有详细的代码和解释。关注TechLead,分享AI与......
  • nn.Embedding torch.nn.Embedding
    nn.Embedding torch.nn.Embedding 随机初始化词向量矩阵:这种方式很容易理解,就是使用self.embedding=torch.nn.Embedding(vocab_size,embed_dim)命令直接随机生成个初始化的词向量矩阵,此时的向量值符合正态分布N(0,1),这里的vocab_size是指词向量矩阵能表征的词的个数,这个数......
  • pytorch:1.12-gpu-py39-cu113-ubuntu20.04
    docker-compose安装unbuntu20.04version:'3'services:ubuntu2004:image:ubuntu:20.04ports:-'2256:22'-'3356:3306'-'8058:80'volumes:-my-volume:/datacommand:tail......
  • anaconda+pytorch+pycharm
    1、安装anaconda,使用conda新建虚拟环境condacreate-npytorchpython=3.9numpymatplotlibpandasjupyternotebook(环境名为pytorch)condaactivatepytorchcondadeactivate2、在新建的虚拟环境下面下载pytorchcondainstallpytorchtorchvisiontorchaudio-cpytorch......
  • 文档型数据库将重新定义数据存储与检索
    在当前的数据驱动时代,数据库技术日新月异。文档型数据库因其独特的存储结构和索引机制而逐渐崭露头角,尤其是在云计算和大数据应用中。那么,当我们深入研究文档型数据库的内容存储和索引时,它与传统的关系型数据库有何不同?本文通过文档型数据库的典型案例——MongoDB和巨杉数据库Sequo......
  • pytorch(11.2) Transformer 代码
         ......