Hàm

Các chức năng sau đây có sẵn trên toàn cầu.

  • Trả về tổn thất L1 giữa dự đoán và kỳ vọng.

    Tuyên ngôn

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func l1Loss<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>
    ) -> Tensor<Scalar>

    Thông số

    predicted

    Đầu ra được dự đoán từ mạng lưới thần kinh.

    expected

    Các giá trị mong đợi, tức là các mục tiêu, tương ứng với kết quả đầu ra chính xác.

  • Trả về tổn thất L2 giữa dự đoán và kỳ vọng.

    Tuyên ngôn

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func l2Loss<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>
    ) -> Tensor<Scalar>

    Thông số

    predicted

    Đầu ra được dự đoán từ mạng lưới thần kinh.

    expected

    Các giá trị mong đợi, tức là các mục tiêu, tương ứng với kết quả đầu ra chính xác.

  • Trả về tổn thất bản lề giữa dự đoán và kỳ vọng.

    Tuyên ngôn

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func hingeLoss<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>
    ) -> Tensor<Scalar>

    Thông số

    predicted

    Đầu ra được dự đoán từ mạng lưới thần kinh.

    expected

    Các giá trị mong đợi, tức là các mục tiêu, tương ứng với kết quả đầu ra chính xác.

  • Trả về tổn thất bản lề bình phương giữa dự đoán và kỳ vọng.

    Tuyên ngôn

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func squaredHingeLoss<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>
    ) -> Tensor<Scalar>

    Thông số

    predicted

    Đầu ra được dự đoán từ mạng lưới thần kinh.

    expected

    Các giá trị mong đợi, tức là các mục tiêu, tương ứng với kết quả đầu ra chính xác.

  • Trả về tổn thất bản lề được phân loại giữa dự đoán và kỳ vọng.

    Tuyên ngôn

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func categoricalHingeLoss<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>
    ) -> Tensor<Scalar>

    Thông số

    predicted

    Đầu ra được dự đoán từ mạng lưới thần kinh.

    expected

    Các giá trị mong đợi, tức là các mục tiêu, tương ứng với kết quả đầu ra chính xác.

  • Trả về logarit của cosin hyperbol của sai số giữa dự đoán và kỳ vọng.

    Tuyên ngôn

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func logCoshLoss<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>
    ) -> Tensor<Scalar>

    Thông số

    predicted

    Đầu ra được dự đoán từ mạng lưới thần kinh.

    expected

    Các giá trị mong đợi, tức là các mục tiêu, tương ứng với kết quả đầu ra chính xác.

  • Trả về tổn thất Poisson giữa dự đoán và kỳ vọng.

    Tuyên ngôn

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func poissonLoss<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>
    ) -> Tensor<Scalar>

    Thông số

    predicted

    Đầu ra được dự đoán từ mạng lưới thần kinh.

    expected

    Các giá trị mong đợi, tức là các mục tiêu, tương ứng với kết quả đầu ra chính xác.

  • Trả về phân kỳ Kullback-Leibler (phân kỳ KL) giữa kỳ vọng và dự đoán. Cho hai phân phối pq , phân kỳ KL tính p * log(p / q) .

    Tuyên ngôn

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func kullbackLeiblerDivergence<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>
    ) -> Tensor<Scalar>

    Thông số

    predicted

    Đầu ra được dự đoán từ mạng lưới thần kinh.

    expected

    Các giá trị mong đợi, tức là các mục tiêu, tương ứng với kết quả đầu ra chính xác.

  • Trả về entropy chéo softmax (entropy chéo phân loại) giữa nhật ký và nhãn.

    Tuyên ngôn

    @differentiable(wrt: logits)
    public func softmaxCrossEntropy<Scalar: TensorFlowFloatingPoint>(
      logits: Tensor<Scalar>,
      probabilities: Tensor<Scalar>
    ) -> Tensor<Scalar>

    Thông số

    logits

    Đầu ra được mã hóa một lần từ mạng lưới thần kinh.

    labels

    Các chỉ số (không có chỉ mục) của kết quả đầu ra chính xác.

  • Trả về entropy chéo sigmoid (entropy chéo nhị phân) giữa nhật ký và nhãn.

    Tuyên ngôn

    @differentiable(wrt: logits)
    @differentiable(wrt: (logits, labels)
    public func sigmoidCrossEntropy<Scalar: TensorFlowFloatingPoint>(
      logits: Tensor<Scalar>,
      labels: Tensor<Scalar>
    ) -> Tensor<Scalar>

    Thông số

    logits

    Đầu ra chưa được định tỷ lệ của mạng lưới thần kinh.

    labels

    Các giá trị nguyên tương ứng với kết quả đầu ra chính xác.

  • Trả về một tensor có cùng hình dạng và các đại số vô hướng như tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func identity<Scalar>(_ x: Tensor<Scalar>) -> Tensor<Scalar> where Scalar : TensorFlowScalar
  • Gọi bao đóng đã cho trong một ngữ cảnh có mọi thứ giống hệt với ngữ cảnh hiện tại ngoại trừ giai đoạn học nhất định.

    Tuyên ngôn

    public func withContext<R>(_ context: Context, _ body: () throws -> R) rethrows -> R

    Thông số

    context

    Một bối cảnh sẽ được đặt trước khi bao đóng được gọi và được khôi phục sau khi bao đóng trở lại.

    body

    Một sự đóng cửa vô hiệu. Nếu bao đóng có giá trị trả về, giá trị đó cũng được sử dụng làm giá trị trả về của hàm withContext(_:_:) .

    Giá trị trả về

    Giá trị trả về, nếu có, của body bao đóng.

  • Gọi bao đóng đã cho trong một ngữ cảnh có mọi thứ giống hệt với ngữ cảnh hiện tại ngoại trừ giai đoạn học nhất định.

    Tuyên ngôn

    public func withLearningPhase<R>(
      _ learningPhase: LearningPhase,
      _ body: () throws -> R
    ) rethrows -> R

    Thông số

    learningPhase

    Một giai đoạn học tập sẽ được thiết lập trước khi bao đóng được gọi và được khôi phục sau khi bao đóng trở lại.

    body

    Một sự đóng cửa vô hiệu. Nếu bao đóng có giá trị trả về thì giá trị đó cũng được dùng làm giá trị trả về của withLearningPhase(_:_:) .

    Giá trị trả về

    Giá trị trả về, nếu có, của body bao đóng.

  • Gọi bao đóng đã cho trong một ngữ cảnh có mọi thứ giống hệt với ngữ cảnh hiện tại ngoại trừ hạt giống ngẫu nhiên đã cho.

    Tuyên ngôn

    public func withRandomSeedForTensorFlow<R>(
      _ randomSeed: TensorFlowSeed,
      _ body: () throws -> R
    ) rethrows -> R

    Thông số

    randomSeed

    Một hạt giống ngẫu nhiên sẽ được đặt trước khi bao đóng được gọi và được khôi phục sau khi bao đóng trở lại.

    body

    Một sự đóng cửa vô hiệu. Nếu bao đóng có giá trị trả về, giá trị đó cũng được sử dụng làm giá trị trả về của hàm withRandomSeedForTensorFlow(_:_:) .

    Giá trị trả về

    Giá trị trả về, nếu có, của body bao đóng.

  • Gọi bao đóng đã cho trong một ngữ cảnh có mọi thứ giống hệt với ngữ cảnh hiện tại ngoại trừ trình tạo số ngẫu nhiên đã cho.

    Tuyên ngôn

    public func withRandomNumberGeneratorForTensorFlow<G: RandomNumberGenerator, R>(
      _ randomNumberGenerator: inout G,
      _ body: () throws -> R
    ) rethrows -> R

    Thông số

    randomNumberGenerator

    Trình tạo số ngẫu nhiên sẽ được đặt trước khi bao đóng được gọi và được khôi phục sau khi bao đóng trở lại.

    body

    Một sự đóng cửa vô hiệu. Nếu bao đóng có giá trị trả về, giá trị đó cũng được sử dụng làm giá trị trả về của hàm withRandomNumberGeneratorForTensorFlow(_:_:) .

    Giá trị trả về

    Giá trị trả về, nếu có, của body bao đóng.

  • Tuyên ngôn

    public func zip<T: TensorGroup, U: TensorGroup>(
      _ dataset1: Dataset<T>, _ dataset2: Dataset<U>
    ) -> Dataset<Zip2TensorGroup<T, U>>
  • LazyTensorBarrier đảm bảo tất cả các tensor trực tiếp (trên thiết bị nếu được cung cấp) đều được lên lịch và chạy. Nếu chờ được đặt thành đúng, lệnh gọi này sẽ chặn cho đến khi quá trình tính toán hoàn tất.

    Tuyên ngôn

    public func LazyTensorBarrier(on device: Device? = nil, devices: [Device] = [], wait: Bool = false)
  • Tuyên ngôn

    public func valueWithGradient<T, R>(
      at x: T,
      in f: @differentiable (T) -> Tensor<R>
    ) -> (value: Tensor<R>, gradient: T.TangentVector)
    where T: Differentiable, R: TensorFlowFloatingPoint
  • Tuyên ngôn

    public func valueWithGradient<T, U, R>(
      at x: T,
      _ y: U,
      in f: @differentiable (T, U) -> Tensor<R>
    ) -> (value: Tensor<R>, gradient: (T.TangentVector, U.TangentVector))
    where T: Differentiable, U: Differentiable, R: TensorFlowFloatingPoint
  • Tuyên ngôn

    public func valueWithGradient<T, U, V, R>(
      at x: T,
      _ y: U,
      _ z: V,
      in f: @differentiable (T, U, V) -> Tensor<R>
    ) -> (value: Tensor<R>, gradient: (T.TangentVector, U.TangentVector, V.TangentVector))
    where T: Differentiable, U: Differentiable, V: Differentiable, R: TensorFlowFloatingPoint
  • Tuyên ngôn

    public func valueWithGradient<T, R>(
      of f: @escaping @differentiable (T) -> Tensor<R>
    ) -> (T) -> (value: Tensor<R>, gradient: T.TangentVector)
    where T: Differentiable, R: TensorFlowFloatingPoint
  • Tuyên ngôn

    public func valueWithGradient<T, U, R>(
      of f: @escaping @differentiable (T, U) -> Tensor<R>
    ) -> (T, U) -> (value: Tensor<R>, gradient: (T.TangentVector, U.TangentVector))
    where T: Differentiable, U: Differentiable, R: TensorFlowFloatingPoint
  • Tuyên ngôn

    public func valueWithGradient<T, U, V, R>(
      of f: @escaping @differentiable (T, U, V) -> Tensor<R>
    ) -> (T, U, V) -> (
      value: Tensor<R>,
      gradient: (T.TangentVector, U.TangentVector, V.TangentVector)
    )
    where T: Differentiable, U: Differentiable, V: Differentiable, R: TensorFlowFloatingPoint
  • Tuyên ngôn

    public func gradient<T, R>(
      at x: T,
      in f: @differentiable (T) -> Tensor<R>
    ) -> T.TangentVector where T: Differentiable, R: TensorFlowFloatingPoint
  • Tuyên ngôn

    public func gradient<T, U, R>(
      at x: T,
      _ y: U,
      in f: @differentiable (T, U) -> Tensor<R>
    ) -> (T.TangentVector, U.TangentVector)
    where T: Differentiable, U: Differentiable, R: TensorFlowFloatingPoint
  • Tuyên ngôn

    public func gradient<T, U, V, R>(
      at x: T,
      _ y: U,
      _ z: V,
      in f: @differentiable (T, U, V) -> Tensor<R>
    ) -> (T.TangentVector, U.TangentVector, V.TangentVector)
    where T: Differentiable, U: Differentiable, V: Differentiable, R: TensorFlowFloatingPoint
  • Tuyên ngôn

    public func gradient<T, R>(
      of f: @escaping @differentiable (T) -> Tensor<R>
    ) -> (T) -> T.TangentVector where T: Differentiable, R: TensorFlowFloatingPoint
  • Tuyên ngôn

    public func gradient<T, U, R>(
      of f: @escaping @differentiable (T, U) -> Tensor<R>
    ) -> (T, U) -> (T.TangentVector, U.TangentVector)
    where T: Differentiable, U: Differentiable, R: TensorFlowFloatingPoint
  • Tuyên ngôn

    public func gradient<T, U, V, R>(
      of f: @escaping @differentiable (T, U, V) -> Tensor<R>
    ) -> (T, U, V) -> (T.TangentVector, U.TangentVector, V.TangentVector)
    where T: Differentiable, U: Differentiable, V: Differentiable, R: TensorFlowFloatingPoint
  • Làm cho một hàm được tính toán lại trong pullback của nó, được gọi là “điểm kiểm tra” trong phân biệt tự động truyền thống.

    Tuyên ngôn

    public func withRecomputationInPullbacks<T, U>(
      _ body: @escaping @differentiable (T) -> U
    ) -> @differentiable (T) -> U where T : Differentiable, U : Differentiable
  • Tạo một hàm khả vi từ hàm tích vectơ Jacobian.

    Tuyên ngôn

    public func differentiableFunction<T : Differentiable, R : Differentiable>(
      from vjp: @escaping (T)
               -> (value: R, pullback: (R.TangentVector) -> T.TangentVector)
    ) -> @differentiable (T) -> R
  • Tạo một hàm khả vi từ hàm tích vectơ Jacobian.

    Tuyên ngôn

    public func differentiableFunction<T, U, R>(
      from vjp: @escaping (T, U)
               -> (value: R, pullback: (R.TangentVector)
                 -> (T.TangentVector, U.TangentVector))
    ) -> @differentiable (T, U) -> R
  • Trả về x giống như một hàm nhận dạng. Khi được sử dụng trong ngữ cảnh trong đó x được lấy đạo hàm theo, hàm này sẽ không tạo ra bất kỳ đạo hàm nào tại x .

    Tuyên ngôn

    @_semantics("autodiff.nonvarying")
    public func withoutDerivative<T>(at x: T) -> T
  • Áp dụng body đóng đã cho cho x . Khi được sử dụng trong ngữ cảnh trong đó x được lấy đạo hàm theo, hàm này sẽ không tạo ra bất kỳ đạo hàm nào tại x .

    Tuyên ngôn

    @_semantics("autodiff.nonvarying")
    public func withoutDerivative<T, R>(at x: T, in body: (T) -> R) -> R
  • Thực hiện việc đóng, làm cho các hoạt động TensorFlow chạy trên một loại thiết bị cụ thể.

    Tuyên ngôn

    public func withDevice<R>(
      _ kind: DeviceKind,
      _ index: UInt = 0,
      perform body: () throws -> R
    ) rethrows -> R

    Thông số

    kind

    Một loại thiết bị để chạy các hoạt động TensorFlow.

    index

    Thiết bị để chạy các hoạt động.

    body

    Một bao đóng có các hoạt động TensorFlow sẽ được thực thi trên loại thiết bị được chỉ định.

  • Thực hiện việc đóng, làm cho các hoạt động TensorFlow chạy trên một thiết bị có tên cụ thể.

    Một số ví dụ về tên thiết bị:

    • “/device:CPU:0”: CPU của máy bạn.
    • “/GPU:0”: Ký hiệu ngắn gọn cho GPU đầu tiên trên máy của bạn được hiển thị với TensorFlow
    • “/job:localhost/replica:0/task:0/device:GPU:1”: Tên đủ điều kiện của GPU thứ hai trên máy của bạn mà TensorFlow có thể nhìn thấy.

    Tuyên ngôn

    public func withDevice<R>(named name: String, perform body: () throws -> R) rethrows -> R

    Thông số

    name

    Tên thiết bị.

    body

    Một bao đóng có các hoạt động TensorFlow sẽ được thực thi trên loại thiết bị được chỉ định.

  • Thực hiện việc đóng, cho phép TensorFlow thực hiện các hoạt động TensorFlow trên bất kỳ thiết bị nào. Điều này sẽ khôi phục hành vi vị trí mặc định.

    Tuyên ngôn

    public func withDefaultDevice<R>(perform body: () throws -> R) rethrows -> R

    Thông số

    body

    Một bao đóng có các hoạt động TensorFlow sẽ được thực thi trên loại thiết bị được chỉ định.

  • Thay đổi kích thước hình ảnh theo kích thước bằng phương pháp đã chỉ định.

    điều kiện tiên quyết

    Hình ảnh phải có thứ hạng 3 hoặc 4 .

    điều kiện tiên quyết

    Kích thước phải dương.

    Tuyên ngôn

    @differentiable(wrt: images)
    public func resize(
      images: Tensor<Float>,
      size: (newHeight: Int, newWidth: Int),
      method: ResizeMethod = .bilinear,
      antialias: Bool = false
    ) -> Tensor<Float>

    Thông số

    images

    Tensor 4-D có hình dạng [batch, height, width, channels] hoặc Tensor 3-D có hình dạng [height, width, channels] .

    size

    Kích thước mới của hình ảnh.

    method

    Phương pháp thay đổi kích thước. Giá trị mặc định là .bilinear .

    antialias

    Nếu true , hãy sử dụng bộ lọc khử răng cưa khi lấy mẫu hình ảnh xuống.

  • Thay đổi kích thước hình ảnh theo kích thước bằng cách sử dụng phép nội suy vùng.

    điều kiện tiên quyết

    Hình ảnh phải có thứ hạng 3 hoặc 4 .

    điều kiện tiên quyết

    Kích thước phải dương.

    Tuyên ngôn

    public func resizeArea<Scalar: TensorFlowNumeric>(
      images: Tensor<Scalar>,
      size: (newHeight: Int, newWidth: Int),
      alignCorners: Bool = false
    ) -> Tensor<Float>

    Thông số

    images

    Tensor 4-D có hình dạng [batch, height, width, channels] hoặc Tensor 3-D có hình dạng [height, width, channels] .

    size

    Kích thước mới của hình ảnh.

  • Trả về độ giãn 2-D với đầu vào, bộ lọc, bước tiến và phần đệm được chỉ định.

    điều kiện tiên quyết

    input phải có hạng 4 .

    điều kiện tiên quyết

    filter phải có hạng 3 .

    Tuyên ngôn

    @differentiable(wrt: (input, filter)
    public func dilation2D<Scalar: TensorFlowFloatingPoint>(
      _ input: Tensor<Scalar>,
      filter: Tensor<Scalar>,
      strides: (Int, Int, Int, Int) = (1, 1, 1, 1),
      rates: (Int, Int, Int, Int) = (1, 1, 1, 1),
      padding: Padding = .valid
    ) -> Tensor<Scalar>

    Thông số

    input

    Đầu vào.

    filter

    Bộ lọc giãn nở.

    strides

    Các bước tiến của bộ lọc trượt cho từng chiều của đầu vào.

    padding

    Phần đệm cho hoạt động

    rates

    Tỷ lệ giãn nở cho từng chiều của đầu vào.

  • Trả về phép xói 2-D với đầu vào, bộ lọc, bước tiến và phần đệm được chỉ định.

    điều kiện tiên quyết

    input phải có hạng 4 .

    điều kiện tiên quyết

    filter phải có hạng 3.

    Tuyên ngôn

    @differentiable(wrt: (input, filter)
    public func erosion2D<Scalar: TensorFlowFloatingPoint>(
      _ input: Tensor<Scalar>,
      filter: Tensor<Scalar>,
      strides: (Int, Int, Int, Int) = (1, 1, 1, 1),
      rates: (Int, Int, Int, Int) = (1, 1, 1, 1),
      padding: Padding = .valid
    ) -> Tensor<Scalar>

    Thông số

    input

    Đầu vào.

    filter

    Bộ lọc xói mòn

    strides

    Các bước tiến của bộ lọc trượt cho từng chiều của đầu vào.

    padding

    Phần đệm cho hoạt động

    rates

    Tỷ lệ giãn nở cho từng chiều của đầu vào.

  • Trả về hàm tạo tensor bằng cách khởi tạo tất cả các giá trị của nó về số 0.

    Tuyên ngôn

    public func zeros<Scalar>() -> ParameterInitializer<Scalar> where Scalar : TensorFlowFloatingPoint
  • Trả về hàm tạo tensor bằng cách khởi tạo tất cả các giá trị của nó thành giá trị được cung cấp.

    Tuyên ngôn

    public func constantInitializer<Scalar: TensorFlowFloatingPoint>(
      value: Scalar
    ) -> ParameterInitializer<Scalar>
  • Trả về hàm tạo tensor bằng cách khởi tạo nó với giá trị được cung cấp. Lưu ý rằng việc phát sóng giá trị được cung cấp không được hỗ trợ.

    Tuyên ngôn

    public func constantInitializer<Scalar: TensorFlowFloatingPoint>(
      value: Tensor<Scalar>
    ) -> ParameterInitializer<Scalar>
  • Trả về hàm tạo ra một tenxơ bằng cách thực hiện khởi tạo thống nhất Glorot (Xavier) cho hình dạng đã chỉ định, lấy mẫu ngẫu nhiên các giá trị vô hướng từ phân bố đồng đều giữa -limitlimit , được tạo bởi trình tạo số ngẫu nhiên mặc định, trong đó giới hạn là sqrt(6 / (fanIn + fanOut))fanIn / fanOut biểu thị số lượng tính năng đầu vào và đầu ra nhân với trường tiếp nhận, nếu có.

    Tuyên ngôn

    public func glorotUniform<Scalar: TensorFlowFloatingPoint>(
      seed: TensorFlowSeed = Context.local.randomSeed
    ) -> ParameterInitializer<Scalar>
  • Trả về một hàm tạo ra một tenxơ bằng cách thực hiện khởi tạo chuẩn Glorot (Xavier) cho hình dạng đã chỉ định, lấy mẫu ngẫu nhiên các giá trị vô hướng từ phân bố chuẩn bị cắt cụt tập trung vào 0 với độ lệch chuẩn sqrt(2 / (fanIn + fanOut)) , trong đó fanIn / fanOut biểu thị số lượng tính năng đầu vào và đầu ra nhân với kích thước trường tiếp nhận, nếu có.

    Tuyên ngôn

    public func glorotNormal<Scalar: TensorFlowFloatingPoint>(
      seed: TensorFlowSeed = Context.local.randomSeed
    ) -> ParameterInitializer<Scalar>
  • Trả về hàm tạo ra một tenxơ bằng cách thực hiện khởi tạo đồng nhất He (Kaiming) cho hình dạng đã chỉ định, lấy mẫu ngẫu nhiên các giá trị vô hướng từ phân bố đồng đều giữa -limitlimit , được tạo bởi trình tạo số ngẫu nhiên mặc định, trong đó giới hạn là sqrt(6 / fanIn)fanIn biểu thị số lượng tính năng đầu vào nhân với trường tiếp nhận, nếu có.

    Tuyên ngôn

    public func heUniform<Scalar: TensorFlowFloatingPoint>(
      seed: TensorFlowSeed = Context.local.randomSeed
    ) -> ParameterInitializer<Scalar>
  • Trả về hàm tạo ra một tenxơ bằng cách thực hiện khởi tạo chuẩn He (Kaiming) cho hình dạng đã chỉ định, lấy mẫu ngẫu nhiên các giá trị vô hướng từ phân bố chuẩn bị cắt cụt có tâm ở 0 với độ lệch chuẩn sqrt(2 / fanIn) , trong đó fanIn đại diện cho số lượng đặc điểm đầu vào nhân với kích thước trường tiếp nhận, nếu có.

    Tuyên ngôn

    public func heNormal<Scalar: TensorFlowFloatingPoint>(
      seed: TensorFlowSeed = Context.local.randomSeed
    ) -> ParameterInitializer<Scalar>
  • Trả về hàm tạo ra một tenxơ bằng cách thực hiện khởi tạo đồng nhất LeCun cho hình dạng đã chỉ định, lấy mẫu ngẫu nhiên các giá trị vô hướng từ phân bố đồng đều giữa -limitlimit , được tạo bởi trình tạo số ngẫu nhiên mặc định, trong đó giới hạn là sqrt(3 / fanIn)fanIn đại diện cho số lượng tính năng đầu vào nhân với trường tiếp nhận, nếu có.

    Tuyên ngôn

    public func leCunUniform<Scalar: TensorFlowFloatingPoint>(
      seed: TensorFlowSeed = Context.local.randomSeed
    ) -> ParameterInitializer<Scalar>
  • Trả về một hàm tạo ra một tenxơ bằng cách thực hiện khởi tạo chuẩn LeCun cho hình dạng đã chỉ định, lấy mẫu ngẫu nhiên các giá trị vô hướng từ phân phối chuẩn bị cắt cụt có tâm ở 0 với độ lệch chuẩn sqrt(1 / fanIn) , trong đó fanIn biểu thị số tính năng đầu vào nhân với kích thước trường tiếp nhận, nếu có.

    Tuyên ngôn

    public func leCunNormal<Scalar: TensorFlowFloatingPoint>(
      seed: TensorFlowSeed = Context.local.randomSeed
    ) -> ParameterInitializer<Scalar>
  • Trả về hàm tạo ra một tenxơ bằng cách khởi tạo ngẫu nhiên tất cả các giá trị của nó từ phân bố Chuẩn bị cắt cụt. Các giá trị được tạo tuân theo Phân phối chuẩn với meanstandardDeviation chuẩn, ngoại trừ các giá trị có độ lớn lớn hơn hai độ lệch chuẩn so với giá trị trung bình sẽ bị loại bỏ và lấy mẫu lại.

    Tuyên ngôn

    public func truncatedNormalInitializer<Scalar: TensorFlowFloatingPoint>(
      mean: Tensor<Scalar> = Tensor<Scalar>(0),
      standardDeviation: Tensor<Scalar> = Tensor<Scalar>(1),
      seed: TensorFlowSeed = Context.local.randomSeed
    ) -> ParameterInitializer<Scalar>

    Thông số

    mean

    Giá trị trung bình của phân phối chuẩn.

    standardDeviation

    Độ lệch chuẩn của phân phối chuẩn.

    Giá trị trả về

    Một hàm khởi tạo tham số bình thường bị cắt ngắn.

  • Tuyên ngôn

    public func == (lhs: TFETensorHandle, rhs: TFETensorHandle) -> Bool
  • Trả về một ma trận nhận dạng hoặc một loạt ma trận.

    Tuyên ngôn

    public func eye<Scalar: Numeric>(
      rowCount: Int,
      columnCount: Int? = nil,
      batchShape: [Int] = [],
      on device: Device = .default
    ) -> Tensor<Scalar>

    Thông số

    rowCount

    Số lượng hàng trong mỗi ma trận lô.

    columnCount

    Số lượng cột trong mỗi ma trận batch.

    batchShape

    Kích thước lô hàng đầu của tensor được trả về.

  • Tính toán dấu vết của một ma trận được bó tùy chọn. Dấu vết là tổng dọc theo đường chéo chính của mỗi ma trận trong cùng.

    Đầu vào là một tensor có hình dạng [..., M, N] . Đầu ra là một tensor có hình dạng [...] .

    điều kiện tiên quyết

    matrix phải là một tensor có hình dạng [..., M, N] .

    Tuyên ngôn

    @differentiable(wrt: matrix)
    public func trace<T>(_ matrix: Tensor<T>) -> Tensor<T> where T : Numeric, T : TensorFlowScalar

    Thông số

    matrix

    Một tensor có dạng [..., M, N] .

  • Trả về phân rã Cholesky của một hoặc nhiều ma trận vuông.

    Đầu vào là một tensor có dạng [..., M, M] có 2 chiều trong cùng tạo thành ma trận vuông.

    Đầu vào phải đối xứng và xác định dương. Chỉ phần tam giác phía dưới của đầu vào sẽ được sử dụng cho thao tác này. Phần hình tam giác phía trên sẽ không được đọc.

    Đầu ra là một tenxơ có hình dạng giống với đầu vào chứa phân rã Cholesky cho tất cả các ma trận con đầu vào [..., :, :] .

    Tuyên ngôn

    @differentiable
    public func cholesky<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint

    Thông số

    input

    Một tenxơ có dạng [..., M, M] .

  • Trả về nghiệm x cho hệ phương trình tuyến tính được biểu diễn bởi Ax = b .

    điều kiện tiên quyết

    matrix phải là một tensor có hình dạng [..., M, M] .

    điều kiện tiên quyết

    rhs phải là một tenxơ có hình dạng [..., M, K] .

    Tuyên ngôn

    @differentiable
    public func triangularSolve<T: TensorFlowFloatingPoint>(
      matrix: Tensor<T>,
      rhs: Tensor<T>,
      lower: Bool = true,
      adjoint: Bool = false
    ) -> Tensor<T>

    Thông số

    matrix

    Ma trận hệ số tam giác đầu vào, biểu diễn A trong Ax = b .

    rhs

    Các giá trị bên phải, biểu thị b trong Ax = b .

    lower

    matrix là tam giác dưới ( true ) hay tam giác trên ( false ). Giá trị mặc định là true .

    adjoint

    Nếu true , hãy giải bằng liên kết của matrix thay vì matrix . Giá trị mặc định là false .

    Giá trị trả về

    Nghiệm x của hệ phương trình tuyến tính biểu thị bằng Ax = b . x có hình dạng giống b .

  • Tính toán tổn thất L1 giữa expected ​​và predicted . loss = reduction(abs(expected - predicted))

    Tuyên ngôn

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func l1Loss<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _sum
    ) -> Tensor<Scalar>

    Thông số

    predicted

    Đầu ra được dự đoán từ mạng lưới thần kinh.

    expected

    Các giá trị mong đợi, tức là các mục tiêu, tương ứng với kết quả đầu ra chính xác.

    reduction

    Giảm để áp dụng cho các giá trị tổn thất theo phần tử được tính toán.

  • Tính toán tổn thất L2 giữa expected ​​và predicted . loss = reduction(square(expected - predicted))

    Tuyên ngôn

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func l2Loss<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _sum
    ) -> Tensor<Scalar>

    Thông số

    predicted

    Đầu ra được dự đoán từ mạng lưới thần kinh.

    expected

    Các giá trị mong đợi, tức là các mục tiêu, tương ứng với kết quả đầu ra chính xác.

    reduction

    Giảm để áp dụng cho các giá trị tổn thất theo phần tử được tính toán.

  • Tính toán giá trị trung bình của sự khác biệt tuyệt đối giữa nhãn và dự đoán. loss = mean(abs(expected - predicted))

    Tuyên ngôn

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func meanAbsoluteError<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>
    ) -> Tensor<Scalar>

    Thông số

    predicted

    Đầu ra được dự đoán từ mạng lưới thần kinh.

    expected

    Các giá trị mong đợi, tức là các mục tiêu, tương ứng với kết quả đầu ra chính xác.

  • Tính giá trị trung bình của bình phương sai số giữa nhãn và dự đoán. loss = mean(square(expected - predicted))

    Tuyên ngôn

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func meanSquaredError<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>
    ) -> Tensor<Scalar>

    Thông số

    predicted

    Đầu ra được dự đoán từ mạng lưới thần kinh.

    expected

    Các giá trị mong đợi, tức là các mục tiêu, tương ứng với kết quả đầu ra chính xác.

  • Tính sai số logarit bình phương trung bình giữa tổn thất predicted và tổn thất expected loss = square(log(expected) - log(predicted))

    Ghi chú

    Các mục tensor âm sẽ được giới hạn ở mức 0 để tránh hành vi logarit không xác định, vì log(_:) không được xác định đối với các số thực âm.

    Tuyên ngôn

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func meanSquaredLogarithmicError<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>
    ) -> Tensor<Scalar>

    Thông số

    predicted

    Đầu ra được dự đoán từ mạng lưới thần kinh.

    expected

    Các giá trị mong đợi, tức là các mục tiêu, tương ứng với kết quả đầu ra chính xác.

  • Tính toán sai số phần trăm tuyệt đối trung bình giữa predictedexpected . loss = 100 * mean(abs((expected - predicted) / abs(expected)))

    Tuyên ngôn

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func meanAbsolutePercentageError<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>
    ) -> Tensor<Scalar>

    Thông số

    predicted

    Đầu ra được dự đoán từ mạng lưới thần kinh.

    expected

    Các giá trị mong đợi, tức là các mục tiêu, tương ứng với kết quả đầu ra chính xác.

  • Tính toán tổn thất bản lề giữa predictedexpected . loss = reduction(max(0, 1 - predicted * expected)) giá trị expected ​​​​được dự kiến ​​là -1 hoặc 1.

    Tuyên ngôn

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func hingeLoss<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _mean
    ) -> Tensor<Scalar>

    Thông số

    predicted

    Đầu ra được dự đoán từ mạng lưới thần kinh.

    expected

    Các giá trị mong đợi, tức là các mục tiêu, tương ứng với kết quả đầu ra chính xác.

    reduction

    Giảm để áp dụng cho các giá trị tổn thất theo phần tử được tính toán.

  • Tính toán tổn thất bản lề bình phương giữa predictedexpected . loss = reduction(square(max(0, 1 - predicted * expected))) giá trị expected ​​​​được dự kiến ​​là -1 hoặc 1.

    Tuyên ngôn

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func squaredHingeLoss<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _mean
    ) -> Tensor<Scalar>

    Thông số

    predicted

    Đầu ra được dự đoán từ mạng lưới thần kinh.

    expected

    Các giá trị mong đợi, tức là các mục tiêu, tương ứng với kết quả đầu ra chính xác.

    reduction

    Giảm để áp dụng cho các giá trị tổn thất theo phần tử được tính toán.

  • Tính toán tổn thất bản lề được phân loại giữa predictedexpected . loss = maximum(negative - positive + 1, 0) trong đó negative = max((1 - expected) * predicted)positive = sum(predicted * expected)

    Tuyên ngôn

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func categoricalHingeLoss<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _mean
    ) -> Tensor<Scalar>

    Thông số

    predicted

    Đầu ra được dự đoán từ mạng lưới thần kinh.

    expected

    Các giá trị mong đợi, tức là các mục tiêu, tương ứng với kết quả đầu ra chính xác.

    reduction

    Giảm để áp dụng cho các giá trị tổn thất theo phần tử được tính toán.

  • Tính logarit của cosin hyperbol của sai số dự đoán. logcosh = log((exp(x) + exp(-x))/2) , trong đó x là lỗi predicted - expected

    Tuyên ngôn

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func logCoshLoss<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _mean
    ) -> Tensor<Scalar>

    Thông số

    predicted

    Đầu ra được dự đoán từ mạng lưới thần kinh.

    expected

    Các giá trị mong đợi, tức là các mục tiêu, tương ứng với kết quả đầu ra chính xác.

    reduction

    Giảm để áp dụng cho các giá trị tổn thất theo phần tử được tính toán.

  • Tính toán tổn thất Poisson giữa dự đoán và dự kiến ​​Mất Poisson là giá trị trung bình của các phần tử của Tensor predicted - expected * log(predicted) .

    Tuyên ngôn

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func poissonLoss<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _mean
    ) -> Tensor<Scalar>

    Thông số

    predicted

    Đầu ra được dự đoán từ mạng lưới thần kinh.

    expected

    Các giá trị mong đợi, tức là các mục tiêu, tương ứng với kết quả đầu ra chính xác.

    reduction

    Giảm để áp dụng cho các giá trị tổn thất theo phần tử được tính toán.

  • Tính toán tổn thất phân kỳ Kullback-Leibler giữa expected ​​và predicted . loss = reduction(expected * log(expected / predicted))

    Tuyên ngôn

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func kullbackLeiblerDivergence<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _sum
    ) -> Tensor<Scalar>

    Thông số

    predicted

    Đầu ra được dự đoán từ mạng lưới thần kinh.

    expected

    Các giá trị mong đợi, tức là các mục tiêu, tương ứng với kết quả đầu ra chính xác.

    reduction

    Giảm để áp dụng cho các giá trị tổn thất theo phần tử được tính toán.

  • Tính toán entropy chéo softmax thưa thớt (entropy chéo phân loại) giữa nhật ký và nhãn. Sử dụng hàm mất entropy chéo này khi có hai hoặc nhiều lớp nhãn. Chúng tôi mong muốn các nhãn sẽ được cung cấp dưới dạng số nguyên. Phải có # classes giá trị dấu phẩy động cho mỗi đối tượng đối với logits và một giá trị dấu phẩy động duy nhất trên mỗi đối tượng đối với expected ​​.

    Tuyên ngôn

    @differentiable(wrt: logits)
    public func softmaxCrossEntropy<Scalar: TensorFlowFloatingPoint>(
      logits: Tensor<Scalar>,
      labels: Tensor<Int32>,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _mean
    ) -> Tensor<Scalar>

    Thông số

    logits

    Đầu ra được mã hóa một lần từ mạng lưới thần kinh.

    labels

    Các chỉ số (không có chỉ mục) của kết quả đầu ra chính xác.

    reduction

    Giảm để áp dụng cho các giá trị tổn thất theo phần tử được tính toán.

  • Tính toán entropy chéo softmax thưa thớt (entropy chéo phân loại) giữa nhật ký và nhãn. Sử dụng hàm mất entropy chéo này khi có hai hoặc nhiều lớp nhãn. Chúng tôi hy vọng các nhãn sẽ được cung cấp dưới dạng mô tả one_hot . Cần có # classes giá trị dấu phẩy động cho mỗi đối tượng.

    Tuyên ngôn

    @differentiable(wrt: logits)
    public func softmaxCrossEntropy<Scalar: TensorFlowFloatingPoint>(
      logits: Tensor<Scalar>,
      probabilities: Tensor<Scalar>,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _mean
    ) -> Tensor<Scalar>

    Thông số

    logits

    Xác suất nhật ký chưa được tính toán từ mạng lưới thần kinh.

    probabilities

    Giá trị xác suất tương ứng với đầu ra chính xác. Mỗi hàng phải là một phân phối xác suất hợp lệ.

    reduction

    Giảm để áp dụng cho các giá trị tổn thất theo phần tử được tính toán.

  • Tính toán entropy chéo sigmoid (entropy chéo nhị phân) giữa nhật ký và nhãn. Sử dụng tổn thất entropy chéo này khi chỉ có hai lớp nhãn (giả sử là 0 và 1). Đối với mỗi ví dụ, cần có một giá trị dấu phẩy động cho mỗi dự đoán.

    Tuyên ngôn

    @differentiable(wrt: logits)
    @differentiable(wrt: (logits, labels)
    public func sigmoidCrossEntropy<Scalar: TensorFlowFloatingPoint>(
      logits: Tensor<Scalar>,
      labels: Tensor<Scalar>,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _mean
    ) -> Tensor<Scalar>

    Thông số

    logits

    Đầu ra chưa được định tỷ lệ của mạng lưới thần kinh.

    labels

    Các giá trị nguyên tương ứng với kết quả đầu ra chính xác.

    reduction

    Giảm để áp dụng cho các giá trị tổn thất theo phần tử được tính toán.

  • Tính toán tổn thất Huber giữa predictedexpected .

    Đối với mỗi giá trị x trong error = expected - predicted :

    • 0.5 * x^2 nếu |x| <= δ .
    • 0.5 * δ^2 + δ * (|x| - δ) nếu không.

    • Nguồn: bài viết Wikipedia .

    Tuyên ngôn

    @differentiable(wrt: predicted)
    @differentiable(wrt: (predicted, expected)
    public func huberLoss<Scalar: TensorFlowFloatingPoint>(
      predicted: Tensor<Scalar>,
      expected: Tensor<Scalar>,
      delta: Scalar,
      reduction: @differentiable (Tensor<Scalar>) -> Tensor<Scalar> = _sum
    ) -> Tensor<Scalar>

    Thông số

    predicted

    Đầu ra được dự đoán từ mạng lưới thần kinh.

    expected

    Các giá trị mong đợi, tức là các mục tiêu, tương ứng với kết quả đầu ra chính xác.

    delta

    Một vô hướng dấu phẩy động biểu thị điểm mà hàm mất Huber thay đổi từ bậc hai sang tuyến tính.

    reduction

    Giảm để áp dụng cho các giá trị tổn thất theo phần tử được tính toán.

  • Trả về giá trị tuyệt đối của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func abs<T>(_ x: Tensor<T>) -> Tensor<T> where T : SignedNumeric, T : TensorFlowScalar
  • Trả về logarit tự nhiên của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func log<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về logarit cơ số hai của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func log2<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về logarit cơ số mười của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func log10<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về logarit của 1 + x theo phần tử.

    Tuyên ngôn

    @differentiable
    public func log1p<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về log(1 - exp(x)) bằng cách sử dụng phương pháp ổn định về mặt số học.

    Ghi chú

    Cách tiếp cận được thể hiện trong Công thức 7 của: https://cran.r-project.org/web/packages/Rmpfr/vignettes/log1mexp-note.pdf .

    Tuyên ngôn

    @differentiable
    public func log1mexp<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về sin của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func sin<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về cosin của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func cos<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về tang của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func tan<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về sin hyperbol của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func sinh<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về cosin hyperbol của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func cosh<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về tang hyperbol của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func tanh<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về cosin nghịch đảo của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func acos<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về sin nghịch đảo của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func asin<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về tang nghịch đảo của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func atan<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về cosin hyperbol nghịch đảo của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func acosh<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về sin hyperbol nghịch đảo của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func asinh<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về tang hyperbol nghịch đảo của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func atanh<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về căn bậc hai của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func sqrt<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về căn bậc hai nghịch đảo của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func rsqrt<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về số mũ của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func exp<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về hai lũy thừa của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func exp2<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về 10 lũy thừa của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func exp10<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về số mũ của x - 1 phần tử.

    Tuyên ngôn

    @differentiable
    public func expm1<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về các giá trị của tenxơ đã chỉ định được làm tròn đến số nguyên gần nhất, theo từng phần tử.

    Tuyên ngôn

    @differentiable
    public func round<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về mức trần của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func ceil<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về giá trị sàn của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func floor<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về dấu hiệu của phần tử tensor đã chỉ định. Cụ thể, tính y = sign(x) = -1 if x < 0 ; 0 nếu x == 0 ; 1 nếu x > 0 .

    Tuyên ngôn

    @differentiable
    public func sign<T>(_ x: Tensor<T>) -> Tensor<T> where T : Numeric, T : TensorFlowScalar
  • Trả về sigmoid của phần tử tensor đã chỉ định. Cụ thể là tính 1 / (1 + exp(-x)) .

    Tuyên ngôn

    @differentiable
    public func sigmoid<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về log-sigmoid của phần tử tensor đã chỉ định. Cụ thể, log(1 / (1 + exp(-x))) . Để ổn định về số, chúng tôi sử dụng -softplus(-x) .

    Tuyên ngôn

    @differentiable
    public func logSigmoid<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về softplus của phần tử tensor đã chỉ định. Cụ thể, tính toán log(exp(features) + 1) .

    Tuyên ngôn

    @differentiable
    public func softplus<T>(_ features: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về softsign của phần tử tensor đã chỉ định. Cụ thể, tính toán features/ (abs(features) + 1) .

    Tuyên ngôn

    @differentiable
    public func softsign<T>(_ features: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về softmax của tensor đã chỉ định dọc theo trục cuối cùng. Cụ thể, tính exp(x) / exp(x).sum(alongAxes: -1) .

    Tuyên ngôn

    @differentiable
    public func softmax<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về softmax của tensor đã chỉ định dọc theo trục đã chỉ định. Cụ thể, tính toán exp(x) / exp(x).sum(alongAxes: axis) .

    Tuyên ngôn

    @differentiable
    public func softmax<T>(_ x: Tensor<T>, alongAxis axis: Int) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về log-softmax của phần tử tensor đã chỉ định.

    Tuyên ngôn

    @differentiable
    public func logSoftmax<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về một tenxơ bằng cách áp dụng đơn vị tuyến tính hàm mũ. Cụ thể, tính exp(x) - 1 nếu < 0, x nếu không. Xem Học mạng sâu nhanh và chính xác theo đơn vị tuyến tính hàm mũ (ELU)

    Tuyên ngôn

    @differentiable
    public func elu<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về kích hoạt Đơn vị tuyến tính lỗi Gaussian (GELU) của phần tử tensor đã chỉ định.

    Cụ thể, gelu xấp xỉ xP(X <= x) , trong đó P(X <= x) là phân phối tích lũy Gaussian tiêu chuẩn, bằng cách tính toán: x * [0.5 * (1 + tanh[√(2/π) * (x + 0,044715 * x^3)])].

    Xem Đơn vị tuyến tính lỗi Gaussian .

    Tuyên ngôn

    @differentiable
    public func gelu<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về một tensor bằng cách áp dụng hàm kích hoạt ReLU cho phần tử tensor đã chỉ định. Cụ thể, tính max(0, x) .

    Tuyên ngôn

    @differentiable
    public func relu<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về một tensor bằng cách áp dụng hàm kích hoạt ReLU6, cụ thể là min(max(0, x), 6) .

    Tuyên ngôn

    @differentiable
    public func relu6<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về một tensor bằng cách áp dụng hàm kích hoạt ReLU bị rò rỉ cho phần tử tensor đã chỉ định. Cụ thể, tính toán max(x, x * alpha) .

    Tuyên ngôn

    @differentiable(wrt: x)
    public func leakyRelu<T: TensorFlowFloatingPoint>(
      _ x: Tensor<T>,
      alpha: Double = 0.2
    ) -> Tensor<T>
  • Trả về một tenxơ bằng cách áp dụng hàm kích hoạt SeLU, cụ thể là scale * alpha * (exp(x) - 1) nếu x < 0scale * x nếu không.

    Ghi chú

    Điều này được thiết kế để sử dụng cùng với các bộ khởi tạo lớp chia tỷ lệ phương sai. Vui lòng tham khảo Mạng thần kinh tự chuẩn hóa để biết thêm thông tin.

    Tuyên ngôn

    @differentiable
    public func selu<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về một tensor bằng cách áp dụng hàm kích hoạt swish, cụ thể là x * sigmoid(x) .

    Nguồn: “Tìm kiếm chức năng kích hoạt” (Ramachandran và cộng sự 2017) https://arxiv.org/abs/1710.05941

    Tuyên ngôn

    @differentiable
    public func swish<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về một tensor bằng cách áp dụng hàm kích hoạt sigmoid cứng, cụ thể là Relu6(x+3)/6 .

    Nguồn: “Tìm kiếm MobileNetV3” (Howard và cộng sự 2019) https://arxiv.org/abs/1905.02244

    Tuyên ngôn

    @differentiable
    public func hardSigmoid<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về một tensor bằng cách áp dụng hàm kích hoạt hard swish, cụ thể là x * Relu6(x+3)/6 .

    Nguồn: “Tìm kiếm MobileNetV3” (Howard và cộng sự 2019) https://arxiv.org/abs/1905.02244

    Tuyên ngôn

    @differentiable
    public func hardSwish<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về một tensor bằng cách áp dụng hàm kích hoạt mish, cụ thể là x * tanh(softplus(x)) .

    Nguồn: “Mish: Chức năng kích hoạt thần kinh không đơn điệu được tự điều chỉnh” https://arxiv.org/abs/1908.08681

    Tuyên ngôn

    @differentiable
    public func mish<T>(_ x: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về sức mạnh của tensor thứ nhất cho tensor thứ hai.

    Tuyên ngôn

    @differentiable
    public func pow<T>(_ lhs: Tensor<T>, _ rhs: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về lũy thừa của đại lượng vô hướng cho tensor, phát sóng vô hướng.

    Tuyên ngôn

    @differentiable(wrt: rhs)
    public func pow<T>(_ lhs: T, _ rhs: Tensor<T>) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về lũy thừa của tensor cho đại lượng vô hướng, phát sóng vô hướng.

    Tuyên ngôn

    @differentiable(wrt: lhs)
    public func pow<T>(_ lhs: Tensor<T>, _ rhs: T) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về lũy thừa của tensor cho đại lượng vô hướng, phát sóng vô hướng.

    Tuyên ngôn

    @differentiable
    public func pow<T>(_ x: Tensor<T>, _ n: Int) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về căn bậc n theo phần tử của tensor.

    Tuyên ngôn

    @differentiable
    public func root<T>(_ x: Tensor<T>, _ n: Int) -> Tensor<T> where T : TensorFlowFloatingPoint
  • Trả về chênh lệch bình phương giữa xy .

    Tuyên ngôn

    @differentiable
    public func squaredDifference<T>(_ x: Tensor<T>, _ y: Tensor<T>) -> Tensor<T> where T : Numeric, T : TensorFlowScalar

    Giá trị trả về

    (x - y) ^ 2 .

  • Trả về mức tối đa theo phần tử của hai tensor.

    Ghi chú

    max hỗ trợ phát sóng.

    Tuyên ngôn

    @differentiable
    public func max<T>(_ lhs: Tensor<T>, _ rhs: Tensor<T>) -> Tensor<T> where T : Comparable, T : Numeric, T : TensorFlowScalar
  • Trả về giá trị lớn nhất theo phần tử của đại lượng vô hướng và tensor, truyền bá đại lượng vô hướng.

    Tuyên ngôn

    @differentiable(wrt: rhs)
    public func max<T>(_ lhs: T, _ rhs: Tensor<T>) -> Tensor<T> where T : Comparable, T : Numeric, T : TensorFlowScalar
  • Trả về giá trị lớn nhất theo phần tử của đại lượng vô hướng và tensor, truyền bá đại lượng vô hướng.

    Tuyên ngôn

    @differentiable(wrt: lhs)
    public func max<T>(_ lhs: Tensor<T>, _ rhs: T) -> Tensor<T> where T : Comparable, T : Numeric, T : TensorFlowScalar
  • Trả về giá trị tối thiểu theo phần tử của hai tensor.

    Ghi chú

    min hỗ trợ phát sóng.

    Tuyên ngôn

    @differentiable
    public func min<T>(_ lhs: Tensor<T>, _ rhs: Tensor<T>) -> Tensor<T> where T : Comparable, T : Numeric, T : TensorFlowScalar
  • Trả về giá trị tối thiểu theo phần tử của đại lượng vô hướng và tensor, truyền bá đại lượng vô hướng.

    Tuyên ngôn

    @differentiable(wrt: rhs)
    public func min<T>(_ lhs: T, _ rhs: Tensor<T>) -> Tensor<T> where T : Comparable, T : Numeric, T : TensorFlowScalar
  • Trả về giá trị tối thiểu theo phần tử của đại lượng vô hướng và tensor, truyền bá đại lượng vô hướng.

    Tuyên ngôn

    @differentiable(wrt: lhs)
    public func min<T>(_ lhs: Tensor<T>, _ rhs: T) -> Tensor<T> where T : Comparable, T : Numeric, T : TensorFlowScalar
  • Trả về độ tương tự cosin giữa xy .

    Tuyên ngôn

    @differentiable
    public func cosineSimilarity<Scalar: TensorFlowFloatingPoint>(
      _ x: Tensor<Scalar>,
      _ y: Tensor<Scalar>
    ) -> Tensor<Scalar>
  • Trả về khoảng cách cosin giữa xy . Khoảng cách cosine được định nghĩa là 1 - cosineSimilarity(x, y) .

    Tuyên ngôn

    @differentiable
    public func cosineDistance<Scalar: TensorFlowFloatingPoint>(
      _ x: Tensor<Scalar>,
      _ y: Tensor<Scalar>
    ) -> Tensor<Scalar>
  • Thực hiện phép nhân ma trận với một tenxơ khác và đưa ra kết quả.

    Tuyên ngôn

    @differentiable
    public func matmul<Scalar: Numeric>(
      _ lhs: Tensor<Scalar>,
      transposed transposeLhs: Bool = false,
      _ rhs: Tensor<Scalar>,
      transposed transposeRhs: Bool = false
    ) -> Tensor<Scalar>
  • Trả về tích chập 1-D với đầu vào, bộ lọc, bước và phần đệm được chỉ định.

    điều kiện tiên quyết

    input phải có hạng 3 .

    điều kiện tiên quyết

    filter phải có hạng 3.

    Tuyên ngôn

    @differentiable(wrt: (input, filter)
    public func conv1D<Scalar: TensorFlowFloatingPoint>(
      _ input: Tensor<Scalar>,
      filter: Tensor<Scalar>,
      stride: Int = 1,
      padding: Padding = .valid,
      dilation: Int = 1
    ) -> Tensor<Scalar>

    Thông số

    input

    Đầu vào.

    filter

    Bộ lọc tích chập.

    stride

    Bước tiến của bộ lọc trượt.

    padding

    Phần đệm cho hoạt động.

    dilation

    Yếu tố giãn nở.

  • Trả về tích chập 2-D với đầu vào, bộ lọc, bước và phần đệm được chỉ định.

    điều kiện tiên quyết

    input phải có hạng 4 .

    điều kiện tiên quyết

    filter phải có hạng 4.

    Tuyên ngôn

    @differentiable(wrt: (input, filter)
    public func conv2D<Scalar: TensorFlowFloatingPoint>(
      _ input: Tensor<Scalar>,
      filter: Tensor<Scalar>,
      strides: (Int, Int, Int, Int) = (1, 1, 1, 1),
      padding: Padding = .valid,
      dilations: (Int, Int, Int, Int) = (1, 1, 1, 1)
    ) -> Tensor<Scalar>

    Thông số

    input

    Đầu vào.

    filter

    Bộ lọc tích chập.

    strides

    Các bước tiến của bộ lọc trượt cho từng chiều của đầu vào.

    padding

    Phần đệm cho hoạt động

    dilations

    Hệ số giãn nở cho từng chiều của đầu vào.

  • Trả về tích chập chuyển đổi 2-D với đầu vào, bộ lọc, bước và phần đệm được chỉ định.

    điều kiện tiên quyết

    input phải có hạng 4 .

    điều kiện tiên quyết

    filter phải có hạng 4.

    Tuyên ngôn

    @differentiable(wrt: (input, filter)
    public func transposedConv2D<Scalar: TensorFlowFloatingPoint>(
      _ input: Tensor<Scalar>,
      shape: [Int64],
      filter: Tensor<Scalar>,
      strides: (Int, Int, Int, Int) = (1, 1, 1, 1),
      padding: Padding = .valid,
      dilations: (Int, Int, Int, Int) = (1, 1, 1, 1)
    ) -> Tensor<Scalar>

    Thông số

    input

    Đầu vào.

    shape

    Hình dạng đầu ra của hoạt động giải mã.

    filter

    Bộ lọc tích chập.

    strides

    Các bước tiến của bộ lọc trượt cho từng chiều của đầu vào.

    padding

    Phần đệm cho hoạt động

    dilations

    Hệ số giãn nở cho từng chiều của đầu vào.

  • Trả về tích chập 3-D với đầu vào, bộ lọc, bước tiến, phần đệm và độ giãn được chỉ định.

    điều kiện tiên quyết

    input phải có thứ hạng 5 .

    điều kiện tiên quyết

    filter phải có hạng 5.

    Tuyên ngôn

    @differentiable(wrt: (input, filter)
    public func conv3D<Scalar: TensorFlowFloatingPoint>(
      _ input: Tensor<Scalar>,
      filter: Tensor<Scalar>,
      strides: (Int, Int, Int, Int, Int) = (1, 1, 1, 1, 1),
      padding: Padding = .valid,
      dilations: (Int, Int, Int, Int, Int) = (1, 1, 1, 1, 1)
    ) -> Tensor<Scalar>

    Thông số

    input

    Đầu vào.

    filter

    Bộ lọc tích chập.

    strides

    Các bước tiến của bộ lọc trượt cho từng chiều của đầu vào.

    padding

    Phần đệm cho hoạt động.

    dilations

    Hệ số giãn nở cho từng chiều của đầu vào.

  • Trả về tích chập theo chiều sâu 2-D với đầu vào, bộ lọc, bước và phần đệm được chỉ định.

    điều kiện tiên quyết

    input phải có hạng 4.

    điều kiện tiên quyết

    filter phải có hạng 4.

    Tuyên ngôn

    @differentiable(wrt: (input, filter)
    public func depthwiseConv2D<Scalar: TensorFlowFloatingPoint>(
      _ input: Tensor<Scalar>,
      filter: Tensor<Scalar>,
      strides: (Int, Int, Int, Int),
      padding: Padding
    ) -> Tensor<Scalar>

    Thông số

    input

    Đầu vào.

    filter

    Bộ lọc tích chập theo chiều sâu.

    strides

    Các bước tiến của bộ lọc trượt cho từng chiều của đầu vào.

    padding

    Phần đệm cho hoạt động.

  • Trả về tổng hợp tối đa 2-D, với kích thước bộ lọc, bước tiến và phần đệm được chỉ định.

    Tuyên ngôn

    @differentiable(wrt: input)
    public func maxPool2D<Scalar: TensorFlowFloatingPoint>(
      _ input: Tensor<Scalar>,
      filterSize: (Int, Int, Int, Int),
      strides: (Int, Int, Int, Int),
      padding: Padding
    ) -> Tensor<Scalar>

    Thông số

    input

    Đầu vào.

    filterSize

    Kích thước của hạt nhân tổng hợp.

    strides

    Các bước tiến của bộ lọc trượt cho từng chiều của đầu vào.

    padding

    Phần đệm cho hoạt động.

  • Trả về tổng hợp tối đa 3-D, với kích thước bộ lọc, bước tiến và phần đệm được chỉ định.

    Tuyên ngôn

    @differentiable(wrt: input)
    public func maxPool3D<Scalar: TensorFlowFloatingPoint>(
      _ input: Tensor<Scalar>,
      filterSize: (Int, Int, Int, Int, Int),
      strides: (Int, Int, Int, Int, Int),
      padding: Padding
    ) -> Tensor<Scalar>

    Thông số

    input

    Đầu vào.

    filterSize

    Kích thước của hạt nhân tổng hợp.

    strides

    Các bước tiến của bộ lọc trượt cho từng chiều của đầu vào.

    padding

    Phần đệm cho hoạt động.

  • Trả về tổng hợp trung bình 2-D, với kích thước bộ lọc, bước tiến và phần đệm được chỉ định.

    Tuyên ngôn

    @differentiable(wrt: input)
    public func avgPool2D<Scalar: TensorFlowFloatingPoint>(
      _ input: Tensor<Scalar>,
      filterSize: (Int, Int, Int, Int),
      strides: (Int, Int, Int, Int),
      padding: Padding
    ) -> Tensor<Scalar>

    Thông số

    input

    Đầu vào.

    filterSize

    Kích thước của hạt nhân tổng hợp.

    strides

    Các bước tiến của bộ lọc trượt cho từng chiều của đầu vào.

    padding

    Phần đệm cho hoạt động.

  • Trả về tổng hợp trung bình 3-D, với kích thước bộ lọc, bước tiến và phần đệm được chỉ định.

    Tuyên ngôn

    @differentiable(wrt: input)
    public func avgPool3D<Scalar: TensorFlowFloatingPoint>(
      _ input: Tensor<Scalar>,
      filterSize: (Int, Int, Int, Int, Int),
      strides: (Int, Int, Int, Int, Int),
      padding: Padding
    ) -> Tensor<Scalar>

    Thông số

    input

    Đầu vào.

    filterSize

    Kích thước của hạt nhân tổng hợp.

    strides

    Các bước tiến của bộ lọc trượt cho từng chiều của đầu vào.

    padding

    Phần đệm cho hoạt động.

  • Trả về tổng hợp tối đa phân đoạn 2-D, với tỷ lệ gộp được chỉ định.

    Lưu ý: fractionalMaxPool không triển khai XLA và do đó có thể ảnh hưởng đến hiệu suất.

    Tuyên ngôn

    @differentiable(wrt: input)
    public func fractionalMaxPool2D<Scalar: TensorFlowFloatingPoint>(
      _ input: Tensor<Scalar>,
      poolingRatio: (Double, Double, Double, Double),
      pseudoRandom: Bool = false,
      overlapping: Bool = false,
      deterministic: Bool = false,
      seed: Int64 = 0,
      seed2: Int64 = 0
    ) -> Tensor<Scalar>

    Thông số

    input

    Một tenxơ. 4-D với hình dạng [batch, height, width, channels] .

    poolingRatio

    Danh sách Doubles . Tỷ lệ gộp cho từng thứ nguyên của input , hiện chỉ hỗ trợ thứ nguyên hàng và cột và phải >= 1,0.

    pseudoRandom

    Một tùy chọn Bool . Mặc định là false . Khi được đặt thành true , sẽ tạo chuỗi gộp theo kiểu giả ngẫu nhiên, nếu không thì theo kiểu ngẫu nhiên.

    overlapping

    Một tùy chọn Bool . Mặc định là false . Khi được đặt thành true , điều đó có nghĩa là khi gộp, các giá trị ở ranh giới của các ô gộp liền kề sẽ được cả hai ô sử dụng.

    deterministic

    Một Bool tùy chọn. Khi được đặt thành true , vùng gộp cố định sẽ được sử dụng khi lặp qua nút fractalalMaxPool2D trong biểu đồ tính toán.

    seed

    Một tùy chọn Int64 . Mặc định là 0 . Nếu được đặt khác 0, bộ tạo số ngẫu nhiên sẽ được tạo hạt giống đã cho.

    seed2

    Một tùy chọn Int64 . Mặc định là 0 . Hạt giống thứ hai để tránh va chạm hạt giống.

  • Trả về bản sao của input trong đó các giá trị từ kích thước chiều sâu được di chuyển trong các khối không gian sang kích thước chiều cao và chiều rộng.

    Ví dụ: với đầu vào có dạng [1, 2, 2, 1] , data_format = “NHWC” và block_size = 2:

    x = [[[[1], [2]],
          [[3], [4]]]]
    

    Thao tác này sẽ tạo ra một tenxơ có hình dạng [1, 1, 1, 4] :

    [[[[1, 2, 3, 4]]]]
    

    Ở đây, đầu vào có batch là 1 và mỗi phần tử batch có hình dạng [2, 2, 1] , đầu ra tương ứng sẽ có một phần tử duy nhất (tức là chiều rộng và chiều cao đều là 1) và sẽ có độ sâu là 4 kênh (1 * kích thước khối * kích thước khối). Hình dạng phần tử đầu ra là [1, 1, 4] .

    Đối với một tenxơ đầu vào có độ sâu lớn hơn, ở đây có hình dạng [1, 2, 2, 3] , ví dụ:

    x = [[[[1, 2, 3], [4, 5, 6]],
          [[7, 8, 9], [10, 11, 12]]]]
    

    Thao tác này, đối với block_size là 2, sẽ trả về tensor có hình dạng sau [1, 1, 1, 12]

    [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]
    

    Tương tự, đối với đầu vào có dạng sau [1 4 4 1] và kích thước khối là 2:

    x = [[[[1],   [2],  [5],  [6]],
          [[3],   [4],  [7],  [8]],
          [[9],  [10], [13],  [14]],
          [[11], [12], [15],  [16]]]]
    

    toán tử sẽ trả về tensor có hình dạng sau [1 2 2 4] :

    x = [[[[1, 2, 3, 4],
           [5, 6, 7, 8]],
          [[9, 10, 11, 12],
           [13, 14, 15, 16]]]]
    

    điều kiện tiên quyết

    input.rank == 4 && b >= 2 .

    điều kiện tiên quyết

    Số lượng đặc điểm phải chia hết cho bình phương của b .

    Tuyên ngôn

    @differentiable(wrt: input)
    public func depthToSpace<Scalar>(_ input: Tensor<Scalar>, blockSize b: Int) -> Tensor<Scalar> where Scalar : TensorFlowScalar
  • Trả về bản sao của input trong đó các giá trị từ kích thước chiều cao và chiều rộng được di chuyển sang kích thước chiều sâu.

    Ví dụ: với đầu vào có dạng [1, 2, 2, 1] , data_format = “NHWC” và block_size = 2:

    x = [[[[1], [2]],
          [[3], [4]]]]
    

    Thao tác này sẽ tạo ra một tenxơ có hình dạng [1, 1, 1, 4] :

    [[[[1, 2, 3, 4]]]]
    

    Ở đây, đầu vào có batch là 1 và mỗi phần tử batch có hình dạng [2, 2, 1] , đầu ra tương ứng sẽ có một phần tử duy nhất (tức là chiều rộng và chiều cao đều là 1) và sẽ có độ sâu là 4 kênh (1 * kích thước khối * kích thước khối). Hình dạng phần tử đầu ra là [1, 1, 4] .

    Đối với một tenxơ đầu vào có độ sâu lớn hơn, ở đây có hình dạng [1, 2, 2, 3] , ví dụ:

    x = [[[[1, 2, 3], [4, 5, 6]],
          [[7, 8, 9], [10, 11, 12]]]]
    

    Thao tác này, đối với block_size là 2, sẽ trả về tensor có hình dạng sau [1, 1, 1, 12]

    [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]
    

    Tương tự, đối với đầu vào có dạng sau [1 4 4 1] và kích thước khối là 2:

    x = [[[[1],   [2],  [5],  [6]],
          [[3],   [4],  [7],  [8]],
          [[9],  [10], [13],  [14]],
          [[11], [12], [15],  [16]]]]
    

    toán tử sẽ trả về tensor có hình dạng sau [1 2 2 4] :

    x = [[[[1, 2, 3, 4],
           [5, 6, 7, 8]],
          [[9, 10, 11, 12],
           [13, 14, 15, 16]]]]
    

    điều kiện tiên quyết

    input.rank == 4 && b >= 2 .

    điều kiện tiên quyết

    Chiều cao của đầu vào phải chia hết cho b .

    điều kiện tiên quyết

    Chiều rộng của đầu vào phải chia hết cho b .

    Tuyên ngôn

    @differentiable(wrt: input)
    public func spaceToDepth<Scalar>(_ input: Tensor<Scalar>, blockSize b: Int) -> Tensor<Scalar> where Scalar : TensorFlowScalar
  • Xây dựng trình tối ưu hóa theo trọng lượng cho LARS ( https://arxiv.org/pdf/1708.03888.pdf ).

    Tuyên ngôn

    public func makeLARS(
      learningRate: Float = 0.01,
      momentum: Float = 0.9,
      trustCoefficient: Float = 0.001,
      nesterov: Bool = false,
      epsilon: Float = 0.0,
      weightDecay: Float = 0.0
    ) -> ParameterGroupOptimizer
  • Xây dựng trình tối ưu hóa theo trọng lượng dựa trên SGD.

    Tuyên ngôn

    public func makeSGD(
      learningRate: Float = 0.01,
      momentum: Float = 0,
      weightDecay: Float = 0,
      nesterov: Bool = false
    ) -> ParameterGroupOptimizer
  • Xây dựng trình tối ưu hóa theo trọng lượng cho Adam với mức giảm cân.

    Tham khảo: “Adam - Phương pháp tối ưu hóa ngẫu nhiên”

    Tuyên ngôn

    public func makeAdam(
      learningRate: Float = 0.01,
      beta1: Float = 0.9,
      beta2: Float = 0.999,
      weightDecayRate: Float = 0.01,
      epsilon: Float = 1e-6
    ) -> ParameterGroupOptimizer
  • Tạo một hạt giống ngẫu nhiên mới cho TensorFlow.

    Tuyên ngôn

    public func randomSeedForTensorFlow(using seed: TensorFlowSeed? = nil) -> TensorFlowSeed
  • Nối hai giá trị.

    Tuyên ngôn

    @differentiable
    public func concatenate<T: Mergeable>(
      _ first: T,
      _ second: T
    ) -> T
  • Cộng hai giá trị và tạo ra tổng của chúng.

    Tuyên ngôn

    @differentiable
    public func sum<T: Mergeable>(
      _ first: T,
      _ second: T
    ) -> T
  • Tính trung bình hai giá trị.

    Tuyên ngôn

    @differentiable
    public func average<T: Mergeable>(
      _ first: T,
      _ second: T
    ) -> T
  • Nhân hai giá trị.

    Tuyên ngôn

    @differentiable
    public func multiply<T: Mergeable>(
      _ first: T,
      _ second: T
    ) -> T
  • Xếp chồng hai giá trị.

    Tuyên ngôn

    @differentiable
    public func stack<T: Mergeable>(
      _ first: T,
      _ second: T
    ) -> T
  • Tuyên ngôn

    public func PrintX10Metrics()
  • Tạo một chuỗi tóm tắt danh sách các số liệu thống kê về đào tạo và kiểm tra.

    Tuyên ngôn

    public func formatStatistics(_ stats: (train: HostStatistics, test: HostStatistics)) -> String
  • Tuyên ngôn

    public func formatStatistics(train trainStats: HostStatistics, test testStats: HostStatistics)
      -> String
  • Ánh xạ một hàm qua n luồng.

    Tuyên ngôn

    public func runOnNThreads<R>(_ nThreads: Int, _ body: @escaping (Int) -> R) -> [R]