Session

Neurocean大约 4 分钟

Session

Session Objects

class Session()

会话管理

Neurocean使用了模块化的模型组织方式,可以按需灵活进行组合嵌套,提高模块的复用性及灵活性。 为了降低用户的使用入门门槛及使用复杂度,我们将相关功能进行了聚集,保证灵活性的同时实现了接口的统一。 会话机制提供了如下功能:

  • 会话管理,会话多实例支持,会话按需重置;
  • 构建基础模型,并将模型自动加入会话中;
  • 构建模块,并将模块自动加入会话中;
  • 从会话中移除模型;
  • 变量监控;
  • 模型编译及运行;
  • 模型结构及状态保存;

__init__

def __init__(name, description='')

init(self: ocean.ocean.Session, name: str, description: str = '') -> None

构建会话

Parameter name: 会话名称

Parameter description: 会话描述

addMonitor

def addMonitor(model, paramName, windows=0)

addMonitor(self: ocean.ocean.Session, model: ocean.ocean.Model, paramName: str, windows: float = 0) -> None

添加变量监控

Parameter model: 模型实例

Parameter paramName: 参数名称

Parameter windows: 缓冲区窗口大小, 为0表示按需进行进行创建

addMonitors

def addMonitors(model, monitors, windows=0)

addMonitors(self: ocean.ocean.Session, model: ocean.ocean.Model, monitors: list, windows: float = 0) -> None

批量添加变量监控

Parameter model: 模型实例

Parameter monitors: 变量列表

Parameter windows: 缓冲区窗口大小, 为0表示按需进行进行创建

compile

def compile(option)

compile(self: ocean.ocean.Session, option: ocean.ocean.CompileOption) -> bool

编译模型并进行初始化

Parameter option: 编译选项

Returns:

编译状态

condition

def condition(time)

condition(self: ocean.ocean.Session, time: int) -> bool

在指定的时间暂停

Parameter time: 暂停时间节点

Returns:

添加设置是否成功

getCapture

def getCapture(model, paramName)

getCapture(self: ocean.ocean.Session, model: ocean.ocean.Model, paramName: str) -> ocean.ocean.CaptureBuffer

获取变量监控结果

Parameter model: 模型实例

Parameter paramName: 变量名称

Returns:

捕获结果

getCaptures

def getCaptures(model, captures)

getCaptures(self: ocean.ocean.Session, model: ocean.ocean.Model, captures: list) -> ocean.ocean.CaptureBufferVector

执行线程数

loadStatus

def loadStatus(filePath, option)

loadStatus(self: ocean.ocean.Session, filePath: str, option: ocean.ocean.CompileOption) -> bool

从文件中加载模型参数及状态

Parameter filePath: 文件路径

Parameter option: 模型编译选项

Returns:

加载是否成功

makeModel

def makeModel(operation, name='', **kwargs)

makeModel(self: ocean.ocean.Session, operation: str, name: str = '', **kwargs) -> ocean.ocean.Model

构建基础模型,模型将自动加入会话中

Parameter operation: 操作名称

Parameter args: 参数列表

Parameter name: 实例名称

Returns:

模型

makeModule

def makeModule(constructor, *args, **kwargs)

makeModule(self: ocean.ocean.Session, constructor: object, *args, **kwargs) -> object

构建内部模块,模块自动加入会话中

Parameter constructor: 模块实例名称

Parameter args: 参数列表

Returns:

模块指针

makeNeuronGroup

def makeNeuronGroup(operation, name='', **kwargs)

makeNeuronGroup(self: ocean.ocean.Session, operation: str, name: str = '', **kwargs) -> ocean.ocean.NeuronGroup

构建神经元组模型,模型自动加入会话中

Parameter operation: 操作名称

Parameter name: 实例名称

Parameter args: 参数列表

Returns:

神经元组模型

makeSynapseGroup

def makeSynapseGroup(operation, name='', **kwargs)

makeSynapseGroup(self: ocean.ocean.Session, operation: str, name: str = '', **kwargs) -> ocean.ocean.SynapseGroup

构建突触组模型,模型自动加入会话中

Parameter operation: 操作名称

Parameter args: 参数列表

Parameter name: 实例名称

Returns:

突触组模型

pause

def pause()

pause(self: ocean.ocean.Session) -> bool

暂停执行

模型内部完成当前执行后暂停, 用于异步暂定模型执行,调用run或pause不会是同一个线程

Returns:

是否暂停成功

removeModel

def removeModel(model)

removeModel(self: ocean.ocean.Session, model: ocean.ocean.Node) -> None

从会话中移除模型

Parameter model: 待移除模型

removeMonitor

def removeMonitor(node, paramName)

removeMonitor(self: ocean.ocean.Session, node: ocean.ocean.Model, paramName: str) -> None

移除变量监控

Parameter model: 模型实例

Parameter paramName: 变量名称

removeMonitors

def removeMonitors(node, monitors)

removeMonitors(self: ocean.ocean.Session, node: ocean.ocean.Model, monitors: list) -> None

批量移除变量监控

Parameter model: 模型实例

Parameter monitors: 变量列表

resume

def resume()

resume(self: ocean.ocean.Session) -> bool

继续执行

Returns:

继续执行是否成功

run

def run(*args, **kwargs)

run(*args, **kwargs) Overloaded function.

  1. run(self: ocean.ocean.Session, option: ocean.ocean.RunOption) -> bool

批量获取变量监控

Parameter model: 模型

Parameter captures: 变量列表

Returns:

捕获结果列表

  1. run(self: ocean.ocean.Session, option: ocean.ocean.CompileOption, runOption: ocean.ocean.RunOption) -> bool

先编译模型,再运行模型

Parameter option: 编译选项

Parameter runOption: 运行选项

Returns:

运行是否成功

saveProto

def saveProto(filePath)

saveProto(self: ocean.ocean.Session, filePath: str) -> bool

保存模型描述到Json文件

Parameter filePath: 保存路径

Returns:

是否保存成功

saveStatus

def saveStatus(filePath)

saveStatus(self: ocean.ocean.Session, filePath: str) -> bool

保存模型结构和参数西信息到二进制文件中

Parameter filePath: 保存路径

Returns:

是否保存成功

terminate

def terminate()

terminate(self: ocean.ocean.Session) -> bool

终止执行

Returns:

终止执行是否成功

status

执行状态

threadNumber

执行线程数

上次编辑于:
贡献者: damone