#函数 #激活 #AI #集合

activation_functions

这是一组激活函数的集合

2 个版本

0.1.1 2021 年 7 月 10 日
0.1.0 2021 年 7 月 10 日

#1452算法

MIT/Apache

18KB
52

激活函数

描述

这是名为 activation_functions 的 Rust crate 的源代码

目录

内容
信息
文档 (GitHub) (docs.rs)

一些信息

名称
语言 Rust
程序员 SnefDen
版本 0.1.0
最后更新 10.07.2021

文档

目录

sigmoid 二进制步进 tanh 线性整流单元 sigmoid 线性单元 高斯
f32 f32::sigmoid f32::bstep f32::tanh f32::relu f32::silu f32::gaussian
f64 f64::sigmoid f64::bstep f64::tanh f64::relu f64::silu f64::gaussian

f32

sigmoid(x)

信息

参数

// variable stands for parameter

let x:f32;          // float32

内部使用

//      variables
let x:f32;          // parameter
let result:f32;     // return variable

//      functions
std::f32::consts::E.powf();

返回

// variable stands for return

let result:f32;     // float32

示例

let x:f32   = 0.5;
let answer  = sigmoid(x);

println!("sigmoid({}) => {}",x,answer);

将按此格式打印答案和给定的 x 值

sigmoid(0.5) => 0.62245935

实现

pub fn sigmoid(x:f32) -> f32 {
    1 as f32 / (1 as f32 + std::f32::consts::E.powf(-x))
}

bstep(x)

信息

参数

// variable stands for parameter

let x:f32;          // float32

内部使用

//      variables
let x:f32;          // parameter
let result:f32;     // return variable

//      functions
std::f32::consts::E.powf();

返回

// variable stands for return

let result:f32;     // float32

示例

let x:f32   = 0.5;
let answer  = bstep(x);

println!("bstep({}) => {}",x,answer);

将按此格式打印答案和给定的 x 值

bstep(0.5) => 1.0

实现

pub fn bstep(x:f32) -> f32 {
    if x<0 as f32 {
        0 as f32
    } else {
        1 as f32
    }
}

tanh(x)

信息

参数

// variable stands for parameter

let x:f32;          // float32

内部使用

//      variables
let x:f32;          // parameter
let result:f32;     // return variable

//      functions
std::f32::consts::E.powf();

返回

// variable stands for return

let result:f32;     // float32

示例

let x:f32   = 0.5;
let answer  = tanh(x);

println!("tanh({}) => {}",x,answer);

将按此格式打印答案和给定的 x 值

tanh(0.5) => 0.46211714

实现

pub fn tanh(x:f32) -> f32 {
    (std::f32::consts::E.powf(x) - std::f32::consts::E.powf(-x)) / (std::f32::consts::E.powf(x) + std::f32::consts::E.powf(-x))
}

relu(x)

信息

参数

// variable stands for parameter

let x:f32;          // float32

内部使用

//      variables
let x:f32;          // parameter
let result:f32;     // return variable

//      functions
std::f32::consts::E.powf();

返回

// variable stands for return

let result:f32;     // float32

示例

let x:f32   = 0.5;
let answer  = relu(x);

println!("relu({}) => {}",x,answer);

将按此格式打印答案和给定的 x 值

relu(0.5) => 1.0

实现

pub fn relu(x:f32) -> f32 {
    if x<=0 as f32 {
        0 as f32
    } else {
        1 as f32
    }
}

silu(x)

信息

参数

// variable stands for parameter

let x:f32;          // float32

内部使用

//      variables
let x:f32;          // parameter
let result:f32;     // return variable

//      functions
std::f32::consts::E.powf();

返回

// variable stands for return

let result:f32;     // float32

示例

let x:f32   = 0.5;
let answer  = silu(x);

println!("silu({}) => {}",x,answer);

将按此格式打印答案和给定的 x 值

silu(0.5) => 0.31122968

实现

pub fn silu(x:f32) -> f32 {
    x / (1 as f32 + std::f32::consts::E.powf(-x))
}

gaussian(x)

信息

参数

// variable stands for parameter

let x:f32;          // float32

内部使用

//      variables
let x:f32;          // parameter
let result:f32;     // return variable

//      functions
std::f32::consts::E.powf();

返回

// variable stands for return

let result:f32;     // float32

示例

let x:f32   = 0.5;
let answer  = gaussian(x);

println!("gaussian({}) => {}",x,answer);

将按此格式打印答案和给定的 x 值

高斯(0.5) => 0.7788008

实现

pub fn gaussian(x:f32) -> f32 {
    std::f32::consts::E.powf(-(x*x))
}

f64

sigmoid(x)

信息

参数

// variable stands for parameter

let x:f64;          // float64

内部使用

//      variables
let x:f64;          // parameter
let result:f64;     // return variable

//      functions
std::f64::consts::E.powf();

返回

// variable stands for return

let result:f64;     // float64

示例

let x:f64   = 0.5;
let answer  = sigmoid(x);

println!("sigmoid({}) => {}",x,answer);

将按此格式打印答案和给定的 x 值

sigmoid(0.5) => 0.62245935

实现

pub fn sigmoid(x:f64) -> f64 {
    1 as f64 / (1 as f64 + std::f64::consts::E.powf(-x))
}

bstep(x)

信息

参数

// variable stands for parameter

let x:f64;          // float64

内部使用

//      variables
let x:f64;          // parameter
let result:f64;     // return variable

//      functions
std::f64::consts::E.powf();

返回

// variable stands for return

let result:f64;     // float64

示例

let x:f64   = 0.5;
let answer  = bstep(x);

println!("bstep({}) => {}",x,answer);

将按此格式打印答案和给定的 x 值

bstep(0.5) => 1.0

实现

pub fn bstep(x:f64) -> f64 {
    if x<0 as f64 {
        0 as f64
    } else {
        1 as f64
    }
}

tanh(x)

信息

参数

// variable stands for parameter

let x:f64;          // float64

内部使用

//      variables
let x:f64;          // parameter
let result:f64;     // return variable

//      functions
std::f64::consts::E.powf();

返回

// variable stands for return

let result:f64;     // float64

示例

let x:f64   = 0.5;
let answer  = tanh(x);

println!("tanh({}) => {}",x,answer);

将按此格式打印答案和给定的 x 值

tanh(0.5) => 0.46211714

实现

pub fn tanh(x:f64) -> f64 {
    (std::f64::consts::E.powf(x) - std::f64::consts::E.powf(-x)) / (std::f64::consts::E.powf(x) + std::f64::consts::E.powf(-x))
}

relu(x)

信息

参数

// variable stands for parameter

let x:f32;          // float32

内部使用

//      variables
let x:f32;          // parameter
let result:f32;     // return variable

//      functions
std::f32::consts::E.powf();

返回

// variable stands for return

let result:f32;     // float32

示例

let x:f32   = 0.5;
let answer  = relu(x);

println!("relu({}) => {}",x,answer);

将按此格式打印答案和给定的 x 值

relu(0.5) => 1.0

实现

pub fn relu(x:f32) -> f32 {
    if x<=0 as f32 {
        0 as f32
    } else {
        1 as f32
    }
}

silu(x)

信息

参数

// variable stands for parameter

let x:f64;          // float64

内部使用

//      variables
let x:f64;          // parameter
let result:f64;     // return variable

//      functions
std::f64::consts::E.powf();

返回

// variable stands for return

let result:f64;     // float64

示例

let x:f64   = 0.5;
let answer  = silu(x);

println!("silu({}) => {}",x,answer);

将按此格式打印答案和给定的 x 值

silu(0.5) => 0.31122968

实现

pub fn silu(x:f64) -> f64 {
    x / (1 as f64 + std::f64::consts::E.powf(-x))
}

gaussian(x)

信息

参数

// variable stands for parameter

let x:f64;          // float64

内部使用

//      variables
let x:f64;          // parameter
let result:f64;     // return variable

//      functions
std::f64::consts::E.powf();

返回

// variable stands for return

let result:f64;     // float64

示例

let x:f64   = 0.5;
let answer  = gaussian(x);

println!("gaussian({}) => {}",x,answer);

将按此格式打印答案和给定的 x 值

高斯(0.5) => 0.7788008

实现

pub fn gaussian(x:f64) -> f64 {
    std::f64::consts::E.powf(-(x*x))
}

无运行时依赖