SGHMC的C++扩展
c-sghmc的Python项目详细描述
C-SGHMC公司
=======================
这是杜克大学统计计算项目的一部分。
这里要找到的代码是使用PybDun11为Python包装的SGHMC算法的C++实现。并进一步验证了陈天琦、福克斯和盖斯特林关于sghmc的原始论文“随机梯度哈密顿蒙特卡罗”的结果。
从我们的项目中可以看出,与纯python版本相比,这是一个**15时间效率改进**。
主文件
=======================
**SGHMCCROR.CPP**是用Python包装的C++中的原始SGHMC ALGO
-**c_sghmc.py**调用和修饰上述扩展,并在原始文件的示例上进行测试
运行代码所需的包
=======================
-实现使用**EigE**库用于C++,因此运行以下行:
!Git克隆https://github.com/rlovelett/eigen.git
确保将其克隆到与代码相同的目录中。
**pybdn11**和**cpp进口**是为Python打包C++代码所需的两个标准包,并导入它们:
!pip3安装pybind11
!PIP3安装CPPImport
示例使用**sympy**指定函数(如势能和动能,以及前者的梯度),**numpy**和**numpy.random**。
=======================
这是杜克大学统计计算项目的一部分。
这里要找到的代码是使用PybDun11为Python包装的SGHMC算法的C++实现。并进一步验证了陈天琦、福克斯和盖斯特林关于sghmc的原始论文“随机梯度哈密顿蒙特卡罗”的结果。
从我们的项目中可以看出,与纯python版本相比,这是一个**15时间效率改进**。
主文件
=======================
**SGHMCCROR.CPP**是用Python包装的C++中的原始SGHMC ALGO
-**c_sghmc.py**调用和修饰上述扩展,并在原始文件的示例上进行测试
运行代码所需的包
=======================
-实现使用**EigE**库用于C++,因此运行以下行:
!Git克隆https://github.com/rlovelett/eigen.git
确保将其克隆到与代码相同的目录中。
**pybdn11**和**cpp进口**是为Python打包C++代码所需的两个标准包,并导入它们:
!pip3安装pybind11
!PIP3安装CPPImport
示例使用**sympy**指定函数(如势能和动能,以及前者的梯度),**numpy**和**numpy.random**。