Skip to content

Exported symbol σ too generic #604

Open
@nomadbl

Description

@nomadbl

Currently NNlib exports σ, which in this package refers to the sigmoid function.
The name should be changed to "sigmoid" to avoid accidental usage in other code. For example the following code will silently use sigmoid (in this example instead of softmax) without raising an error:

julia> using Flux
struct MyOp{F, M<:AbstractMatrix}
  v::M
  σ::F
end
function (a::MyOp)(x::AbstractVecOrMat)
  return σ(a.v * x)
end
a = MyOp(rand32(3,3), Flux.softmax);
x = rand32(3,3);
a(x)
julia> a(x) .- a.σ(a.v*x)
3×3 Matrix{Float32}:
 0.513941  0.363848  0.456001
 0.343419  0.281814  0.289344
 0.519608  0.371748  0.457464

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions