Nhúng

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

Một lớp nhúng.

Embedding thực sự là một bảng tra cứu ánh xạ các chỉ mục từ một từ vựng cố định sang các biểu diễn vectơ có kích thước cố định (dày đặc), ví dụ [[0], [3]] -> [[0.25, 0.1], [0.6, -0.2]] .

  • Một bảng tra cứu có thể học được để ánh xạ các chỉ số từ vựng tới các biểu diễn vectơ dày đặc của chúng.

    Tuyên ngôn

    public var embeddings: Tensor<Scalar>
  • Tạo một lớp Embedding với các phần nhúng hình dạng được khởi tạo ngẫu nhiên (vocabularySize, embeddingSize) để mỗi chỉ mục từ vựng được cung cấp một biểu diễn vectơ.

    Tuyên ngôn

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

    Thông số

    vocabularySize

    Số lượng các chỉ số (từ) riêng biệt trong từ vựng. Số này phải là chỉ số nguyên lớn nhất cộng với một.

    embeddingSize

    Số lượng mục trong một biểu diễn vectơ nhúng đơn.

    embeddingsInitializer

    Trình khởi tạo để sử dụng cho các tham số nhúng.

  • Tạo một lớp Embedding từ các phần nhúng được cung cấp. Hữu ích cho việc giới thiệu các phần nhúng đã được huấn luyện trước vào một mô hình.

    Tuyên ngôn

    public init(embeddings: Tensor<Scalar>)

    Thông số

    embeddings

    Bảng nhúng được huấn luyện trước.

  • Trả về một đầu ra bằng cách thay thế từng chỉ mục trong đầu vào bằng biểu diễn vectơ dày đặc tương ứng.

    Tuyên ngôn

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

    Giá trị trả về

    Tenxor được tạo bằng cách thay thế các chỉ số đầu vào bằng biểu diễn vectơ của chúng.