3个版本
0.3.4 | 2021年7月14日 |
---|---|
0.3.3 | 2021年3月25日 |
0.3.2 | 2021年3月24日 |
在算法中排名1238
每月下载量26次
用于gym-rs
39KB
758 行
CoSyNE
CoSyNE - Rust中的合作突触神经进化
演示
运行示例
RUST_LOG=info cargo run --example cart_pole --release --features="gym-rs plot"
RUST_LOG=info cargo run --example pendulum --release --features="gym-rs plot"
特性
- 使用ANN结构定义用户自定义神经网络拓扑
- 高度可配置,使用Config
- 通过Config定义用户自定义激活函数
- 线性
- 阈值
- 符号
- sigmoid
- tanh
- SoftSign
- BentIdentity
- ReLU
- 在优化过程中更改一些配置选项(例如,以实现模拟退火)
- set_mutation_prob(&mut self, mp: f64)
- set_mutation_strength(&mut self, ms: f64)
- set_perturb_prob(&mut self, pp: f64)
使用方法
要在项目中使用此crate,请将以下内容添加到Cargo.toml
[dependencies]
cosyne = "0.3.3"
网络拓扑创建
要创建用户定义的神经网络拓扑,请使用ANN结构如下
let num_input = 3;
let num_outputs = 1;
let mut nn = ANN::new(num_input, num_output, Activation::Relu);
nn.add_layer(5, Activation::Relu);
nn.add_layer(3, Activation::Relu);
绘图功能
通过传递--features="plot"或在其Cargo.toml中启用绘图功能
cosyne = { version = "0.3.2", features="plot" }
待办事项
- 用户定义的交叉类型(多点与单点)
- 用户定义的初始网络随机化方法
- 均匀
- 高斯
- 泊松盘采样
- 允许循环权重
- 将突变分布公开到配置
- 使用设置器和断言保护公共配置字段
- 绘制ANN
捐赠 💰 💸
如果您想支持此crate的开发,请随意发送捐赠
Monero (XMR) 地址
47xMvxNKsCKMt2owkDuN1Bci2KMiqGrAFCQFSLijWLs49ua67222Wu3LZryyopDVPYgYmAnYkSZSz9ZW2buaDwdyKTWGwwb
许可协议
版权所有 (C) 2020 <Mathis Wellmann [email protected]>
本程序是免费软件:您可以自由重新分发和/或修改它,前提是您遵守自由软件基金会发布的GNU通用公共许可证的条款,许可证版本为3,或(根据您的选择)任何较新版本。
本程序以希望它将是有用的目的进行分发,但没有任何保证;甚至没有关于适销性或特定用途的隐含保证。有关详细信息,请参阅GNU通用公共许可证。
您应已收到随本程序一起提供的GNU通用公共许可证副本。如果没有,请参阅https://gnu.ac.cn/licenses/。
依赖关系
~6–16MB
~214K SLoC