Transformers.js 文档
utils/tensor
并获得增强的文档体验
开始使用
utils/tensor
用于 `Tensor` 处理的辅助模块。
这些函数和类仅供内部使用,这意味着最终用户无需访问此处。
- utils/tensor
- 静态
- .Tensor
new Tensor(...args).dims:Array.<number>.type:DataType.data:DataArray.size:number.location:string.Symbol.iterator()⇒Iterator._getitem(index)⇒Tensor.indexOf(item)⇒number._subarray(index, iterSize, iterDims)⇒Tensor.item()⇒number|bigint.tolist()⇒Array.sigmoid()⇒Tensor.sigmoid_()⇒Tensor.map(callback)⇒Tensor.map_(callback)⇒Tensor.mul(val)⇒Tensor.mul_(val)⇒Tensor.div(val)⇒Tensor.div_(val)⇒Tensor.add(val)⇒Tensor.add_(val)⇒Tensor.sub(val)⇒Tensor.sub_(val)⇒Tensor.clone()⇒Tensor.slice(...slices)⇒Tensor.permute(...dims)⇒Tensor.sum([dim], keepdim)⇒.norm([p], [dim], [keepdim])⇒Tensor.normalize_([p], [dim])⇒Tensor.normalize([p], [dim])⇒Tensor.stride()⇒Array.<number>.squeeze([dim])⇒Tensor.squeeze_().unsqueeze(dim)⇒Tensor.unsqueeze_().flatten_().flatten(start_dim, end_dim)⇒Tensor.view(...dims)⇒Tensor.gt(val)⇒Tensor.lt(val)⇒Tensor.clamp_().clamp(min, max)⇒Tensor.round_().round()⇒Tensor.to(type)⇒Tensor
.permute(tensor, axes)⇒Tensor.interpolate(input, size, mode, align_corners)⇒Tensor.interpolate_4d(input, options)⇒Promise.<Tensor>.matmul(a, b)⇒Promise.<Tensor>.rfft(x, a)⇒Promise.<Tensor>.topk(x, [k])⇒*.slice(data:, starts:, ends:, axes:, [steps])⇒Promise.<Tensor>.mean_pooling(last_hidden_state, attention_mask)⇒Tensor.layer_norm(input, normalized_shape, options)⇒Tensor.cat(tensors, dim)⇒Tensor.stack(tensors, dim)⇒Tensor.std_mean(input, dim, correction, keepdim)⇒Array.<Tensor>.mean(input, dim, keepdim)⇒Tensor.full(size, fill_value)⇒Tensor.ones(size)⇒Tensor.ones_like(tensor)⇒Tensor.zeros(size)⇒Tensor.zeros_like(tensor)⇒Tensor.rand(size)⇒Tensor.quantize_embeddings(tensor, precision)⇒Tensor
- .Tensor
- 内部
~args[0]:ONNXTensor~reshape(data, dimensions)⇒*~reshapedArray:any
~reduce_helper(callbackfn, input, dim, keepdim)⇒*~DataArray:*~NestArray:*
- 静态
utils/tensor.Tensor
类型:utils/tensor 的静态类
- .Tensor
new Tensor(...args).dims:Array.<number>.type:DataType.data:DataArray.size:number.location:string.Symbol.iterator()⇒Iterator._getitem(index)⇒Tensor.indexOf(item)⇒number._subarray(index, iterSize, iterDims)⇒Tensor.item()⇒number|bigint.tolist()⇒Array.sigmoid()⇒Tensor.sigmoid_()⇒Tensor.map(callback)⇒Tensor.map_(callback)⇒Tensor.mul(val)⇒Tensor.mul_(val)⇒Tensor.div(val)⇒Tensor.div_(val)⇒Tensor.add(val)⇒Tensor.add_(val)⇒Tensor.sub(val)⇒Tensor.sub_(val)⇒Tensor.clone()⇒Tensor.slice(...slices)⇒Tensor.permute(...dims)⇒Tensor.sum([dim], keepdim)⇒.norm([p], [dim], [keepdim])⇒Tensor.normalize_([p], [dim])⇒Tensor.normalize([p], [dim])⇒Tensor.stride()⇒Array.<number>.squeeze([dim])⇒Tensor.squeeze_().unsqueeze(dim)⇒Tensor.unsqueeze_().flatten_().flatten(start_dim, end_dim)⇒Tensor.view(...dims)⇒Tensor.gt(val)⇒Tensor.lt(val)⇒Tensor.clamp_().clamp(min, max)⇒Tensor.round_().round()⇒Tensor.to(type)⇒Tensor
new Tensor(...args)
创建新的张量或复制现有张量。
| 参数量 | 类型 |
|---|---|
| ...args | * |
tensor.dims : <code> Array. < number > </code>
张量的维度。
类型:Tensor 的实例属性
tensor.type : <code> DataType </code>
张量的类型。
类型:Tensor 的实例属性
tensor.data : <code> DataArray </code>
存储在张量中的数据。
类型:Tensor 的实例属性
tensor.size : <code> number </code>
张量中的元素数量。
类型:Tensor 的实例属性
tensor.location : <code> string </code>
张量数据的位置。
类型:Tensor 的实例属性
tensor.Symbol.iterator() ⇒ <code> Iterator </code>
返回一个迭代器对象,用于按行主序迭代张量数据。如果张量有多个维度,迭代器将生成子数组。
类型:Tensor 的实例方法
返回:Iterator - 用于按行主序迭代张量数据的迭代器对象。
tensor._getitem(index) ⇒ <code> Tensor </code>
对张量对象进行索引。
类型:Tensor 的实例方法
返回:Tensor - 指定索引处的数据。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 索引 | 数字 | 要访问的索引。 |
tensor.indexOf(item) ⇒ <code> number </code>
类型:Tensor 的实例方法
返回:number - 张量数据中项的第一次出现的索引。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 项 | number | bigint | 要在张量中搜索的项 |
tensor._subarray(index, iterSize, iterDims) ⇒ <code> Tensor </code>
类型:Tensor 的实例方法
| 参数量 | 类型 |
|---|---|
| 索引 | 数字 |
| 迭代大小 | 数字 |
| 迭代维度 | 任何 |
tensor.item() ⇒ <code> number </code> | <code> bigint </code>
将此张量的值作为标准 JavaScript Number 返回。这仅适用于具有一个元素的张量。对于其他情况,请参阅 `Tensor.tolist()`。
类型:Tensor 的实例方法
返回:number | bigint - 此张量的值作为标准 JavaScript Number。
抛出:
- 如果张量有多个元素,则会抛出
Error。
tensor.tolist() ⇒ <code> Array </code>
将张量数据转换为 n 维 JS 列表
类型:Tensor 的实例方法
tensor.sigmoid() ⇒ <code> Tensor </code>
返回一个新的张量,其中每个元素都应用了 sigmoid 函数。
类型:Tensor 的实例方法
返回:Tensor - 应用了 sigmoid 函数的张量。
tensor.sigmoid_() ⇒ <code> Tensor </code>
将 sigmoid 函数就地应用于张量。
类型:Tensor 的实例方法
返回:Tensor - 返回 this。
tensor.map(callback) ⇒ <code> Tensor </code>
返回一个新的张量,其中每个元素都应用了回调函数。
类型:Tensor 的实例方法
返回:Tensor - 一个新的张量,其中每个元素都应用了回调函数。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 回调函数 | 函数 | 要应用于每个元素的函数。它应该接受三个参数:当前元素、其索引和张量的数据数组。 |
tensor.map_(callback) ⇒ <code> Tensor </code>
就地将回调函数应用于张量的每个元素。
类型:Tensor 的实例方法
返回:Tensor - 返回 this。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 回调函数 | 函数 | 要应用于每个元素的函数。它应该接受三个参数:当前元素、其索引和张量的数据数组。 |
tensor.mul(val) ⇒ <code> Tensor </code>
返回一个新张量,其中每个元素都乘以一个常数。
类型:Tensor 的实例方法
返回:Tensor - 新张量。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 值 | 数字 | 要相乘的值。 |
tensor.mul_(val) ⇒ <code> Tensor </code>
就地将张量乘以一个常数。
类型:Tensor 的实例方法
返回:Tensor - 返回 this。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 值 | 数字 | 要相乘的值。 |
tensor.div(val) ⇒ <code> Tensor </code>
返回一个新的张量,其中每个元素都除以一个常数。
类型:Tensor 的实例方法
返回:Tensor - 新张量。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 值 | 数字 | 要除以的值。 |
tensor.div_(val) ⇒ <code> Tensor </code>
就地将张量除以一个常数。
类型:Tensor 的实例方法
返回:Tensor - 返回 this。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 值 | 数字 | 要除以的值。 |
tensor.add(val) ⇒ <code> Tensor </code>
返回一个新的张量,其中每个元素都加上一个常数。
类型:Tensor 的实例方法
返回:Tensor - 新张量。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 值 | 数字 | 要添加的值。 |
tensor.add_(val) ⇒ <code> Tensor </code>
就地将张量加上一个常数。
类型:Tensor 的实例方法
返回:Tensor - 返回 this。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 值 | 数字 | 要添加的值。 |
tensor.sub(val) ⇒ <code> Tensor </code>
返回一个新的张量,其中每个元素都减去一个常数。
类型:Tensor 的实例方法
返回:Tensor - 新张量。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 值 | 数字 | 要减去的值。 |
tensor.sub_(val) ⇒ <code> Tensor </code>
就地将张量减去一个常数。
类型:Tensor 的实例方法
返回:Tensor - 返回 this。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 值 | 数字 | 要减去的值。 |
tensor.clone() ⇒ <code> Tensor </code>
创建当前张量的深拷贝。
类型:Tensor 的实例方法
返回:Tensor - 一个与原始张量具有相同类型、数据和维度的新张量。
tensor.slice(...slices) ⇒ <code> Tensor </code>
沿指定维度对张量执行切片操作。
考虑一个维度为 [4, 7] 的张量。
[ 1, 2, 3, 4, 5, 6, 7]
[ 8, 9, 10, 11, 12, 13, 14]
[15, 16, 17, 18, 19, 20, 21]
[22, 23, 24, 25, 26, 27, 28]我们可以对行和列的两个维度进行切片,例如,在这种情况下,我们可以从第二个元素开始,然后返回到倒数第二个元素,如下所示:
tensor.slice([1, -1], [1, -1]);这将返回:
[ 9, 10, 11, 12, 13 ]
[ 16, 17, 18, 19, 20 ]类型:Tensor 的实例方法
返回:Tensor - 包含所选元素的新张量。
抛出:
- 如果切片输入无效,则会抛出
Error。
| 参数量 | 类型 | 描述 |
|---|---|---|
| ...切片 | number | Array<number> | null | 每个维度的切片规范。
|
tensor.permute(...dims) ⇒ <code> Tensor </code>
根据提供的维度,返回此张量的置换版本。
类型:Tensor 的实例方法
返回:Tensor - 置换后的张量。
| 参数量 | 类型 | 描述 |
|---|---|---|
| ...维度 | 数字 | 要置换的维度。 |
tensor.sum([dim], keepdim) ⇒
返回给定维度 dim 中输入张量每行的总和。
类型:Tensor 的实例方法
返回:求和后的张量
| 参数量 | 类型 | 默认 | 描述 |
|---|---|---|---|
| [dim] | 数字 | | 要缩减的维度。如果为 |
| 保持维度 | boolean | false | 输出张量是否保留 |
tensor.norm([p], [dim], [keepdim]) ⇒ <code> Tensor </code>
返回给定张量的矩阵范数或向量范数。
类型:Tensor 的实例方法
返回:Tensor - 张量的范数。
| 参数量 | 类型 | 默认 | 描述 |
|---|---|---|---|
| [p] | number | string | 'fro' | 范数阶数 |
| [dim] | 数字 | | 指定要计算范数的张量维度。如果 dim 为 None,则范数将计算输入的所有维度。 |
| [keepdim] | boolean | false | 输出张量是否保留维度。 |
tensor.normalize_([p], [dim]) ⇒ <code> Tensor </code>
对指定维度上的输入执行 `L_p` 归一化。就地操作。
类型:Tensor 的实例方法
返回:Tensor - 用于操作链的 this。
| 参数量 | 类型 | 默认 | 描述 |
|---|---|---|---|
| [p] | 数字 | 2 | 范数公式中的指数值 |
| [dim] | 数字 | 1 | 要缩减的维度 |
tensor.normalize([p], [dim]) ⇒ <code> Tensor </code>
对指定维度上的输入执行 `L_p` 归一化。
类型:Tensor 的实例方法
返回:Tensor - 归一化后的张量。
| 参数量 | 类型 | 默认 | 描述 |
|---|---|---|---|
| [p] | 数字 | 2 | 范数公式中的指数值 |
| [dim] | 数字 | 1 | 要缩减的维度 |
tensor.stride() ⇒ <code> Array. < number > </code>
计算并返回此张量的步长。步长是在指定维度 dim 中从一个元素到下一个元素所需的跳跃步数。
类型:Tensor 的实例方法
返回:Array.<number> - 此张量的步长。
tensor.squeeze([dim]) ⇒ <code> Tensor </code>
返回一个张量,其中删除了所有指定大小为 1 的输入维度。
注意:返回的张量与输入张量共享存储空间,因此更改其中一个的内容将更改另一个。如果您想要一个副本,请在压缩之前使用 `tensor.clone()`。
类型:Tensor 的实例方法
返回:Tensor - 压缩后的张量
| 参数量 | 类型 | 默认 | 描述 |
|---|---|---|---|
| [dim] | number | Array<number> | | 如果给定,则仅在指定维度中压缩输入。 |
tensor.squeeze_()
@see Tensor.squeeze 的就地版本
类型:Tensor 的实例方法
tensor.unsqueeze(dim) ⇒ <code> Tensor </code>
返回一个新张量,在指定位置插入大小为一的维度。
注意:返回的张量与此张量共享相同的基础数据。
类型:Tensor 的实例方法
返回:Tensor - 未压缩的张量
| 参数量 | 类型 | 默认 | 描述 |
|---|---|---|---|
| 维度 | 数字 | | 插入单例维度的索引 |
tensor.unsqueeze_()
@see Tensor.unsqueeze 的就地版本
类型:Tensor 的实例方法
tensor.flatten_()
@see Tensor.flatten 的就地版本
类型:Tensor 的实例方法
tensor.flatten(start_dim, end_dim) ⇒ <code> Tensor </code>
通过将输入重塑为一维张量来展平输入。如果传递了 `start_dim` 或 `end_dim`,则只展平从 `start_dim` 开始到 `end_dim` 结束的维度。输入的元素顺序不变。
类型:Tensor 的实例方法
返回:Tensor - 展平后的张量。
| 参数量 | 类型 | 默认 | 描述 |
|---|---|---|---|
| 开始维度 | 数字 | 0 | 要展平的第一个维度 |
| 结束维度 | 数字 | 要展平的最后一个维度 |
tensor.view(...dims) ⇒ <code> Tensor </code>
返回一个新张量,其数据与 self 张量相同,但 形状 不同。
类型:Tensor 的实例方法
返回:Tensor - 数据相同但形状不同的张量
| 参数量 | 类型 | 描述 |
|---|---|---|
| ...维度 | 数字 | 所需大小 |
tensor.gt(val) ⇒ <code> Tensor </code>
逐元素计算输入 > 值。
类型:Tensor 的实例方法
返回:Tensor - 一个布尔张量,当输入大于其他值时为 true,否则为 false。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 值 | 数字 | 要比较的值。 |
tensor.lt(val) ⇒ <code> Tensor </code>
逐元素计算输入 < 值。
类型:Tensor 的实例方法
返回:Tensor - 一个布尔张量,当输入小于其他值时为 true,否则为 false。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 值 | 数字 | 要比较的值。 |
tensor.clamp_()
@see Tensor.clamp 的就地版本
类型:Tensor 的实例方法
tensor.clamp(min, max) ⇒ <code> Tensor </code>
将输入中的所有元素限制在 [min, max] 范围内
类型:Tensor 的实例方法
返回:Tensor - 输出张量。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 最小 | 数字 | 要限制的范围下限 |
| 最大 | 数字 | 要限制的范围上限 |
tensor.round_()
@see Tensor.round 的就地版本
类型:Tensor 的实例方法
tensor.round() ⇒ <code> Tensor </code>
将输入中的元素四舍五入到最近的整数。
类型:Tensor 的实例方法
返回:Tensor - 输出张量。
tensor.to(type) ⇒ <code> Tensor </code>
执行张量数据类型转换。
类型:Tensor 的实例方法
返回:Tensor - 转换后的张量。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 类型 | 数据类型 | 所需的数据类型。 |
utils/tensor.permute(tensor, axes) ⇒ <code> Tensor </code>
根据提供的轴排列张量。
类别: utils/tensor 的静态方法
返回:Tensor - 置换后的张量。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 张量 | 任何 | 要排列的输入张量。 |
| 轴 | 数组 | 张量沿其排列的轴。 |
utils/tensor.interpolate(input, size, mode, align_corners) ⇒ <code> Tensor </code>
将张量插值到给定大小。
类别: utils/tensor 的静态方法
返回: Tensor - 插值后的张量。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 输入 | 张量 | 要插值的输入张量。数据必须是通道优先的(即 [c, h, w]) |
| 尺寸 | Array.<number> | 图像的输出尺寸 |
| 模式 | 字符串 | 插值模式 |
| align_corners | boolean | 是否对齐角点。 |
utils/tensor.interpolate_4d(input, options) ⇒ <code> Promise. < Tensor > </code>
对输入进行降采样/升采样。灵感来自 https://pytorch.ac.cn/docs/stable/generated/torch.nn.functional.interpolate.html。
类别: utils/tensor 的静态方法
返回: Promise.<Tensor> - 插值后的张量。
| 参数量 | 类型 | 默认 | 描述 |
|---|---|---|---|
| 输入 | 张量 | 输入张量 | |
| 选项 | 对象 | 插值的选项 | |
| [options.size] | * | | 输出空间大小。 |
| [options.mode] | "nearest" | "bilinear" | "bicubic" | 'bilinear' | 上采样使用的算法 |
utils/tensor.matmul(a, b) ⇒ <code> Promise. < Tensor > </code>
两个张量的矩阵乘积。灵感来自 https://pytorch.ac.cn/docs/stable/generated/torch.matmul.html
类别: utils/tensor 的静态方法
返回: Promise.<Tensor> - 两个张量的矩阵乘积。
| 参数量 | 类型 | 描述 |
|---|---|---|
| a | 张量 | 第一个乘数张量 |
| b | 张量 | 第二个乘数张量 |
utils/tensor.rfft(x, a) ⇒ <code> Promise. < Tensor > </code>
计算实值输入的一维傅里叶变换。灵感来自 https://pytorch.ac.cn/docs/stable/generated/torch.fft.rfft.html
类别: utils/tensor 的静态方法
返回: Promise.<Tensor> - 输出张量。
| 参数量 | 类型 | 描述 |
|---|---|---|
| x | 张量 | 实数输入张量 |
| a | 张量 | 进行一维实数 FFT 的维度。 |
utils/tensor.topk(x, [k]) ⇒ <code> * </code>
返回给定输入张量的 k 个最大元素。灵感来自 https://pytorch.ac.cn/docs/stable/generated/torch.topk.html
类别: utils/tensor 的静态方法
返回: * - 包含 top-k 元素及其索引的输出元组 (Tensor, LongTensor)。
| 参数量 | 类型 | 描述 |
|---|---|---|
| x | 张量 | 输入张量 |
| [k] | 数字 | "top-k" 中的 k 值 |
utils/tensor.slice(data:, starts:, ends:, axes:, [steps]) ⇒ <code> Promise. < Tensor > </code>
切片多维 float32 张量。
类别: utils/tensor 的静态方法
返回: Promise.<Tensor> - 切片数据张量。
| 参数量 | 类型 | 描述 |
|---|---|---|
| data | 张量 | 要提取切片的数据张量 |
| starts | Array.<number> | axes 中对应轴的起始索引的一维数组 |
| ends | Array.<number> | axes 中对应轴的结束索引(不包含)的一维数组 |
| 轴 | Array.<number> | starts 和 ends 应用的轴的一维数组 |
| [steps] | Array.<number> | axes 中对应轴的切片步长的一维数组。 |
utils/tensor.mean_pooling(last_hidden_state, attention_mask) ⇒ <code> Tensor </code>
对最后一个隐藏状态执行平均池化,然后进行归一化。
类别: utils/tensor 的静态方法
返回: Tensor - 返回形状为 [batchSize, embedDim] 的新张量。
| 参数量 | 类型 | 描述 |
|---|---|---|
| last_hidden_state | 张量 | 形状为 [batchSize, seqLength, embedDim] 的张量 |
| attention_mask | 张量 | 形状为 [batchSize, seqLength] 的张量 |
utils/tensor.layer_norm(input, normalized_shape, options) ⇒ <code> Tensor </code>
对最后某些维度应用层归一化。
类别: utils/tensor 的静态方法
返回:Tensor - 归一化后的张量。
| 参数量 | 类型 | 默认 | 描述 |
|---|---|---|---|
| 输入 | 张量 | 输入张量 | |
| normalized_shape | Array.<number> | 期望输入大小的输入形状 | |
| 选项 | 对象 | 层归一化的选项 | |
| [options.eps] | 数字 | 1e-5 | 为数值稳定性添加到分母的值。 |
utils/tensor.cat(tensors, dim) ⇒ <code> Tensor </code>
沿着指定维度连接张量数组。
类别: utils/tensor 的静态方法
返回: Tensor - 连接后的张量。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 张量 | Array.<Tensor> | 要连接的张量数组。 |
| 维度 | 数字 | 要连接的维度。 |
utils/tensor.stack(tensors, dim) ⇒ <code> Tensor </code>
沿着指定维度堆叠张量数组。
类别: utils/tensor 的静态方法
返回: Tensor - 堆叠后的张量。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 张量 | Array.<Tensor> | 要堆叠的张量数组。 |
| 维度 | 数字 | 要堆叠的维度。 |
utils/tensor.std_mean(input, dim, correction, keepdim) ⇒ <code> Array. < Tensor > </code>
计算由 dim 指定的维度的标准差和均值。dim 可以是单个维度,或为 null 以缩减所有维度。
类别: utils/tensor 的静态方法
返回: Array.<Tensor> - (std, mean) 张量的元组。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 输入 | 张量 | 输入张量 |
| 维度 | number | null | 要缩减的维度。如果为 None,则缩减所有维度。 |
| 校正 | 数字 | 样本大小与样本自由度之间的差值。默认为贝塞尔校正,correction=1。 |
| 保持维度 | boolean | 输出张量是否保留 dim。 |
utils/tensor.mean(input, dim, keepdim) ⇒ <code> Tensor </code>
返回给定维度 dim 中输入张量每行的平均值。
类别: utils/tensor 的静态方法
返回: Tensor - 沿着指定维度取平均值的新张量。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 输入 | 张量 | 输入张量。 |
| 维度 | number | null | 要缩减的维度。 |
| 保持维度 | boolean | 输出张量是否保留 dim。 |
utils/tensor.full(size, fill_value) ⇒ <code> Tensor </code>
创建一个大小为 size 且填充了 fill_value 的张量。张量的数据类型根据 fill_value 推断。
类别: utils/tensor 的静态方法
返回: Tensor - 填充后的张量。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 尺寸 | Array.<number> | 定义输出张量形状的整数序列。 |
| fill_value | number | bigint | boolean | 用于填充输出张量的值。 |
utils/tensor.ones(size) ⇒ <code> Tensor </code>
返回一个填充了标量值 1 的张量,其形状由可变参数 size 定义。
类别: utils/tensor 的静态方法
返回: Tensor - 全为 1 的张量。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 尺寸 | Array.<number> | 定义输出张量形状的整数序列。 |
utils/tensor.ones_like(tensor) ⇒ <code> Tensor </code>
返回一个填充了标量值 1 的张量,其大小与输入张量相同。
类别: utils/tensor 的静态方法
返回: Tensor - 全为 1 的张量。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 张量 | 张量 | 输入张量的大小将决定输出张量的大小。 |
utils/tensor.zeros(size) ⇒ <code> Tensor </code>
返回一个填充了标量值 0 的张量,其形状由可变参数 size 定义。
类别: utils/tensor 的静态方法
返回: Tensor - 全为 0 的张量。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 尺寸 | Array.<number> | 定义输出张量形状的整数序列。 |
utils/tensor.zeros_like(tensor) ⇒ <code> Tensor </code>
返回一个填充了标量值 0 的张量,其大小与输入张量相同。
类别: utils/tensor 的静态方法
返回: Tensor - 全为 0 的张量。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 张量 | 张量 | 输入张量的大小将决定输出张量的大小。 |
utils/tensor.rand(size) ⇒ <code> Tensor </code>
返回一个填充了来自区间 [0, 1) 的均匀分布随机数的张量
类别: utils/tensor 的静态方法
返回: Tensor - 随机张量。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 尺寸 | Array.<number> | 定义输出张量形状的整数序列。 |
utils/tensor.quantize_embeddings(tensor, precision) ⇒ <code> Tensor </code>
将嵌入张量量化为二进制或无符号二进制精度。
类别: utils/tensor 的静态方法
返回: Tensor - 量化后的张量。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 张量 | 张量 | 要量化的张量。 |
| 精度 | 'binary' | 'ubinary' | 用于量化的精度。 |
utils/tensor~args[0] : <code> ONNXTensor </code>
类别: utils/tensor 的内部属性
utils/tensor~reshape(data, dimensions) ⇒ <code> * </code>
根据提供的维度,将一维数组重塑为 N 维数组。
类别: utils/tensor 的内部方法
返回: * - 重塑后的数组。
| 参数量 | 类型 | 描述 |
|---|---|---|
| data | Array<T> | DataArray | 要重塑的输入数组。 |
| 维度 | DIM | 目标形状/维度。 |
示例
reshape([10 ], [1 ]); // Type: number[] Value: [10]
reshape([1, 2, 3, 4 ], [2, 2 ]); // Type: number[][] Value: [[1, 2], [3, 4]]
reshape([1, 2, 3, 4, 5, 6, 7, 8], [2, 2, 2]); // Type: number[][][] Value: [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
reshape([1, 2, 3, 4, 5, 6, 7, 8], [4, 2 ]); // Type: number[][] Value: [[1, 2], [3, 4], [5, 6], [7, 8]]reshape~reshapedArray : <code> any </code>
类别: reshape 的内部属性
utils/tensor~reduce_helper(callbackfn, input, dim, keepdim) ⇒ <code> * </code>
类别: utils/tensor 的内部方法
返回: * - 缩减后的张量数据。
| 参数量 | 类型 | 默认 | 描述 |
|---|---|---|---|
| callbackfn | * | ||
| 输入 | 张量 | 输入张量。 | |
| 维度 | number | null | | 要缩减的维度。 |
| 保持维度 | boolean | false | 输出张量是否保留 dim。 |
utils/tensor~DataArray : <code> * </code>
类别: utils/tensor 的内部类型定义
utils/tensor~NestArray : <code> * </code>
这会创建给定类型和深度的嵌套数组(请参阅示例)。
类别: utils/tensor 的内部类型定义
示例
NestArray<string, 1>; // string[]示例
NestArray<number, 2>; // number[][]示例
NestArray<string, 3>; // string[][][] etc.< > 在 GitHub 上更新