深度学习中的python语法笔记总结

news/2025/2/25 16:01:08

解释 torch中的 .clamp(min=0)

在PyTorch中,torch.clamp将张量中的元素限制在指定的范围内。
torch.clamp(min=0)会将张量中的每个元素与0进行比较,并将小于0的元素替换为0。其他大于等于0的元素则保持不变。

clamp函数原理

python">def clamp(x, lower, upper):
    if x < lower:
        return lower
    elif x > upper:
        return upper
    else:
        return x

torch.full()

torch.full()是PyTorch库中的一个函数,用于创建一个指定形状的张量,并填充指定的值。

函数的语法如下:

python">torch.full(size, fill_value, dtype=None, device=None, requires_grad=False)

参数说明:

size: 表示要创建的张量的形状,可以是一个整数,也可以是一个元组或列表形式的多个整数。
fill_value: 要填充到张量中的值,可以是任意标量值(如整数、浮点数等)。
dtype: 指定所创建张量的数据类型,默认为None,即使用默认的数据类型。
device: 指定所创建张量所在的设备,默认为None,表示使用当前设备。
requires_grad: 指定是否需要对张量进行自动求导,默认为False,即不进行自动求导。

python">import torch

# 创建一个形状为(3, 2)的张量,并填充为0.5
x = torch.full((3, 2), 0.5)
print(x)
# 输出结果:
# tensor([[0.5000, 0.5000],
#         [0.5000, 0.5000],
#         [0.5000, 0.5000]])

torch.nonzero()

torch.nonzero()是PyTorch中的一个函数,用于返回张量中非零元素的索引。它的语法是:

torch.nonzero(input, *, out=None)

参数说明:

input:要检查的张量。
out(可选):输出张量,用于存储结果。
返回值是一个包含所有非零元素的索引的张量。每一行表示一个非零元素的索引,每一列表示一个维度的索引。

python">下面是一个简单的示例:
import torch

# 创建一个张量
a = torch.tensor([[0, 1, 0],
                  [2, 0, 3]])

# 使用torch.nonzero()找到非零元素的索引
indices = torch.nonzero(a)

print(indices)
输出结果为:

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

unsqueeze(dim=0) 和 squeeze(0)

unsqueeze(dim=0)

用于在指定维度上给张量添加额外的维度。

在这里,假设anchors是一个PyTorch张量。unsqueeze函数用于扩展张量的维度。dim=0参数指定了要添加额外维度的位置。

例如,如果anchors是一个形状为(N,)的张量,其中N表示张量中的元素个数,那么anchors.unsqueeze(dim=0)将返回一个形状为(1, N)的张量,其中在索引0处添加了额外的维度。

squeeze(0)

是在PyTorch中的一种方法调用,用于去除张量中尺寸为1的维度。

假设anchors是一个PyTorch张量。squeeze函数可以用来去除张量中尺寸为1的维度。参数dim=0指定了要去除的维度位置。

例如,如果anchors是一个形状为(1, N)的张量,其中第一个维度的大小是1,那么anchors.squeeze(0)将返回一个形状为(N,)的张量,去除了原始张量中的第一个维度。


http://www.niftyadmin.cn/n/4936982.html

相关文章

web-Element

在vueapp里<div><!-- <h1>{{message}}</h1> --><element-view></element-view></div> <div><!-- <h1>{{message}}</h1> --><element-view></element-view></div>在view新建个文件 <t…

【Quarkus技术系列】「云原生架构体系」在云原生时代下的Java“拯救者”是Quarkus,那云原生是什么呢?

云原生时代下的Java"拯救者" 在云原生时代&#xff0c;其实Java程序是有很大的劣势的&#xff0c;以最流行的spring boot/spring cloud微服务框架为例&#xff0c;启动一个已经优化好&#xff0c;很多bean需要lazy load的application至少需要3-4秒时间&#xff0c;内…

黑马机器学习day3

1.线性回归 1.1线性回归的原理 线性关系 非线性关系 1.2线性回归的损失和优化原理 目标&#xff1a;求模型参数&#xff0c;模型参数能够使预测准确 1损失函数 2优化方法 正规方程&#xff1a;直接求解W梯度下降&#xff1a;试错&#xff0c;改进 1.3线性回归API 1线性回…

如何使用PHP编写爬虫程序

在互联网时代&#xff0c;信息就像一条无休无止的河流&#xff0c;源源不断地涌出来。有时候我们需要从Web上抓取一些数据&#xff0c;以便分析或者做其他用途。这时候&#xff0c;爬虫程序就显得尤为重要。爬虫程序&#xff0c;顾名思义&#xff0c;就是用来自动化地获取Web页…

计算机竞赛 python opencv 深度学习 指纹识别算法实现

1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; python opencv 深度学习 指纹识别算法实现 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;4分创新点&#xff1a;4分 该项目较为新颖…

第一个 Scala 程序

shell里面输入 Copy $ scala Copy scala> 1 1 res0: Int 2 scala> println("Hello World!") Hello World! 文件形式 Copy object HelloWorld { /* 这是我的第一个 Scala 程序 * 以下程序将输出Hello World! */ def main(args: Array[String]) { print…

【数据结构】-- 栈和队列

&#x1f407; &#x1f525;博客主页&#xff1a; 云曦 &#x1f4cb;系列专栏&#xff1a;数据结构 &#x1f4a8;吾生也有涯&#xff0c;而知也无涯 &#x1f49b; 感谢大家&#x1f44d;点赞 &#x1f60b;关注&#x1f4dd;评论 文章目录 前言一、栈&#x1f4d9;1.1 栈…

useState() 的使用及场景

useState是 React提供的一个Hook函数&#xff0c;用于在函数组件中添加和管理状态。它允许你在函数组件中定义一个可变的状态&#xff0c;并在组件的生命周期中对状态进行更新和访问。 使用useState可以避免使用类组件时需要定义和管理繁琐的constructor&#xff0c;state和se…