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
p
vàq
, phân kỳ KL tínhp * 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
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 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ạix
.Tuyên ngôn
@_semantics("autodiff.nonvarying") public func withoutDerivative<T>(at x: T) -> T
Áp dụng
body
đóng đã cho chox
. 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ạix
.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 TensorFlow hiển thị
- “/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ạng3
hoặc4
.Đ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
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ạng3
hoặc4
.Đ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>
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ạng4
.Điều kiện tiên quyết
filter
phải có hạng3
.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ạng4
.Đ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
-limit
vàlimit
, đượ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))
và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ẩnsqrt(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
-limit
vàlimit
, đượ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)
và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ẩnsqrt(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
-limit
vàlimit
, đượ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)
và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ẩnsqrt(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
standardDeviation
phối chuẩn vớimean
bình và độ lệch chuẩn Độ lệch 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
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 tensor 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ởiAx = 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
trongAx = b
.rhs
Các giá trị bên phải, biểu thị
b
trongAx = b
.lower
Ma
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ủamatrix
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ằngAx = b
.x
có hình dạng giốngb
.Tính toán tổn thất L1 giữa
expected
vàpredicted
.loss = reduction(abs(expected - predicted))
Tuyên ngôn
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
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ấtexpected
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
predicted
vàexpected
.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
predicted
vàexpected
.loss = reduction(max(0, 1 - predicted * expected))
giá trịexpected
được dự kiến là -1 hoặc 1.Tuyên ngôn
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
predicted
vàexpected
.loss = reduction(square(max(0, 1 - predicted * expected)))
giá trịexpected
được dự kiến là -1 hoặc 1.Tuyên ngôn
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
predicted
vàexpected
.loss = maximum(negative - positive + 1, 0)
trong đónegative = max((1 - expected) * predicted)
vàpositive = sum(predicted * expected)
Tuyên ngôn
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ỗipredicted - expected
Tuyên ngôn
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
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
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ớilogits
và một giá trị dấu phẩy động duy nhất trên mỗi đối tượng đối vớiexpected
.Tuyên ngôn
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
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
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
predicted
vàexpected
.Đối với mỗi giá trị
x
trongerror = 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
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
ifx < 0
; 0 nếux == 0
; 1 nếux > 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)])].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ếux < 0
vàscale * 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
x
vày
.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
x
vày
.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
x
vày
. 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>
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ạng3
.Đ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ạng4
.Đ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ạng4
.Đ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ạng5
.Đ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ủainput
, 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ànhtrue
, 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ànhtrue
, đ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ànhtrue
, 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 thành 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ủab
.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 sau của hình dạng
[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]]]]
Người vận hành sẽ trả về tenxơ sau đây
[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 chob
.Điều kiện tiên quyết
Chiều rộng của đầu vào phải chia hết chob
.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 một trình tối ưu hóa mỗi 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 một trình tối ưu hóa mỗi cân 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 một trình tối ưu hóa cho mỗi trọng lượng cho Adam với sự phân rã trọng lượng.
Tham khảo: Hồi Adam - Một 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 ra một hạt giống ngẫu nhiên mới cho tenorflow.
Tuyên ngôn
public func randomSeedForTensorFlow(using seed: TensorFlowSeed? = nil) -> TensorFlowSeed
Concatenates hai giá trị.
Tuyên ngôn
@differentiable public func concatenate<T: Mergeable>( _ first: T, _ second: T ) -> T
Thêm 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
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 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 bản tóm tắt chuỗi của một danh sách các chỉ số đà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
Bản đồ một hàm trên n chủ đề.
Tuyên ngôn
public func runOnNThreads<R>(_ nThreads: Int, _ body: @escaping (Int) -> R) -> [R]