基于回声状态网络的油藏计算python库

easyesn的Python项目详细描述



easy esn
"easyesn"是一个使用回声状态网络(esn,也称为"储层计算")的递归神经网络库,具有高度易用的api,紧密面向"sklearn"。它旨在通过提供基于梯度的超参数自动调整(岭回归惩罚、谱半径、泄漏率和反馈比例)以及瞬态时间估计的算法,尽可能容易地利用"esn"。此外,它还集成了使用时空"esn"来预测和分类几何扩展输入信号的能力。

"easyesn"可以使用cpu,也可以使用gpu,这要感谢"cupy"。不过,目前建议使用CPU!

本项目基于luca-thiede基于梯度的超参数优化和瞬态时间估计的研究成果,以及罗兰·齐默尔曼的时空预测和分类技术。

` easyesn'library是使用"python 3"构建的。不能在"python 2.x"环境中使用它。目前推荐的安装"easyesn"的方法是通过"pip"。不过,您也可以在不使用"pip"的情况下自行安装"easyesn"。

它将自动安装"easyesn"及其依赖项。

转到"easyesn"的"pypi"[页面](https://pypi.python.org/pypi/easyesn),下载最新版本作为`*.tar.gz'存档。
2.提取存档。
3.打开命令行/终端和cd,进入包含"setup.py"的目录。
4。执行"python setup.py install"开始安装。


对于每个任务,都有一个专门的模块,例如"分类"用于输入信号的分类,"预测"用于预测或生成(即总是将先前的预测反馈回中,从而提前几步预测),"回归"用于将信号映射到一个实数,或者"时空"用于预测几何扩展的输入信号(例如心脏表面或视频帧上的电激励)。

使用
``python
esn.fit(x_train,y_train,transientTime=100,verbose=1)
````
,并使用
``python
`y_test pred=esn.predict进行预测(x_test,transientTime=100,verbose=1)
```

n_u水库=500,渗漏率=0.2,光谱半径=0.2,回归参数=[1e-2])
````
,山脊回归的惩罚为"1e-2"。要优化超参数,还需要创建一个优化器对象
``python
opt=gradientoptimizer(esn,learningrate=0.001)
`````
``python
``validationloss,fitloss,inputscalings,spectralradius,leakingrates,learningrates=opt.optimizeparameterfortrainerror(inputdatatraining,outputdatatraining,inputdatavalidation,outputdatavalidation,epochs=150,transienttime=100)
validationloss,fitloss,pensions=opt.optimizepension(inputdatatraining,outputdatatraining,inputdatavalidation,outputdatavalidation,epochs=150,transienttime=100)
````
可以在examples目录中找到更广泛的示例。

##后端
正如前面提到的,"easyesn"既可以在cpu上使用,也可以在gpu上使用。为了实现这一点,所有低级计算都外包到后端(类似于"keras"的后端技术)。要将"backend"更改为另一个名为"backendname"的后端,目前有两种方法:

1。修改存储在` ~/.easyesn/easyesn.json`中的设置文件,使其包含如下内容:
``json
{
"backend":"backendname"
}
````
,并在代码中使用"easyesn",而无需进一步修改。

2.将"easyesn_backend"环境变量设置为"backendname",并在代码中使用"easyesn",而无需进一步修改。

这些都是受支持的后端名称:


后端名称后端类型;



/>
文档

#目前"easyesn"库不仅涵盖了储层计算的所有基本特征,而且还涵盖了一些新的、最先进的应用方法。尽管如此,在未来的版本中还有更多的东西需要实现。在下面,这些功能请求和想法一起列出了它们的进展:

-集成ESN(25%)
-添加对深度学习方法的支持作为输出方法(仍然开放)
-改进的GPU计算性能(仍然开放)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Google应用程序引擎FreeMarker模板java。安全AccessControlException   在Java中,空字符串(“”)如何存储在内存中?   java如何使用PUT进行创建   java无法构造com的实例。谷歌。云数据存储。钥匙   Java递归中的堆栈溢出错误   java通过结构化设计模式重构冗余代码   javascript使用Selenium IDE 2.9.1上传文件   JAVAutil。扫描仪在Java中将文本文件加载到对象中   这个JAVA程序的时间复杂度是多少   java Springboot+tomcat+ssh=连接链路故障   矢量Java不安全操作   用于Java不同生成代码的协议缓冲区gRPC protobuf生成器   java OSGi为什么我的包命名为“unknown0.0.0”和MANIFEST。MF文件被覆盖了吗?   java日期保持为空(Android)   使用stax解析器java解析xml   java有一种方法可以在运行时确定对象是否是使用Lambdaj创建的。关于()方法?