@frozen
public struct Dense<Scalar> : Layer where Scalar : TensorFlowFloatingPoint
Một lớp mạng lưới thần kinh được kết nối dày đặc.
Dense
triển khai hoạt động activation(matmul(input, weight) + bias)
, trong đó weight
là ma trận trọng số, bias
là vectơ thiên vị và activation
là hàm kích hoạt theo phần tử.
Lớp này cũng hỗ trợ các tensor trọng lượng 3-D với ma trận sai lệch 2-D. Trong trường hợp này, thứ nguyên đầu tiên của cả hai đều được coi là kích thước lô được căn chỉnh với kích thước input
đầu tiên và biến thể lô của thao tác matmul(_:_:)
được sử dụng, do đó sử dụng trọng số và độ lệch khác nhau cho từng phần tử trong lô đầu vào.
Ma trận trọng số.
Tuyên ngôn
public var weight: Tensor<Scalar>
Vectơ thiên vị.
Tuyên ngôn
public var bias: Tensor<Scalar>
Chức năng kích hoạt theo phần tử.
Tuyên ngôn
@noDerivative public let activation: Activation
Tạo một thể hiện từ trọng số đã cho, độ lệch tùy chọn và hàm kích hoạt.
Ghi chú
hiện tại,weight
là tham số khác biệt duy nhất.bias
có thể được tạo thành một tham số khả vi sau khiOptional
tuân thủ có điều kiện vớiDifferentiable
: TF-499.Tuyên ngôn
@differentiable(wrt: weight) public init( weight: Tensor<Scalar>, bias: Tensor<Scalar>? = nil, activation: @escaping Activation )
Tạo một lớp
Dense
với kích thước đầu vào, kích thước đầu ra được chỉ định và chức năng kích hoạt theo phần tử. Ma trận trọng số được tạo với hình dạng[inputSize, outputSize]
và vectơ thiên vị được tạo với hình dạng[outputSize]
.Tuyên ngôn
public init( inputSize: Int, outputSize: Int, activation: @escaping Activation = identity, useBias: Bool = true, weightInitializer: ParameterInitializer<Scalar> = glorotUniform(), biasInitializer: ParameterInitializer<Scalar> = zeros() )
Thông số
inputSize
Tính chiều của không gian đầu vào.
outputSize
Tính chiều của không gian đầu ra.
activation
Chức năng kích hoạt để sử dụng. Giá trị mặc định là
identity(_:)
.weightInitializer
Công cụ khởi tạo để sử dụng cho
weight
.biasInitializer
Trình khởi tạo để sử dụng cho
bias
.