ocean::Executor
大约 5 分钟
ocean::Executor
模型执行器 More...
#include <Executor.hpp>
Public Functions
Name | |
---|---|
Executor(PModelExecutor executor) 构建执行器 | |
ExecutorStatus | getStatus() 获取执行状态 |
void | setThreadNumber(int number) 设置执行线程数 |
int | getThreadNumber() 获取执行线程数 |
Status | compile(CompileOption option) 编译模型 |
bool | initStatus() 初始化模型状态 |
void | addMonitor(PModel model, const std::string & paramName, float windows =0) 添加变量监控 |
void | addMonitors(PModel model, std::vector< std::string > monitors, float windows =0) 批量添加变量监控 |
void | removeMonitor(PModel model, const std::string & paramName) 移除变量监控 |
void | removeMonitors(PModel model, std::vector< std::string > monitors) 批量删除变量监控 |
CaptureBuffer | getCapture(PModel model, const std::string & paramName) 获取变量监控结果 |
std::vector< CaptureBuffer > | getCaptures(PModel model, std::vector< std::string > captures) 批量获取变量监控 |
bool | run(RunOption & option) 运行模型 |
bool | run(CompileOption option, RunOption & runOption) 先编译模型,再运行模型 |
bool | pause() 暂停执行 |
bool | condition(float time) 在指定的时间暂停 |
bool | resume() 继续执行 |
bool | terminate() 终止执行 |
Protected Attributes
Name | |
---|---|
PModelExecutor | executor 内部模型执行器指针 |
Detailed Description
class ocean::Executor;
模型执行器
执行器负责模型的运行及状态管理
- 包括如下接口:
- 获取状态, 设置或获取线程池线程数;
- 编译模型;
- 添加变量监控,移除变量监控,获取捕获的监控数据等;
- 运行模型,编译后运行, 暂停运行, 继续运行,终止运行等;
- 编译及运行均需要指定选项
- 编译选项通过CompileOption进行传递,指定了运行的执行后端设备配置信息;
- 运行选项通过RunOption进行传递,报考是否进行性能分析,运行突触可塑性及运行时长等信息;
- 模型监控 Neurocean支持对模型中变量的变化监控,可以动态添加需要进行监控的节点变量,自动完成变量的监控, 也可以随时取消相关的变量监控。
- Neurocean提供了参数注册机制,针对变量的监控对操作节点和建模本身是透明的,可以随时按需增加 或取消变量的监控;
- 执行后端针对操作的参数进行捕获,捕获后保存到事先创建的缓存中,在运行中或运行结束后, 可以随时进行缓存变量的查询;
- 在模型的变量监控时,针对神经元模型,在神经元发放时, 分别记录了发放脉冲时候的尖波点位, 同时记录了恢复后的重置电位,保留记录神经元电位变化过程中的所有电位位状态,为神经元的 状态变化分析提供完整的数据支持;
Public Functions Documentation
function Executor
explicit Executor(
PModelExecutor executor
)
构建执行器
Parameters:
- executor 内部执行器指针
Note: 该方法仅被内部模块使用
function getStatus
ExecutorStatus getStatus()
获取执行状态
Return: 执行状态
function setThreadNumber
void setThreadNumber(
int number
)
设置执行线程数
Parameters:
- number 线程数
function getThreadNumber
int getThreadNumber()
获取执行线程数
Return: 线程数
function compile
Status compile(
CompileOption option
)
编译模型
Parameters:
- option 编译选项
Return: 编译状态
function initStatus
bool initStatus()
初始化模型状态
Return: 初始化是否成成功
function addMonitor
void addMonitor(
PModel model,
const std::string & paramName,
float windows =0
)
添加变量监控
Parameters:
- model 模型实例
- paramName 参数名称
- windows 缓冲区窗口大小, 为0表示按需进行进行创建
function addMonitors
void addMonitors(
PModel model,
std::vector< std::string > monitors,
float windows =0
)
批量添加变量监控
Parameters:
- model 模型实例
- monitors 变量列表
- windows 缓冲区窗口大小, 为0表示按需进行进行创建
function removeMonitor
void removeMonitor(
PModel model,
const std::string & paramName
)
移除变量监控
Parameters:
- model 模型实例
- paramName 变量名称
function removeMonitors
void removeMonitors(
PModel model,
std::vector< std::string > monitors
)
批量删除变量监控
Parameters:
- model 模型实例
- monitors 变量列表
function getCapture
CaptureBuffer getCapture(
PModel model,
const std::string & paramName
)
获取变量监控结果
Parameters:
- model 模型实例
- paramName 变量名称
Return: 捕获结果
function getCaptures
std::vector< CaptureBuffer > getCaptures(
PModel model,
std::vector< std::string > captures
)
批量获取变量监控
Parameters:
- model 模型
- captures 变量列表
Return: 捕获结果列表
function run
bool run(
RunOption & option
)
运行模型
Parameters:
- option 运行选项
Return: 运行是否成功
function run
bool run(
CompileOption option,
RunOption & runOption
)
先编译模型,再运行模型
Parameters:
- option 编译选项
- runOption 运行选项
Return: 运行是否成功
function pause
bool pause()
暂停执行
Return: 是否暂停成功
模型内部完成当前执行后暂停, 用于异步暂定模型执行,调用run或pause不会是同一个线程
function condition
bool condition(
float time
)
在指定的时间暂停
Parameters:
- time 暂停时间节点
Return: 添加设置是否成功
function resume
bool resume()
继续执行
Return: 继续执行是否成功
function terminate
bool terminate()
终止执行
Return: 终止执行是否成功
Protected Attributes Documentation
variable executor
PModelExecutor executor;
内部模型执行器指针
Updated on 2022-08-19 at 17:14:26 +0800