张量流蒙特卡罗积分
vegasflow的Python项目详细描述
VegasFlow公司
VegasFlow是一个用Python编写的montecarlo集成库,它基于TensorFlow框架。它的开发重点是速度和效率,使研究人员能够尽可能快速和简单地执行非常昂贵的计算。在
VegasFlow的一些关键特性是:
在单(多线程)和多CPU、单GPU和多GPU、多个GPU或群集上高效集成高维功能。在
在与Python、C、C++或FORTRAN兼容。在
在不同蒙特卡罗算法的实现。在
在
文件
https://vegasflow.readthedocs.io/en/latest
安装
该软件包可与pip一起安装:
python3 -m pip install vegasflow
以及conda
,来自conda-forge
频道:
如果您喜欢手动安装,可以克隆存储库并运行:
git clone https://github.com/N3PDF/vegasflow.git
cd vegasflow
python setup.py install
或者,如果您计划扩展或开发代码,只需使用:
python setup.py develop
示例
下面您可以找到使用VegasFlow进行集成的最小工作示例
有关更复杂的示例,请参见documentation 或examples文件夹。在
可以使用以下方法安装示例所需的依赖项:
pip install .[examples]
最小工作示例
fromvegasflowimportvegas_wrapperimporttensorflowastfdefintegrand(x,**kwargs):""" Function: x_{1} * x_{2} ... * x_{n} x: array of dimension (events, n) """returntf.reduce_prod(x,axis=1)dimensions=8iterations=5events_per_iteration=int(1e5)vegas_wrapper(integrand,dimensions,iterations,events_per_iteration,compilable=True)
如果您愿意,请随时联系open an issue 一些特定的例子或者找到代码或文档中的任何问题。在
引文政策
如果您使用该软件包,请引用以下文件和zenodo参考资料:
@article{Carrazza:2020rdn,author="Carrazza, Stefano and Cruz-Martinez, Juan M.",title="{VegasFlow: accelerating Monte Carlo simulation across multiple hardware platforms}",eprint="2002.12921",archivePrefix="arXiv",primaryClass="physics.comp-ph",reportNumber="TIF-UNIMI-2020-8",doi="10.1016/j.cpc.2020.107376",journal="Comput. Phys. Commun.",volume="254",pages="107376",year="2020"}@software{vegasflow_package,author={Juan Cruz-Martinez and Stefano Carrazza},title={N3PDF/vegasflow: vegasflow v1.0},month=feb,year=2020,publisher={Zenodo},version={v1.0},doi={10.5281/zenodo.3691926},url={https://doi.org/10.5281/zenodo.3691926}}
- 项目
标签: