add cosine activation
This commit is contained in:
parent
7db43038ac
commit
7f34de8e7c
1 changed files with 24 additions and 0 deletions
24
nn.lua
24
nn.lua
|
@ -308,6 +308,7 @@ local Input = Layer:extend()
|
||||||
local Merge = Layer:extend()
|
local Merge = Layer:extend()
|
||||||
local Relu = Layer:extend()
|
local Relu = Layer:extend()
|
||||||
local Gelu = Layer:extend()
|
local Gelu = Layer:extend()
|
||||||
|
local Cos = Layer:extend()
|
||||||
local Dense = Layer:extend()
|
local Dense = Layer:extend()
|
||||||
local Softmax = Layer:extend()
|
local Softmax = Layer:extend()
|
||||||
local Embed = Layer:extend()
|
local Embed = Layer:extend()
|
||||||
|
@ -508,6 +509,28 @@ function Gelu:forward(X)
|
||||||
return Y
|
return Y
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function Cos:init()
|
||||||
|
Layer.init(self, "Cos")
|
||||||
|
end
|
||||||
|
|
||||||
|
function Cos:reset_cache(bs)
|
||||||
|
self.bs = bs
|
||||||
|
|
||||||
|
self.cache = cache(bs, self.shape_out)
|
||||||
|
self.dcache = cache(bs, self.shape_in)
|
||||||
|
end
|
||||||
|
|
||||||
|
function Cos:forward(X)
|
||||||
|
local bs = checkshape(X, self.shape_in)
|
||||||
|
if bs ~= self.bs then self:reset_cache(bs) end
|
||||||
|
local Y = self.cache
|
||||||
|
|
||||||
|
for i = 1, #X do Y[i] = cos(X[i]) end
|
||||||
|
|
||||||
|
checkshape(Y, self.shape_out)
|
||||||
|
return Y
|
||||||
|
end
|
||||||
|
|
||||||
function Dense:init(dim)
|
function Dense:init(dim)
|
||||||
Layer.init(self, "Dense")
|
Layer.init(self, "Dense")
|
||||||
assert(type(dim) == "number")
|
assert(type(dim) == "number")
|
||||||
|
@ -808,6 +831,7 @@ return {
|
||||||
Merge = Merge,
|
Merge = Merge,
|
||||||
Relu = Relu,
|
Relu = Relu,
|
||||||
Gelu = Gelu,
|
Gelu = Gelu,
|
||||||
|
Cos = Cos,
|
||||||
Dense = Dense,
|
Dense = Dense,
|
||||||
Softmax = Softmax,
|
Softmax = Softmax,
|
||||||
Embed = Embed,
|
Embed = Embed,
|
||||||
|
|
Loading…
Add table
Reference in a new issue