جاسازی

public struct Embedding<Scalar> : Module where Scalar : TensorFlowFloatingPoint

یک لایه تعبیه شده

Embedding در واقع یک جدول جستجو است که شاخص‌ها را از یک واژگان ثابت به نمایش‌های برداری با اندازه ثابت (متراکم) ترسیم می‌کند، به عنوان مثال [[0], [3]] -> [[0.25, 0.1], [0.6, -0.2]] .

  • یک جدول جستجوی قابل یادگیری که شاخص های واژگان را به نمایش های برداری متراکم آنها ترسیم می کند.

    اعلام

    public var embeddings: Tensor<Scalar>
  • یک لایه Embedding با تعبیه‌های شکلی (vocabularySize, embeddingSize) به طور تصادفی اولیه ایجاد می‌کند تا به هر فهرست واژگان یک نمایش برداری داده شود.

    اعلام

    public init(
      vocabularySize: Int,
      embeddingSize: Int,
      embeddingsInitializer: ParameterInitializer<Scalar> = { Tensor(randomUniform: $0) }
    )

    مولفه های

    vocabularySize

    تعداد شاخص های متمایز (کلمات) در واژگان. این عدد باید بزرگترین شاخص عدد صحیح به اضافه یک باشد.

    embeddingSize

    تعداد ورودی‌ها در یک نمایش بردار جاسازی شده.

    embeddingsInitializer

    آغازگر برای استفاده برای پارامترهای جاسازی.

  • یک لایه Embedding از جاسازی های ارائه شده ایجاد می کند. برای معرفی تعبیه های از پیش آموزش دیده در یک مدل مفید است.

    اعلام

    public init(embeddings: Tensor<Scalar>)

    مولفه های

    embeddings

    جدول تعبیه شده از قبل آموزش دیده.

  • با جایگزین کردن هر شاخص در ورودی با نمایش بردار متراکم مربوطه، خروجی را برمی‌گرداند.

    اعلام

    @differentiable(wrt: self)
    public func forward(_ input: Tensor<Int32>) -> Tensor<Scalar>

    ارزش بازگشتی

    تانسور ایجاد شده با جایگزینی شاخص های ورودی با نمایش های برداری آنها.