首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【深度学习基础】预备知识 | 数据操作

x = torch.arange(12) x   可以通过张量的shape属性来访问张量(沿每个轴的长度)的形状(shape)。...以X == Y为例:对于每个位置,如果X和Y在该位置相等,则新张量中相应项的值为1。这意味着逻辑语句X == Y在该位置处为True,否则该位置为False。...这是因为Python首先计算Y + X,为结果分配新的内存,然后使Y指向内存中的这个新位置。...通常情况下,我们希望原地执行这些更新; 如果我们不原地更新,其他引用仍然会指向旧的内存位置,这样我们的某些代码可能会无意中引用旧的参数。   幸运的是,执行原地操作非常简单。...Z = torch.zeros_like(Y) print('id(Z):', id(Z)) Z[:] = X + Y print('id(Z):', id(Z))   如果在后续计算中没有重复使用X,

4600

tf.compat

class IndexedSlices: 一组张量切片在给定指标下的稀疏表示。class InteractiveSession: 用于交互式上下文中(如shell)的TensorFlow会话。....): 计算张量x沿轴的累积积。cumsum(...): 沿着轴计算张量x的累积和。custom_gradient(...): 修饰符来定义具有自定义渐变的函数。....): 根据索引从params坐标轴中收集切片。gather_nd(...): 将params中的切片收集到一个由指标指定形状的张量中。....): 反转可变长度的切片。reverse_v2(...): 反转张量的特定维数。rint(...): 返回最接近x的元素整数。roll(...): 将张量的元素沿轴滚动。....): 根据指标从现有张量中减去稀疏更新。tensor_scatter_update(...): 根据指标将更新分散到现有张量中。tensordot(...): a和b沿指定轴的张量收缩。

5.3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    D2L学习笔记00:Pytorch操作

    (沿每个轴的长度)的形状 x.shape # torch.Size([12]) x.numel() # 12 要想改变一个张量的形状而不改变元素数量和元素值,可以调用reshape函数。...只需要提供张量列表,并给出沿哪个轴连结。 下面的例子分别演示了当沿行(轴-0,形状的第一个元素)和按列(轴-1,形状的第二个元素)连结两个矩阵时,会发生什么情况。...运行Y = Y + X后,我们会发现id(Y)指向另一个位置。这是因为Python首先计算Y + X,为结果分配新的内存,然后使Y指向内存中的这个新位置。...在机器学习中,我们可能有数百兆的参数,并且在一秒内多次更新所有参数。 通常情况下,我们希望原地执行这些更新。...其次,如果我们不原地更新,其他引用仍然会指向旧的内存位置, 这样我们的某些代码可能会无意中引用旧的参数。 幸运的是,执行原地操作非常简单。

    1.6K10

    【深度学习】Pytorch 教程(十二):PyTorch数据结构:4、张量操作(3):张量修改操作(拆分、拓展、修改)

    维度(Dimensions)   Tensor(张量)的维度(Dimensions)是指张量的轴数或阶数。...在PyTorch中,可以使用size()方法获取张量的维度信息,使用dim()方法获取张量的轴数。 2....x.split(2, dim=1) print(y1) print(y2) unbind   沿指定维度对张量进行拆分,返回拆分后的张量列表 import torch x = torch.tensor...(1, 2) print(y) z = x.repeat(2, 2) print(z) cat   沿指定维度对多个张量进行拼接 import torch x1 = torch.tensor([[1,...张量修改 使用索引和切片进行修改   可以使用索引和切片操作来修改张量中的特定元素或子集 import torch x = torch.tensor([[1, 2, 3], [4, 5, 6]])

    14210

    【深度学习基础】预备知识 | 线性代数

    在数学表示法中,向量通常记为粗体、小写的符号(例如, \mathbf{x} 、 \mathbf{y} 和 \mathbf{z} )。   在数学上,通过一维张量表示向量。...len(x) 4   当用张量表示一个向量(只有一个轴)时,我们也可以通过.shape属性访问向量的长度。形状(shape)是一个元素组,列出了张量沿每个轴的长度(维数)。...矩阵,我们通常用粗体、大写字母来表示(例如, \mathbf{X} 、 \mathbf{Y} 和 \mathbf{Z} ),在代码中表示为具有两个轴的张量。   ...A.shape, A.sum()   默认情况下,调用求和函数会沿所有的轴降低张量的维度,使它变为一个标量。我们还可以指定张量沿哪一个轴来通过求和降低维度。...\mathbf{x},\mathbf{y}\rangle )是相同位置的按元素乘积的和: \mathbf{x}^\top \mathbf{y} = \sum_{i=1}^{d} x_i y_i 。

    7700

    tf.math

    .): 计算张量x沿轴的累积积。cumsum(...): 沿着轴计算张量x的累积和。digamma(...): 计算导数绝对值的对数divide(...): 计算Python风格的x除以y的除法。....): 使用L2范数沿着维度轴进行标准化。 (deprecated arguments)lbeta(...): 计算,沿最后一个维度减小。less(...): 返回(x y)元素的真值。....): 元素方面,将张量的值舍入到最近的整数。rsqrt(...): 计算x元素平方根的倒数。scalar_mul(...): 将标量乘以张量或索引切片对象。...它们将在未来的版本中被删除。更新说明:不推荐使用keep_dims,而是使用keepdims。沿着坐标轴给出的维数减少input_张量。...sorted:如果为真,则得到的k个元素将按降序排列。name:操作的可选名称。返回值:values: 沿最后一个维度切片的k个最大元素。indices: 输入的最后一个维度内的值的索引。

    2.6K10

    深度学习|Tensorflow2.0基础

    ps:在tensorflow中,为了表达方便,无论怎样的维度我们都称之为张量。...创建张量 在python中我们可以直接使用“=”的方式来创建数据,但是在Tensorflow中,为了能够使用其内部使用的函数,所以我们需要用Tensorflow中内置的函数来进行张量的创建。...由于梯度运算会消耗大量的计算资源,而且会自动更新相关参数,对于不需要的优化的张量,如神经网络的输入x, 不需要通过tf.Variable封装;相反,对于需要计算梯度并优化的张量,如神经网络层的w和b,需要通过...''' z = tf.random.normal([4, 2]) b = tf.ones([2]) z = z + b print(z) # 矩阵的运算(矩阵) ''' 在神经网络的全连接层中,我们除了会涉及到...= tf.reshape(x, [2, 4, 4, 3]) # 获取张量的维度数和形状列表 x.ndim, x.shape # 增加维度 # 我们可以在不改变原数据的情况下通过增加维度的方式对数据的维度进行改变

    77320

    JAX 中文文档(十三)

    当更改发生时,会在变更日志中公布,但不遵循废弃周期。在某些情况下,JAX 可能会暴露一个临时配置标志,用于回滚新行为,以帮助用户诊断和更新受影响的代码。此类标志将持续一段废弃时间。...4,) 以及pspec = P(('x', 'y', 'z')) 因为pjit不会将主机本地形状提升为全局形状,所以您会收到以下错误: 注意:只有当您的主机本地形状小于网格的形状时,才会看到此错误。...但是,JAX 通常能够提供纯函数的替代 API。例如,替代原地数组更新(x[i] = y),JAX 提供了一个纯索引更新函数 x.at[i].set(y)(参见ndarray.at)。...quantile(a, q[, axis, out, overwrite_input, …]) 计算沿指定轴的数据的第 q 个分位数。 r_ 沿第一个轴连接切片、标量和类数组对象。...tri(N[, M, k, dtype]) 一个在给定对角线及其以下位置为 1,其他位置为 0 的数组。 tril(m[, k]) 数组的下三角形。

    34510

    TF-char4-TF2基本语法

    char4-TensorFlow基础入门 TensorFlow是一个面向深度学习算法的科学计算库,内部数据保存在张量Tensor对象中,所有的运算操作都是基于张量进行的 ?...],维数是1,长度不定,shape为n 矩阵Matrix,m行n列实数的有序集合,shape为[m,n] 张量是所有维度数(dim>2)的数组的统称,每个维度也称之为轴Axis。...创建张量 从Numpy、List对象创建 numpy中的array数组和Python中的list都可以直接用来创建张量,通过tf.convert_to_tensor import tensorflow...正态分布:卷积神经网络中卷积核张量W,tf.random.normal(shape, mean=0.0, stddev=1.0) 均匀分布:对抗网络中的隐藏层z一般采样自均匀分布,tf.random.uniform...,同一份数据能够适合于不同的位置 长度为1,默认数据适合当前维度的其他位置 长度不是1,增加维度后才会才适合 ?

    1.6K20

    TensorFlow 高效编程

    =[10, 10]) z = np.dot(x, y) print(z) 现在我们使用 TensorFlow 中执行完全相同的计算: import TensorFlow as tf x = tf.random_normal...切片操作是重载的诸多运算符中的一个,它可以使得索引张量变得很容易: z = x[begin:end] # z = tf.slice(x, [begin], [end-begin]) 但是在使用它的过程中...TensorFlow 除了切片操作,也重载了一系列的数学逻辑运算,如: z = -x # z = tf.negative(x) z = x + y # z = tf.add(x, y) z = x...# z = tf.floordiv(x, y) z = x % y # z = tf.mod(x, y) z = x ** y # z = tf.pow(x, y) z = x @ y # z =...大多数情况下,使用 TensorFlow 时,你使用的是大型张量,并希望批量执行操作。 相关的条件操作是tf.where,类似于tf.cond,它接受谓词,但是基于批量中的条件来选择输出。

    1.6K10

    张量 101

    国外和国内对于 tick 数据定义有些不同: 国外:任何委托单 (order) 使委托账本 (order book) 变化而得到的表格 国内:对委托账本的按一定切片时间 (500 毫秒,3 秒,6 秒等...转换成概率向量 对应的概率值最大的位置索引便是图像里的数字,上图数字 9 对应的概率为 0.97,因此推断图片里是 9。...x = np.array( [1, 2, 3] ) y = np.array( [3, 2, 1] ) z = np.dot(x,y) print(z.shape) z () 10 例二:np.dot(...具体做法,先适当复制元素使得这两个张量形状相同后再按元素操作,两个步骤: 广播轴 (broadcast axes):比对两个张量的维度,将形状小的张量的维度 (轴) 补齐 复制元素:顺着补齐的轴,将形状小的张量里的元素复制...元素层面 最后用 tensorflow 里面的 tf.nn.softmax 来把 Z 转成 Y。

    2.9K20

    PyTorch,TensorFlow和NumPy中Stack Vs Concat | PyTorch系列(二十四)

    我们将研究在PyTorch,TensorFlow和NumPy中的堆栈和串联。我们开始做吧。 在大多数情况下,沿着张量的现有轴进行连接非常简单。当我们想沿着新的轴进行连接时,通常会产生混乱。...如何在张量中添加或插入轴 为了演示添加轴的想法,我们将使用PyTorch。...请注意,每个张量都有一个轴。这意味着cat函数的结果也将具有单个轴。这是因为当我们连接时,我们沿现有的轴进行连接。请注意,在此示例中,唯一存在的轴是第一个轴。...请注意,由于当前不存在第二个轴,因此无法沿着第二个轴合并此张量序列,因此在这种情况下,堆叠是我们唯一的选择。 让我们尝试沿第二个轴堆叠。...现在,假设我们的任务是将这些张量连接在一起以形成三个图像的单批张量。 我们是串联还是堆叠? 好吧,请注意,在此示例中,仅存在三个维度,对于一个批次,我们需要四个维度。这意味着答案是沿新轴堆叠张量。

    2.5K10
    领券