用于Qulacs的PennyLane插件

pennylane-qulacs的Python项目详细描述


GitHub Workflow Status (branch)Codecov coverageCodeFactor GradeRead the DocsPyPIPyPI - Python Version

PennylaneQulacs插件集成了Qulacs量子计算框架和PennyLane的 量子机器学习能力。在

PennyLane是一个用于量子机器的跨平台Python库 混合量子经典计算的学习、自动微分和优化。在

Qulacs是一个用C++编写的GPU支持的量子计算软件库。在

插件文档可以在这里找到:https://pennylane-qulacs.readthedocs.io/en/latest/。在

特点

  • 通过qulacs.simulator设备提供对Qulacs模拟器后端的访问
  • 支持所有PennyLane核心功能

基准

我们运行了100次4层量子神经系统 网络strongly entangling layer 比较了CPU和GPU的运行时间。在

https://raw.githubusercontent.com/soudy/pennylane-qulacs/master/images/qnn_cpu_vs_gpu.png

https://raw.githubusercontent.com/soudy/pennylane-qulacs/master/images/qulacs_table.png

安装

这个插件需要python3.6或更高版本,以及PennyLane和 库拉克斯。这个插件的安装,以及所有的依赖,都可以完成 使用pip

$ pip install pennylane-qulacs["cpu"]

请注意,您需要包括是否安装CPU版本 (pennylane-qulacs["cpu"])或GPU版本(pennylane-qulacs["gpu"]) 以确保正确安装。否则Qulacs将需要 独立安装:

^{pr2}$

或者,您可以通过导航到顶部,从source code安装PennylaneQulacs 目录和运行:

$ python setup.py install

注意

Qulacs支持通过OpenMP并行执行。要设置的编号 在需要更新环境的模拟过程中使用的线程 变量OMP_NUM_THREADS。可以使用UNIX命令进行设置:

export OMP_NUM_THREADS = 8

其中8可以替换为您希望使用的线程数。通过 默认的Qulac使用所有可用线程。要恢复默认行为, 只需删除环境变量。可以使用UNIX命令执行此操作:

unset OMP_NUM_THREADS

有关的详细信息,请参阅OpenMP documentation page for OMP_NUM_THREADShere 如何使用环境变量。在

依赖性

PennyLane Qulacs要求安装以下库:

以及以下Python包:

如果您当前没有安装Python3,我们建议您 Anaconda for Python 3,打包的Python的分布式版本 科学计算。在

测试

为了测试PennylaneQulacs插件是否正常工作,您可以运行

$ make test

在源文件夹中。在

文档

要构建HTML文档,请转到顶层目录并运行:

$ make docs

然后可以在doc/_build/html/目录中找到该文档。在

贡献

我们欢迎大家的贡献-只需将这个插件的存储库分叉,然后生成一个 pull request包含你的贡献。 此插件的所有贡献者都将作为发布者列出。在

我们还鼓励bug报告、新特性和增强的建议,甚至是到酷项目的链接 或者在PennyLane上构建的应用程序。在

作者

《古兰经》是many contributors的作品。在

如果您正在使用PennyLane和PennyLane Qulacs进行研究,请引用our paper

Ville Bergholm, Josh Izaac, Maria Schuld, Christian Gogolin, M. Sohaib Alam, Shahnawaz Ahmed, Juan Miguel Arrazola, Carsten Blank, Alain Delgado, Soran Jahangiri, Keri McKiernan, Johannes Jakob Meyer, Zeyue Niu, Antal Száva, and Nathan Killoran. PennyLane: Automatic differentiation of hybrid quantum-classical computations. 2018. arXiv:1811.04968

支持

如果您有问题,请通过在我们的Github问题跟踪器上发布问题来通知我们,或者 在论坛上问一个问题。在

许可证

PennylaneQulacs插件是^{str1}$free和^{str1}$开源,发布于 Apache License, Version 2.0。在

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

推荐PyPI第三方库


热门话题
java如何拆分字符串(基于各种分隔符),但不保留空格?   解析。Json格式的txt文件和knime中的java   java Spring rest api为什么在rest api调用的响应中更改了数据类型   升华文本3抛出java。lang.ClassNotFoundException,而记事本++不存在   java Android指纹扫描仪在尝试5次后停止工作?   java Android如何设置精确的重复报警?   java如何使用HTTPGET connect为access API输入用户名和密码   java当测试报告显示没有测试失败时,Gradle为什么说“有失败的测试”?   用Gson实现java获取响应   MapReduce程序中函数错误的java不可映射参数   java spring安全性不符合自动代理的条件   java GWT使用异步回调进行同步/阻塞调用   java奇怪的类数组问题无法在jsp中显示   如何在java中使用PrinterJob使用epl打印条形码   java如何在JTable中居中单元格   将Java Mockito测试转换为Kotlin   html Java正则表达式模式匹配到多个相同标记   testCompile中缺少java Gradle(Android)多项目依赖项   在输入提示后输入字符串时发生java FileNotFoundException