ocean::SynapseGroup

Neurocean大约 5 分钟

ocean::SynapseGroup

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

#include <Model.hpp>

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

Public Functions

Name
SynapseGroup(const PSynapseModel & synapseModel)
构建突触组
~SynapseGroup() override
析构突触组,自动调用
boolconnect(uint16_t src, uint16_t dst)
一对一连接
boolconnect(float probability =1.f)
指定概率进行连接
boolconnect(const Tensor & sources, uint16_t dst, float probability =1.f)
指定批神经元到指定神经元连接
boolconnect(uint16_t src, const Tensor & targets, float probability =1.f)
指定一个神经元到一批神经元连接
boolconnect(const Tensor & sources, const Tensor & targets, float probability =1.f)
指定一批神经元到一批神经元的连接
boolconnectMatrix(const Tensor & matrix)
指定连接位点索引矩阵进行连接
boolconnectInhibit()
侧抑制连接
PSynapseModelgetSynapseModel()
获取内部模块指针

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::SynapseGroup;

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

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

  • 一对一连接;
  • 指定概率的全连接;
  • 指定一批神经元到一个神经元;
  • 指定一个神经元到一批神经元;
  • 指定一批神经元到一批神经元;
  • 指定连接索引矩阵
  • 侧向抑制连接,一般输入和输出同源,且输入输出数目相等,除自身位置外,其它连接关系均存在

Public Functions Documentation

function SynapseGroup

explicit SynapseGroup(
    const PSynapseModel & synapseModel
)

构建突触组

Parameters:

  • synapseModel 内部模块指针

Note: 仅被内部模块调用

function ~SynapseGroup

~SynapseGroup() 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 connect

bool connect(
    uint16_t src,
    const Tensor & targets,
    float probability =1.f
)

指定一个神经元到一批神经元连接

Parameters:

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

Return: 建立效果

  • true, 成功
  • false, 失败

function connect

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

指定一批神经元到一批神经元的连接

Parameters:

  • sources 输入的一群神经元索引, uint16 的张量
  • targets 输出的一群神经元索引, uint16的张量
  • probability 0 < probability < = 1.0

Return: 建立效果

  • true, 成功
  • false, 失败

function connectMatrix

bool connectMatrix(
    const Tensor & matrix
)

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

Parameters:

  • matrix 连接矩阵 uint32 张量

Return: 建立效果

  • true, 成功
  • false, 失败

function connectInhibit

bool connectInhibit()

侧抑制连接

Return: 建立效果

  • true, 成功
  • false, 失败

function getSynapseModel

PSynapseModel getSynapseModel()

获取内部模块指针

Return: 内部模块指针

Note: 该方法仅被内部使用


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

上次编辑于:
贡献者: damone