Session
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.
- run(self: ocean.ocean.Session, option: ocean.ocean.RunOption) -> bool
批量获取变量监控
Parameter model
: 模型
Parameter captures
: 变量列表
Returns:
捕获结果列表
- 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
执行线程数