2D 张量;如果 as_tuple 为 True,对于输入张量的每一个维度都返回一个 1D 张量,1D 张量中的元素是沿着该维度上非零元素的索引; 参数 as_tuple 的取值决定了 nonzero...当 as_tuple = False (默认) 时的 nonzero 函数需要注意两点: 函数总是返回 2D 张量; 如果输入张量的维度为 n,且非零元素个数为 z,则 nonzero 函数返回的是一个形状为...比如对于一个非零元素个数为 4 的 3D 输入张量来说,输入张量的维度为 3 且一共有 4 个非零元素,因此 nonzero 函数返回的是一个形状为 (4 x 3) 的 2D 张量; 2....,而 1D 张量中的每个元素值表示输入张量中的非零元素在该维度上的索引。...的 1D 张量 torch.tensor([0, 1, 1]) 和 torch.tensor([1, 0, 1]),元组中的每 1D 张量对应输入张量的一个维度,而每个 1D 张量的元素值分别对应输入张量中非零元素在对应维度上的索引
这个函数不会修改原始张量的数据,而是返回一个具有新形状的张量。...对于具有更高维度的张量,应该使用transpose() 或permute()。...masked_select() torch.masked_select() 是 PyTorch 中用于根据掩码从输入张量中选择元素的函数。它会返回一个新的张量,其中包含满足掩码条件的元素。...mask(Byte Tensor): 与输入张量相同形状的掩码张量,元素值为True 表示选择该位置的元素,元素值为False 表示不选择该位置的元素。...返回的张量是一个一维张量,其中包含满足掩码条件的元素。元素的顺序是按照输入张量在内存中的顺序得到的。 3.
这个函数不会修改原始张量的数据,而是返回一个具有新形状的张量。...Output: tensor([[1, 4], # [2, 5], # [3, 6]]) 注意点 t() 只适用于2D张量,对于具有更高维度的张量...masked_select() torch.masked_select() 是 PyTorch 中用于根据掩码从输入张量中选择元素的函数。它会返回一个新的张量,其中包含满足掩码条件的元素。...mask (ByteTensor): 与输入张量相同形状的掩码张量,元素值为 True 表示选择该位置的元素,元素值为 False 表示不选择该位置的元素。...返回的张量是一个一维张量,其中包含满足掩码条件的元素。元素的顺序是按照输入张量在内存中的顺序得到的。 如果要根据某个条件选择元素,并保持原始张量的形状,可以使用 torch.where() 函数。
具体地说,如果我们有两个输入张量 A 和 B ,并且它们具有相同的形状 (batch_size, n) ,那么它们的逐元素相乘的结果 C 可以表示为: C = A \odot B 其中, \odot 表示逐元素相乘...在实际应用中,layers.Multiply通常用于实现注意力机制(Attention Mechanism),其中需要对输入进行逐元素相乘以加强某些特征的重要性。...输出:形状与输入相同的张量,其每个元素都是输入张量对应元素的乘积。 该层可以用于许多不同的场景,例如: 将一个张量乘以另一个张量,用于实现元素级别的加权或缩放。...dims是一个整数列表,用于指定输入张量的新维度顺序。例如,如果dims=[2,1],则将输入张量的第2个维度移动到第1个维度的位置,将第1个维度移动到第2个维度的位置。...使用layers.RepeatVector层,你可以将一个向量或矩阵重复多次来创建一个新的张量,其中每个副本都是原始输入的副本。
基于此,作者提出了Structured Convolution,并证实将卷积分解为sum-pooling+更小尺寸卷积有助减小计算复杂度与参数量,作者同时还证明了如何将其应用到2D和3D卷积核以及全连接层...更进一步,作者还提出一种结构正则化损害用于促进网络的具有上述性质架构,在完成训练后,网络在几乎不造成性能损失下进行上述分解。...相比张量分解与通道减枝,所提方法取得相当甚至更好的的复杂度降低。...image-20200808155008231 结构核可以通过维度C和N以及隐参数c和n进行描述,与之对应的卷积称之为结构卷积。...前面的Fig1-b给出了2D形式的3x3结构核,对应参数 ,其中 ,每个元素包含2x2大小的块。下图Fig2给出了3D形式了结构核,对应参数 ,其中 ,每个元素包含 的空间。
简单介绍完 gather 函数之后,来看一个简单的小例子:一次将下面 2D 张量中所有红色的元素采集出来。...[x215h32ivd.png] 2D 张量可以看成矩阵,2D 张量的第一个维度为矩阵的行 (dim = 0),2D 张量的第二个维度为矩阵的列 (dim = 1),从左向右依次看三个红色元素在矩阵中的具体位置...假设此时列索引的规律是已知并且固定的,我们只需要给出这些红色元素在行上的索引号就可以将这些红色元素全部采集出来。 至此,对于这个 2D 张量的小例子,已知了输入张量和指定行上的索引号。...index 参数的张量形状不同,在 gather 函数中规定: 传入 index 的张量维度数要和输入张量 input 的维度数相同; 输出张量的形状和传入 index 张量的形状相同; 如果沿着轴的每个维度采集...比如对于前面的 2D 张量,对行索引且每一行只采集一个元素,则 index 在行上的长度为 1,index 的形状即为 (1 x 3); 接下来使用一个形状为 (3 x 5) 2D 张量来详细的分析 gather
>>> import torch >>> # 构造形状为3x3,元素值从0到8的2D张量 >>> a = torch.arange(0, 9).view([3, 3]) >>> print(a) tensor...>>> print(a[0][1]) # 索引张量a的第一行和第二列 tensor(1) 变量 a 是一个(3 x 3)的 2D 张量,即张量 a 包含两个维度: 第一个维度,在 2D 张量中称为行维度...; 第二个维度,在 2D 张量中称为列维度; a[0]表示在张量 a 的行维度上取索引号为 0 的元素(第一行);a[0][1]表示在张量 a 的行维度上取索引号为 0 的元素(第一行)以及在列维度上取索引号为...[k]中的每一个[]都表示张量的一个维度,从左边开始维度依次增加,而[]中的元素值代表对应维度的索引号,「此时的索引号可以为负数,相当于从后向前索引。」...>>> import torch >>> # 构造形状为3x3,元素值从0到8的2D张量 >>> a = torch.arange(0, 9).view([3, 3]) >>> print(a) tensor
.): 计算整数数组中每个值出现的次数。bitcast(...): 在不复制数据的情况下将张量从一种类型转换为另一种类型。boolean_mask(...): 对张量应用布尔掩码。....): 矩阵a乘以矩阵b,得到a * b。matrix_band_part(...): 复制一个张量,使每个最里面的矩阵都在中心带之外。....): 将标量乘以张量或索引切片对象。scan(...): 扫描维度0上从elems解压缩的张量列表。scatter_add(...): 向资源引用的变量添加稀疏更新。....): 返回一个掩码张量,表示每个单元格的前N个位置。serialize_many_sparse(...): 将N-小批量稀疏张量序列化为[N, 3]张量。....): 掩码indexedslice的元素。sparse_matmul(...): 矩阵a乘以矩阵b。sparse_maximum(...): 返回两个稀疏量中元素的最大值。
处理文本意味着理解大量单词的含义,每个单词代表不同的含义,可能与另一个单词相似,线性代数中的向量嵌入使我们能够更有效地表示这些单词。...特征向量(SVD):像特征向量这样的概念允许我们减少数据的特征或维度的数量,同时使用例如主成分分析的得降维方法保留所有特征的本质。...在上图中,该数据中的一行由一个特征向量表示,该向量具有 3 个元素或表示 3 个不同维度的分量。向量中的 N 个条目使其成为 n 维向量空间,在这种情况下,我们可以看到 3 维。...所有这些数据类型都由张量中的数字表示,我们运行向量化操作以使用神经网络从中学习模式,然后输出处理过的张量,然后解码以产生模型的最终推理。 所以我们可以理解为神经网络是张量在我们定义中的模型中流动。...理解我们如何完成这项任务的一个非常快速的方法是理解称为矩阵分解的东西,它允许我们将一个大矩阵分解成更小的矩阵。 现在先忽略数字和颜色,试着理解我们是如何将一个大矩阵分解成两个小矩阵的。
下图为一个形状为 (2\times 3) 的 2D 张量,为了方便将其命名为 A。...下面使用公式来判断张量 A 是否连续?2D 张量一共有两个维度,因此 i 只能取 0 (因为 i\ne (2-1)=1),接下来只需要判断下面等式是否成立。...张量 A 交换维度后的结果如下。 [nau79htewa.png] 这里需要注意,我们是通过张量 A 交换维度后得到的是 (3\times 2) 的 2D 张量,为了方便将其命名为 A^T。...[1] 为张量 A^T (逻辑结构) 的第 1 个维度上相邻的元素在一维数组 (物理结构) 中间隔的元素个数。...由于 2D 张量比较容易理解,所以这里都是以 2D 张量为例进行介绍的,2D 张量只需要满足 1 个等式即可判断是否连续,而如果是 nD 张量,则需要判断 (n-1) 个等式。
import tensorflow as tf tf.Tensor 由以下两个特征定义: 数据类型 (data type),包括整数、浮点数和字符等 形状 (shape) Tensor 中的每个元素都具有相同而其已知的数据类型...,形状是张量的每个维度 (TensorFlow 称 rank) 上的元素个数,而且可能只是部分已知。...例一:np.dot(向量, 向量) 实际上做的就是内积,即把两个向量每个元素相乘,最后再加总。点乘结果 10 是个标量 (0D 张量),形状 = ()。...例五:当 x 是 3D 张量,y 是 2D 张量,np.dot(x, y) 是将 x 的最后一维和 y 的倒数第二维的元素相乘并加总。...具体做法,先适当复制元素使得这两个张量形状相同后再按元素操作,两个步骤: 广播轴 (broadcast axes):比对两个张量的维度,将形状小的张量的维度 (轴) 补齐 复制元素:顺着补齐的轴,将形状小的张量里的元素复制
2D 节点,它们具有碰撞检测与反馈的功能,这三个节点的基础区别在我之前的文章中已经讨论过:Godot3游戏引擎入门之五:上下左右移动动画(下),搬用之前的表格,他们之间的关系和应用场景大致如下: 节点名...StaticBody2D RigidBody2D KinematicBody2D 节点名称 静态碰撞节点( 2D ) 刚体节点( 2D ) 运动学节点( 2D ) 基本特性 自动碰撞检测,位置固定不变...具有碰撞检测功能。...这个碰撞形状你可以直接在属性面板中添加,也可以在编辑器中暂时“置空”,转而在代码中动态生成,这都是可以的。...平台游戏场景中静态物体元素比较多,一般有地面,墙壁,还有斜坡等,那么玩家在这些平台上如何移动呢?
Pix2Struct 通过学习将屏幕截图的掩码解析为简化的 HTML 来进行预训练。网络,其丰富的视觉元素清晰地反映在 HTML 结构中,为下游任务的多样性提供了大量的预训练数据。...d_kv (int, optional, 默认为 64) — 每个注意力头部的键、查询、值投影的维度。...框可以通过将列表的列表的列表传递给处理器来获得,处理器将生成一个torch张量,每个维度分别对应于图像批处理大小、每个图像的框数和框的左上角和右下角点的坐标。...可以通过将列表的列表的列表传递给处理器来获取这些点,处理器将创建相应的维度为 4 的tf张量。...可以通过将列表的列表的列表传递给处理器来获取这些框,处理器将生成一个tf张量,每个维度分别对应于图像批处理大小、每个图像的框数以及框的左上角和右下角点的坐标。
参数 filters: 整数,输出空间的维度 (即卷积中滤波器的输出数量)。 kernel_size: 一个整数,或者 2 个整数表示的元组或列表, 指明 2D 卷积窗口的宽度和高度。...verbose:日志显示,0为不在标准输出流输出日志信息,1为输出进度条记录,2为每个epoch输出一行记录 callbacks:list,其中的元素是keras.callbacks.Callback的对象...则会乘以gamma,否则不使用gamma。...shape张量,并返回它们的逐元素积的张量,shape不变。...例如,如果两个张量a和b的shape都为(batch_size, n),则输出为形如(batch_size,1)的张量,结果张量每个batch的数据都是a[i,:]和b[i,:]的矩阵(向量)点积。
在训练和测试过程中需要监控的指标(metric):如果是分类问题一般预测正确占总预测的比例 神经网络中的数学术语 张量 张量:数据的维度或者是数据的容器 标量:仅包含一个数字的张量叫作标量;切记是一个数字...,不是一维数组,也称为0D张量 向量:数字组成的数组叫作向量(vector)或一维张量(1D 张量) 矩阵:2维张量,也称为2D张量 3D张量:若干个2D张量组成3D张量 4D张量:若干个3D张量组成...属性 轴的个数:3D张量有3个轴,类似坐标系 形状:整数元组(元组的概念相见python基础),表示每个周的维度大小,如2*2的矩阵形状为(2,2) 数据类型:float32、uint8、float64...图像:4D张量形状为(样本, 图形高, 图形宽, 色彩通道) 视频:5D张量,形状为(样本, 帧数, 图形高, 图形宽, 色彩通道) 张量计算 逐元素计算 遍历整个张量,每个元素进行计算,如张量的加法运算...,以得到想要的形状,如(2,3)的2D张量,通过张量变形重组为(6,)的向量 神经网络计算原理 神经网络是由一个个层组合而成,每个层都会对输入进行添加权重,对于计算开始时间,神经网络会给出一个初始化的值
值得注意的是,在每次迭代期间CG-LoRA的参数都是基于相机信息动态生成的,从而在text-to-3D模型和相机参数之间建立鲁棒的关系。...为了增强生成的结果与相机视角之间的对齐,论文提出了CG-LoRA,利用相机信息来动态生成2D扩散模型的特定参数。...为了在text-to-3D模型中优先创建前景对象,论文引入了AMA损失,利用前景3D对象的二进制掩码来引导2D扩散模型的注意图。...Attention-Mask Alignment Loss(AMA Loss) SD被预训练以生成2D图像,同时考虑了前景和背景元素。然而,text-to-3D的生成需要更加重视前景对象的生成。...但是,考虑到渲染的3D对象掩码中的每个元素都是0或1的二进制值,因此将注意力图与渲染的3D对象的掩码直接对齐不是最佳的。
领取专属 10元无门槛券
手把手带您无忧上云