2016-08-22 20:13:28 +00:00
|
|
|
|
export Dense
|
|
|
|
|
|
2016-08-25 21:49:21 +00:00
|
|
|
|
# TODO: type hints for parameters
|
|
|
|
|
|
2016-08-22 13:49:41 +00:00
|
|
|
|
@model type Dense
|
|
|
|
|
W
|
|
|
|
|
b
|
2016-10-04 20:10:50 +00:00
|
|
|
|
x -> x*W + b
|
2016-08-22 13:49:41 +00:00
|
|
|
|
end
|
|
|
|
|
|
2016-08-25 16:25:33 +00:00
|
|
|
|
Dense(in::Integer, out::Integer; init = initn) =
|
2016-10-04 20:10:50 +00:00
|
|
|
|
Dense(init(in, out), init(1, out))
|
2016-08-23 13:14:20 +00:00
|
|
|
|
|
2016-08-25 21:49:21 +00:00
|
|
|
|
Base.show(io::IO, d::Dense) =
|
2016-10-04 20:10:50 +00:00
|
|
|
|
print(io, "Dense($(size(d.W.x,1)),$(size(d.W.x,2)))")
|
2016-08-25 16:24:39 +00:00
|
|
|
|
|
2016-08-23 13:14:20 +00:00
|
|
|
|
@model type Sigmoid
|
|
|
|
|
layer::Model
|
|
|
|
|
x -> σ(layer(x))
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
Sigmoid(in::Integer, out::Integer; init = randn) =
|
|
|
|
|
Sigmoid(Dense(in, out, init = init))
|