用于神经网络模型验证测试的sciUnit库。
networkunit的Python项目详细描述
一个用于峰值网络验证测试的SciUnit库。
安装
pip install networkunit
概念
networkunit模块基于sciunit包的形式化验证方案,
它允许通过tests根据实验数据(或其他模型)验证models。
测试通过capabilities与模型匹配,并通过score进行定量评估。
下图说明了networkunit中的典型测试设计。
蓝色框表示实施验证测试的组成部分,即:
类、类实例、数据集和参数。
方框之间的关系用带注释的箭头表示。
用绿色箭头表示。试验设计与试验设计的差异
数据(验证)和另一个模拟(证实)用黄色和
分别是红色箭头。一些组件的相关功能
测试分数的计算用伪代码表示。能力
类ProducesProperty
包含函数calc_property()
。测试XYTest
有一个函数
generate_prediction()
利用了模型类继承的这种能力,
生成模型预测。初始化的测试实例XYTest_paramZ
使用
judge()
函数评估此模型预测并计算得分TestScore
。
XYTest
可以从多个抽象测试类(BaseTest
)继承,
例如,它与M2MTest
一起使用,以添加评估多个模型类的功能。
要使测试可执行,它必须链接到ScoreType,并且需要设置所有可用参数
(通过Params
dict)确保结果可重复。
有关如何使用NetworkUnit的Showcase示例可以找到in this repository,Interactive Reveal.js幻灯片包括 可通过顶部的启动活页夹按钮访问。
测试概述
Class name | Parent class | Prediction measure |
---|---|---|
two_sample_test | - | - |
correlation_test | two_sample_test | - |
correlation_dist_test | correlation_test | correlation coefficients |
correlation_matrix_test | correlation_test | correlation coefficient matrix |
generalized_correlation_matrix_test | correlation_matrix_test | matrix of derived cross-correlation measures |
eigenvalue_test | correlation_test | eigenvalues of the correlation coefficient matrix |
covariance_test | two_sample_test | covariances |
firing_rate_test | two_sample_test | firing rates |
isi_variation_test | two_sample_test | inter-spike-intervals, their CV, or LV |
graph_centrality_helperclass | sciunit.Test | graph centrality measures of given adjacency matrix |
派生测试类多重继承时的继承顺序:
classnew_test(sciunit.TestM2M,graph_centrality_helperclass,<base_test_class>)
分数概述
Class name | Test name | Comparison measure |
---|---|---|
students_t | Student’t test | sample mean |
ks_distance | Kolmogorov-Smirnov test | sample distribution |
kl_divergence | Kullback-Leibler divergence | sample entropy |
mwu_statistic | Mann-Whitney U test | rank sum |
levene_score | Levene’s test | sample variance |
effect_size | Effect size | standardized mean |
best_effect_size | Bayesian estimation effect size | standardized mean |
模型类概述
Model name | Capability | Parent class | Purpose |
---|---|---|---|
loaded_data | - | sciunit.Model | loading simulated data |
spiketrain_data | ProducesSpikeTrains | simulation_data | loading simulated spiking data |
stochastic_activity | ProducesSpikeTrains | sciunit.Model | generating stochastic spiking data |
致谢
该开源软件代码部分或全部是在人脑项目中开发的,该项目由欧盟的地平线2020研究与创新框架计划根据第720270号和第785907号特定赠款协议(人脑项目SGA1和SGA2)资助。