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

tf.SparseTensor

例如,indices=[[1,3], [2,4]]指定索引为[1,3]和[2,4]的元素具有非零值。...参数:indices:一个形状为[N, ndims]的二维int64张量。values:任何类型和形状[N]的一维张量。dense_shape:形状为[ndims]的1-D int64张量。...,quint8,qint32,half;是一维的.N的非空值对应sp_indices.sp_shape:int64 类型的张量,是一维的;输入SparseTensor的形状.dense:一个张量,必须与...sp_values具有相同的类型;R-D;密集的张量操作数.name:操作的名称(可选).返回值:该方法返回一个与sp_values有相同的类型的张量,它是1维的;运行的N值。...sp_indices.sp_shape:int64类型的张量,是1维的;输入SparseTensor的形状.dense:一个张量;必须与sp_values具有相同的类型;R-D;密集的张量操作数.name

2.1K20

tf.where

如果x和y都为空,那么这个操作返回条件的真元素的坐标。坐标在二维张量中返回,其中第一个维度(行)表示真实元素的数量,第二个维度(列)表示真实元素的坐标。...记住,输出张量的形状可以根据输入中有多少个真值而变化。索引按行主顺序输出。如果两者都是非零,则x和y必须具有相同的形状。如果x和y是标量,条件张量必须是标量。...如果x和y是更高秩的向量,那么条件必须是大小与x的第一个维度匹配的向量,或者必须具有与x相同的形状。...如果条件是一个向量,x和y是高秩矩阵,那么它选择从x和y复制哪一行(外维),如果条件与x和y形状相同,那么它选择从x和y复制哪一个元素。...如果条件为秩1,x的秩可能更高,但是它的第一个维度必须与条件的大小匹配y: 与x形状和类型相同的张量name: 操作的名称(可选)返回值:一个与x, y相同类型和形状的张量,如果它们是非零的话。

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

    NumPy 基础知识 :1~5

    因此,现在y不再是x的视图/参考; 它是一个独立的数组,但具有与x相同的值。...在前面的示例中,两个数组的形状相同,因此此处不应用广播(我们将在后面的部分中解释不同的形状,NumPy 数组操作和广播规则。)数组x中的第一个元素乘以数组y中的第一个元素,依此类推。...广播和形状操作 NumPy 操作大部分是按元素进行的,这需要一个操作中的两个数组具有相同的形状。...尽管x和y具有相同的形状,但y中的每个元素彼此相距 800 个字节。 使用 NumPy 数组x和y时,您可能不会注意到索引的差异,但是内存布局确实会影响性能。...x和y都具有5,000 x 5,000元素,但是x是二维ndarray,而y将其转换为相同的形状matrix。 即使计算已通过 NumPy 优化,NumPy 矩阵也将始终以矩阵方式进行运算。

    5.7K10

    Numpy 修炼之道 (5)—— 索引和切片

    切片支持 可以使用切片和步长来截取不同长度的数组,使用方式与Python原生的对列表和元组的方式相同。...x[np.array([3, 3, 1, 8])] 布尔索引数组 使用(整数)索引列表时,需要提供要选择的索引列表,最后生成的结果形状与索引数组形状相同;但是在使用布尔索引时,布尔数组必须与要编制索引的数组的初始维度具有相同的形状...在最直接的情况下,布尔数组具有相同的形状: >>> y array([[ 0, 1, 2, 3, 4, 5, 6], [ 7, 8, 9, 10, 11, 12, 13],...结构化索引工具 为了便于数组形状与表达式和赋值关系的匹配,可以在数组索引中使用np.newaxis对象来添加大小为1的新维。...分配给索引数组的值必须是形状一致的(相同的形状或可广播到索引产生的形状)。

    1K60

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

    这个新的张量包含与转换前相同的值,但是它被看成一个3行4列的矩阵。要重点说明一下,虽然张量的形状发生了改变,但其元素值并没有变。注意,通过改变张量的形状,张量的大小不会改变。...对于任意具有相同形状的张量,常见的标准算术运算符(+、-、*、/和**)都可以被升级为按元素运算。我们可以在同一形状的任意两个张量上调用按元素操作。...下面的例子分别演示了当我们沿行(轴-0,形状的第一个元素)和按列(轴-1,形状的第二个元素)连结两个矩阵时,会发生什么情况。...我们可以看到,第一个输出张量的轴-0长度( 6 )是两个输入张量轴-0长度的总和( 3 + 3 );第二个输出张量的轴-1长度( 8 )是两个输入张量轴-1长度的总和( 4 + 4 )。...与任何Python数组一样:第一个元素的索引是0,最后一个元素索引是-1;可以指定范围以包含第一个元素和最后一个之前的元素。

    4600

    Keras入门级MNIST手写数字识别超级详细教程

    例如,具有所有3个RGB通道的全彩色图像 的深度为3。 我们的 MNIST 图像只有 1 的深度,但我们必须明确声明。...接下来,让我们看看我们的类标签数据的形状: print(y_train.shape) (60000,) 我们应该有 10 个不同的类,每个数字一个,但看起来我们只有一个一维数组。...y_train 和 y_test 数据没有分成 10 个不同的类标签,而是表示为具有类值的单个数组。...我们可以轻松解决这个问题: # 将1维类数组转换为10维类矩阵Y_train = np_utils.to_categorical(y_train, 10)Y_test = np_utils.to_categorical...在这种情况下,它与每个数字图像的(宽度、高度、深度)对应的 (28, 28, 1) 相同。 但是前三个参数代表什么?它们分别对应于要使用的卷积滤波器的数量、每个卷积核中的行数和每个卷积核中的列数。

    6.6K00

    Keras入门级MNIST手写数字识别超级详细教程

    使用 Theano 后端时,您必须明确声明输入图像深度的维度。例如,具有所有3个RGB通道的全彩色图像 的深度为3。 我们的 MNIST 图像只有 1 的深度,但我们必须明确声明。...接下来,让我们看看我们的类标签数据的形状: print(y_train.shape) (60000,) 我们应该有 10 个不同的类,每个数字一个,但看起来我们只有一个一维数组。...y_train 和 y_test 数据没有分成 10 个不同的类标签,而是表示为具有类值的单个数组。...我们可以轻松解决这个问题: # 将1维类数组转换为10维类矩阵Y_train = np_utils.to_categorical(y_train, 10)Y_test = np_utils.to_categorical...在这种情况下,它与每个数字图像的(宽度、高度、深度)对应的 (28, 28, 1) 相同。 但是前三个参数代表什么?它们分别对应于要使用的卷积滤波器的数量、每个卷积核中的行数和每个卷积核中的列数。

    98610

    JAX 中文文档(五)

    几个形状规范的示例: ("(b, _, _)", None) 可以用于具有两个参数的函数,第一个是具有应为符号的批处理前导维度的三维数组。基于实际参数专门化第一个参数的其他维度和第二个参数的形状。...请注意,如果第一个参数是具有相同前导维度但可能具有不同尾部维度的多个三维数组的 pytree,则相同的规范也适用。第二个参数的值None表示该参数不是符号化的。等效地,可以使用...。...)", "(batch,)") 指定两个参数具有匹配的前导维度,第一个参数至少具有秩为 1,第二个具有秩为 1。...在 JIT 编译下,JAX 数组必须具有静态形状(即在编译时已知的形状),因此布尔掩码必须小心使用。...如果我们编写一个具有重叠和并行读取以及不相交但并行写入的 GPU 内核,则会自动将其转置为一个具有重叠但并行写入的内核(当以原子方式执行时速度较慢),并且具有不相交但并行读取。

    45010

    JAX 中文文档(十三)

    在启用jax.Array时,运行多进程 pjit 计算并在传递主机本地输入时可能会导致类似以下错误: 示例: Mesh = {'x': 2, 'y': 2, 'z': 2} 和主机本地输入形状 == (...4,) 以及pspec = P(('x', 'y', 'z')) 因为pjit不会将主机本地形状提升为全局形状,所以您会收到以下错误: 注意:只有当您的主机本地形状小于网格的形状时,才会看到此错误。...支持完全复制的输入,即每个进程上具有相同形状,并且in_axis_resources为P(None)的情况。...array_equal(a1, a2[, equal_nan]) 如果两个数组具有相同的形状和元素则返回 True。...ones_like(a[, dtype, shape, device]) 返回与给定数组具有相同形状和类型的填充为 1 的数组。 outer(a, b[, out]) 计算两个向量的外积。

    34510

    深度学习:张量 介绍

    这导致: (m, n) x (n, r) = (m, r) 如果情况并非如此,则必须转置其中一个矩阵以适应该顺序;这会切换行和列,但保留点积的向量。...但是,第一个轴必须相同: (z, m, n) x (z, n, r) = (z, m, r) 为什么是这样?嗯,如前所述,二维的点积主要是将向量彼此相乘。...为了使 和 彼此相乘,必须调换 的第二轴和第三轴。并且两者的大小均为 (3, 3, 2)。这意味着必须变成(3,2,3)。这可以使用 Y.permute(0, 2, 1) 来完成,它转置第二和第三轴。...[[ 1, 1], [ 6, -5], [ 8, -5]]]]) 点积 在四维中,张量乘法将具有与三维和二维中相同的要求。...它还需要第一轴和第二轴与两个张量匹配: (c、z、m、n) x (c、z、n、r) = (c、z、m、r) 在三维空间中,进行矩阵乘法,然后进行向量之间的点积。

    38720

    科学计算工具Numpy

    ,即使x有形状(4, 3)和v具有形状 (3,)由于广播; 这条线就像v实际上有形状一样(4, 3),每行都是一个副本v,并且元素是按元素执行的。...将两个数组一起广播遵循以下规则: 如果数组不具有相同的等级,则将较低等级数组的形状添加为1,直到两个形状具有相同的长度。...如果两个数组在维度中具有相同的大小,或者如果其中一个数组在该维度中具有大小1,则称这两个数组在维度上是兼容的。 如果阵列在所有维度上兼容,则可以一起广播。...图像具有形状(400、248、3); #我们将它乘以形状(3,)的数组[1,0.95,0.9];numpy广播意味着红色频道不变,并将绿色和蓝色通道分别乘以0.95和0.9分别。...2、宽度为1的子图网格,并将第一个子情节设置为active plt.subplot(2, 1, 1) # 绘制第一张图 plt.plot(x, y_sin) plt.title('Sine') #

    3.2K30

    Keras 初学者教程:使用python了解深度学习

    这是个快速的健全性检查,可以防止容易避免的错误(例如误解数据维度)。 第四步:预处理数据 使用Theano后端时,必须显式声明输入图像深度的尺寸。 例如,具有所有3个RGB通道的全色图像的深度为3。...我们的MNIST图像的深度为1,但我们必须明确声明。 换句话说,我们希望将数据集从形状(n,width,height)转换为(n,depth,width,height)。...我们应该有10个不同的类,每个数字一个,但看起来我们只有一维数组。...y_train和y_test数据不会拆分为10个不同的类标签,而是表示为具有类值的单个数组。...Keras自动处理层之间的连接。 请注意,最后一层的输出大小为10,对应于10个数字类。 另请注意,卷积层的权重必须在将它们传递到完全连接的Dense层之前展平(制作为1维)。

    82850

    tf.sparse

    例如,indexes =[[1,3],[2,4]]指定索引为[1,3]和[2,4]的元素具有非零值。indices:任何类型的一维张量和dense_shape [N],它为索引中的每个元素提供值。...一维。N个与sp_indices对应的非空值。sp_shape: int64类型的张量。一维。输入稀疏量的形状。dense:张量。必须具有与sp_values相同的类型。r d。稠密张量操作数。...name:操作的名称(可选)。返回值:一个张量。具有与sp_values相同的类型。4、__mul____mul__( sp_x, y)分量方向上,稀疏张量乘以稠密张量。...一维。N个与sp_indices对应的非空值。sp_shape: int64类型的张量。一维。输入稀疏量的形状。dense:张量。必须具有与sp_values相同的类型。r d。稠密张量操作数。...name:操作的名称(可选)。返回值:一个张量。具有与sp_values相同的类型。

    1.9K20

    NumPy 1.26 中文文档(四十六)

    如果发生错误,则返回-1(否则返回 0)。src的形状必须可以广播到dest的形状。目标数组和源数组的数据区域不能重叠。...与 PyArray_MatrixProduct 相同,但将结果存储在out中。输出数组必须具有正确的形状、类型,并且是 C 连续的,否则将引发异常。...否则,x和y必须都给出且返回的对象的形状与condition相同,并且在condition分别为 True 或 False 时的元素是x和y。...否则,必须提供 x 和 y,返回的对象的形状类似 condition,并且具有 x 和 y 的元素,condition 分别是 True 或 False。...否则,必须提供 x 和 y,并且返回的对象的形状与 condition 相同,并且在condition 分别为真和假时,返回 x 和 y 的元素。

    9210

    每个数据科学家都应该知道的20个NumPy操作

    NumPy构成了数据科学领域中大部分Python库的基础。 ? 关于数据科学的一切都始于数据,数据以各种形式出现。数字、图像、文本、x射线、声音和视频记录只是数据源的一些例子。...A的形状是(3,4)大小是12。 ? 可以指定每个维度上的大小,只要保证与原大小相同即可 ? 我们不需要指定每个维度的大小。我们可以让NumPy通过-1来求维数。 ? 10....转置 矩阵的转置就是变换行和列。 ? 11. Vsplit 将数组垂直分割为多个子数组。 ? 我们将一个4x3的数组分成两个形状为2x3的子数组。 我们可以在分割后访问特定的子数组。 ?...如果我们在一个6x3数组上应用hsplit得到3个子数组,得到的数组的形状将是(6,1)。 ? 数组合并 在某些情况下,我们可能需要组合数组。NumPy提供了以多种不同方式组合数组的函数和方法。...我们已经讨论了NumPy的基本操作。在NumPy上有更高级的操作,但最好先理解基础操作。 感谢您的阅读。 作者 Soner Yıldırım deephub翻译组

    2.4K20

    NumPy 1.26 中文官方指南(二)

    这是在命令行上运行python时看到的风格,但如果您使用 IPython,可能会看到不同的风格。请注意,它不是代码的一部分,如果键入或粘贴到 Python shell 中会导致错误。...一个 N 维数组就是一个具有任意数量维度的数组。您还可能听到1-D,或一维数组,2-D,或二维数组,等等。NumPy 的 ndarray 类用于表示矩阵和向量。...这是在命令行上运行python时看到的样式,但如果你使用 IPython,你可能会看到不同的样式。请注意,它不是代码的一部分,如果输入或粘贴到 Python shell 中会导致错误。...N 维数组只是具有任意数量维度的数组。 您还可能听说1-D或一维数组,2-D或二维数组等。 NumPy ndarray类用于表示矩阵和向量。...数组通常是相同类型和大小的项目的固定大小容器。 数组中的维数和项目数由其形状定义。数组的形状是一组非负整数元组,用于指定每个维度的大小。 在 NumPy 中,维度被称为轴。

    35410

    NumPy学习笔记—(23)

    规则 2:如果两个数组形状在任何某个维度上存在不相同,那么两个数组中形状为 1 的维度都会广播到另一个数组对应唯独的尺寸,最终双方都具有相同的形状。...规则 3:如果两个数组在同一个维度上具有不为 1 的不同长度,那么将产生一个错误。...此时两个数组的形状变为: M.shape -> (2, 3) a.shape -> (1, 3) 依据规则 2,我们可以看到双方在第一维度上不相同,因此我们将第一维度具有长度 1 的a的第一维度扩展为...如果我们希望定义一个函数 ,广播可以被用来计算二维平面上每个网格的数值: # x和y都是0~5范围平均分的50个点 x = np.linspace(0, 5, 50) y = np.linspace...np.all(x 8, axis=1) array([ True, False, True]) 上例结果表明,第一行和第三行所有的元素值都小于 8,而第二行却不满足。

    2.6K60
    领券