ocean::DendriteGroup

Neurocean大约 4 分钟

ocean::DendriteGroup

树突组是树突的基础容器,容纳一群特性相近的树突 More...

#include <Model.hpp>

Inherits from ocean::ConnectionModel, ocean::Model, ocean::Node, std::enable_shared_from_this< Node >

Public Functions

Name
DendriteGroup(const PDendriteModel & dendriteModel)
构建树突组
~DendriteGroup() override
树突组析构
boolconnect(uint16_t src, uint16_t dst)
一对一连接
boolconnect(float probability =1.f)
指定概率进行连接
boolconnect(const Tensor & sources, uint16_t dst, float probability =1.f)
指定一批突触到指定神经元连接
boolconnectMatrix(const Tensor & matrix)
指定连接位点索引矩阵进行连接
PDendriteModelgetDendriteModel()
获取内部模块指针

Additional inherited members

Public Functions inherited from ocean::ConnectionModel

Name
ConnectionModel(const PIConnectionModel & connectionModel)
构建连接模型
boolclear()
清理所有连接关系,对应逻辑关系全部移除
voidtraversal(const std::function< bool(uint32_t)> & dealSynapse)
遍历所有连接点,相当于在连接图中连接矩阵的索引位置
uint32_tgetNumber()
获取连接数
uint16_tgetInputNumber()
获取输入数
uint16_tgetOutputNumber()
获取输出数
PIConnectionModelgetConnectionModel()
获取内部模块指针

Public Functions inherited from ocean::Model

Name
Model(const PIModel & base)
构造模型, 该方法由模块内部调用
~Model() override
模型析构
floatgetStep()
获取计算步长,步长是两次计算间的周期
std::stringgetOperation()
获取操作名称
PVariablegetParam(const std::string & paramName)
根据参数名称获取变量
PTensorVariablegetStatus(const std::string & variableName)
据参数名称张量变量
boolsetStatus(const std::string & variableName, const Filler & filler)
根据参数名称设置张量变量
boolsetStatus(const std::string & variableName, const Tensor & status)
根据参数名称设置张量变量
PInputin(const std::string & name)
根据端口名称获取输入端口
POutputout(const std::string & name)
根据端口名称获取输出端口
PReferenceref(const std::string & name)
根据端口名称获取引用端口
PConnectionmat(const std::string & name)
根据端口名称获取连接端口
voidaddMonitor(const std::string & paramName, float windows =0)
添加变量监控
voidaddMonitors(std::vector< std::string > monitors, float windows =0)
批量添加变量监控
voidremoveMonitor(const std::string & paramName)
移除变量监控
voidremoveMonitors(std::vector< std::string > monitors)
批量删除变量监控
CaptureBuffergetCapture(const std::string & paramName)
获取变量监控结果
std::vector< CaptureBuffer >getCaptures(std::vector< std::string > captures)
批量获取变量监控
PIModelgetModel()
获取内部模型指针, 仅被内部模块使用

Public Functions inherited from ocean::Node

Name
Node(PModelBase model)
构造节点
virtual~Node()
节点析构函数
const std::string &getName() const
获取节点名称
const std::string &getDescription() const
获取节点描述
voidsetDescription(const std::string & description)
设置节点描述
PModelBasegetModelBase()
获取内部基类指针

Protected Attributes inherited from ocean::Node

Name
PModelBasemodel
内部模块指针

Detailed Description

class ocean::DendriteGroup;

树突组是树突的基础容器,容纳一群特性相近的树突

Note: 树突建模不考虑一对多的情形,即只存在多对一的连接,模型本身提供了限制, 已经指定了输出的输入,二次指定不再有效,除非全部清理后再建立。

树突组继承至连接模块, 描述的是树突的输入及输出存在不规则连接,提供了一系列的接口用于指定突触连接关系;

  • 一对一连接;
  • 指定概率的连接;
  • 指定一批神经元到一个神经元;
  • 指定连接索引矩阵

Public Functions Documentation

function DendriteGroup

explicit DendriteGroup(
    const PDendriteModel & dendriteModel
)

构建树突组

Parameters:

  • dendriteModel 内部模块指针

function ~DendriteGroup

~DendriteGroup() override

树突组析构

function connect

bool connect(
    uint16_t src,
    uint16_t dst
)

一对一连接

Parameters:

  • src 输入神经元索引
  • dst 输出神经元索引

Return: 建立效果

  • true, 成功
  • false, 失败

function connect

bool connect(
    float probability =1.f
)

指定概率进行连接

Parameters:

  • probability 连接概率, 0 < probability < = 1.0

Return: 建立效果

  • true, 成功
  • false, 失败

function connect

bool connect(
    const Tensor & sources,
    uint16_t dst,
    float probability =1.f
)

指定一批突触到指定神经元连接

Parameters:

  • sources 输入的一群神经元索引, uint16 的张量
  • dst 输出神经元
  • probability 连接概率,0 < probability < = 1.0

Return: 建立效果

  • true, 成功
  • false, 失败

function connectMatrix

bool connectMatrix(
    const Tensor & matrix
)

指定连接位点索引矩阵进行连接

Parameters:

  • matrix 连接矩阵 uint32 张量

Return: 建立效果

  • true, 成功
  • false, 失败

function getDendriteModel

PDendriteModel getDendriteModel()

获取内部模块指针

Return: 内部模块指针

Note: 该方法仅被内部模块使用


Updated on 2022-08-19 at 17:14:26 +0800

上次编辑于:
贡献者: damone