VBuffer<T> 构造函数

定义

重载

VBuffer<T>(Int32, T[], Int32[])

构造密集表示形式。 indices数组通常未指定,但如果指定,则应将其视为要保留的缓冲区,以便可能使用。

VBuffer<T>(Int32, Int32, T[], Int32[])

构造可能稀疏的向量表示形式。

VBuffer<T>(Int32, T[], Int32[])

构造密集表示形式。 indices数组通常未指定,但如果指定,则应将其视为要保留的缓冲区,以便可能使用。

public VBuffer (int length, T[] values, int[] indices = default);
new Microsoft.ML.Data.VBuffer<'T> : int * 'T[] * int[] -> Microsoft.ML.Data.VBuffer<'T>
Public Sub New (length As Integer, values As T(), Optional indices As Integer() = Nothing)

参数

length
Int32

生成的实例的逻辑长度。

values
T[]

要使用的值。 这至少必须只要 length。 如果 length 为 0,则这是 null合法的。 构造的缓冲区获取此数组的所有权。

indices
Int32[]

内部索引缓冲区。 由于此构造函数用于密集表示形式,因此不会立即有用,但它确实提供了一个缓冲区,以便可以重复使用以避免分配。 这主要是非 null 的情况,你想要生成密集 VBuffer<T>,但你碰巧有一个索引数组“左上方”,你不想不必要地丢失。

注解

生成的结构获取传入的数组的所有权,因此它们将来不应用于其他目的。

适用于

VBuffer<T>(Int32, Int32, T[], Int32[])

构造可能稀疏的向量表示形式。

public VBuffer (int length, int count, T[] values, int[] indices);
new Microsoft.ML.Data.VBuffer<'T> : int * int * 'T[] * int[] -> Microsoft.ML.Data.VBuffer<'T>
Public Sub New (length As Integer, count As Integer, values As T(), indices As Integer())

参数

length
Int32

构造缓冲区的长度。

count
Int32

显式条目的计数。 这必须介于 0 和 length两者之间(含)。 如果它等于 length 结果是密集向量,如果更少,则为稀疏向量。

values
T[]

要使用的值。 这至少必须只要 count。 如果 count 为 0,则这是 null合法的。

indices
Int32[]

要使用的索引。 如果我们正在构造密集表示形式,或者count为 0,则可以。null 否则,这至少必须只要 count

注解

生成的结构获取传入的数组的所有权,因此它们将来不应用于其他目的。

适用于