[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-mit-han-lab--torchquantum":3,"tool-mit-han-lab--torchquantum":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",160784,2,"2026-04-19T11:32:54",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":77,"owner_twitter":78,"owner_website":79,"owner_url":80,"languages":81,"stars":94,"forks":95,"last_commit_at":96,"license":97,"difficulty_score":32,"env_os":98,"env_gpu":99,"env_ram":98,"env_deps":100,"category_tags":104,"github_topics":106,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":120,"updated_at":121,"faqs":122,"releases":152},9785,"mit-han-lab\u002Ftorchquantum","torchquantum","A PyTorch-based framework for Quantum Classical Simulation, Quantum Machine Learning, Quantum Neural Networks, Parameterized Quantum Circuits with support for easy deployments on real quantum computers.","TorchQuantum 是一个基于 PyTorch 构建的开源框架，旨在让量子计算模拟、量子机器学习及量子神经网络的研发变得更加高效便捷。它核心解决了传统量子开发工具在经典硬件上模拟效率低、调试困难以及难以与主流深度学习工作流融合的痛点。\n\n通过利用 PyTorch 的动态计算图特性，TorchQuantum 支持自动梯度计算和快速的 GPU 加速，能够轻松实现批量化的张量处理，甚至可在多卡环境下扩展模拟超过 30 个量子比特的系统。其独特的技术亮点在于无缝衔接了经典与量子领域：用户不仅可以像在 PyTorch 中构建普通神经网络一样轻松搭建参数化量子电路，还能直接将训练好的模型部署到 IBMQ 等真实量子设备上运行。\n\n这款工具特别适合从事量子算法设计、量子最优控制、量子机器学习及量子神经网络研究的研究人员和开发者。如果你希望借助熟悉的 PyTorch 生态来探索前沿的量子混合模型，或者需要在一个支持快速迭代和调试的环境中进行大规模量子电路训练，TorchQuantum 将是一个理想的选择。它不仅降低了量子计算的入门门槛，更为学术界和工业界提供了从理论模拟到真机验证的一站式解决方案","TorchQuantum 是一个基于 PyTorch 构建的开源框架，旨在让量子计算模拟、量子机器学习及量子神经网络的研发变得更加高效便捷。它核心解决了传统量子开发工具在经典硬件上模拟效率低、调试困难以及难以与主流深度学习工作流融合的痛点。\n\n通过利用 PyTorch 的动态计算图特性，TorchQuantum 支持自动梯度计算和快速的 GPU 加速，能够轻松实现批量化的张量处理，甚至可在多卡环境下扩展模拟超过 30 个量子比特的系统。其独特的技术亮点在于无缝衔接了经典与量子领域：用户不仅可以像在 PyTorch 中构建普通神经网络一样轻松搭建参数化量子电路，还能直接将训练好的模型部署到 IBMQ 等真实量子设备上运行。\n\n这款工具特别适合从事量子算法设计、量子最优控制、量子机器学习及量子神经网络研究的研究人员和开发者。如果你希望借助熟悉的 PyTorch 生态来探索前沿的量子混合模型，或者需要在一个支持快速迭代和调试的环境中进行大规模量子电路训练，TorchQuantum 将是一个理想的选择。它不仅降低了量子计算的入门门槛，更为学术界和工业界提供了从理论模拟到真机验证的一站式解决方案。","\u003Cp align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmit-han-lab_torchquantum_readme_3584361ef91a.jpg\" alt=\"torchquantum Logo\" width=\"450\">\n\u003C\u002Fp>\n\n\u003Ch2>\u003Cp align=\"center\">Quantum Computing in PyTorch\u003C\u002Fp>\u003C\u002Fh2>\n\u003Ch3>\u003Cp align=\"center\">Faster, Scalable, Easy Debugging, Easy Deployment on Real Machine\u003C\u002Fp>\u003C\u002Fh3>\n\n\n\u003Cp align=\"center\">\n    \u003Ca href=\"https:\u002F\u002Ftorchquantum.readthedocs.io\u002F\">\n        \u003Cimg alt=\"Documentation\" src=\"https:\u002F\u002Fimg.shields.io\u002Freadthedocs\u002Ftorchquantum\u002Fmain\">\n    \u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fblob\u002Fmaster\u002FLICENSE\">\n        \u003Cimg alt=\"MIT License\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fmit-han-lab\u002Ftorchquantum\">\n    \u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fjoin.slack.com\u002Ft\u002Ftorchquantum\u002Fshared_invite\u002Fzt-1ghuf283a-OtP4mCPJREd~367VX~TaQQ\">\n        \u003Cimg alt=\"Chat @ Slack\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fslack-chat-2eb67d.svg?logo=slack\">\n    \u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FVTHZAB5E\">\n        \u003Cimg alt=\"Chat @ Discord\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcontact-me-blue?logo=discord&logoColor=white\">\n    \u003C\u002Fa>\n\u003C!--     \u003Ca href=\"https:\u002F\u002Fqmlsys.hanruiwang.me\">\n        \u003Cimg alt=\"Forum\" src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscourse\u002Fstatus?server=https%3A%2F%2Fqmlsys.hanruiwang.me%2F\">\n    \u003C\u002Fa> -->\n    \u003Ca href=\"https:\u002F\u002Fqmlsys.mit.edu\">\n        \u003Cimg alt=\"Website\" src=\"https:\u002F\u002Fimg.shields.io\u002Fwebsite?up_message=qmlsys&url=https%3A%2F%2Fqmlsys.mit.edu\">\n    \u003C\u002Fa>\n   \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Ftorchquantum\u002F\">\n        \u003Cimg alt=\"Pypi\" src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Ftorchquantum\">\n    \u003C\u002Fa>\n       \u003Ca href=\"https:\u002F\u002Funitary.fund\u002F\">\n        \u003Cimg alt=\"Pypi\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fsupported%20by-Unitary%20Fund-green\">\n    \u003C\u002Fa>\n   \u003C\u002Fa>\n       \u003Ca href=\"https:\u002F\u002Fpytorch.org\u002Fecosystem\u002F\">\n        \u003Cimg alt=\"Pypi\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fintegration%20-PyTorch%20Ecosystem-blue\">\n    \u003C\u002Fa>\n    \u003C\u002Fa>\n       \u003Ca href=\"https:\u002F\u002Fqiskit.org\u002Fecosystem\u002F\">\n        \u003Cimg alt=\"Pypi\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fintegration%20-Qiskit%20Ecosystem-blue\">\n    \u003C\u002Fa>\n\n\u003C\u002Fp>\n\u003Cbr \u002F>\n\n\n\n# 👋 Welcome\n\n#### What it is doing\n\nSimulate quantum computations on classical hardware using PyTorch. It supports statevector simulation and pulse simulation on GPUs. It can scale up to the simulation of 30+ qubits with multiple GPUs.\n#### Who will benefit\n\nResearchers on quantum algorithm design, parameterized quantum circuit training, quantum optimal control, quantum machine learning, quantum neural networks.\n#### Differences from Qiskit\u002FPennylane\n\nDynamic computation graph, automatic gradient computation, fast GPU support, batch model tensorized processing.\n\n## News\n- Torchquantum is used in the winning team for ACM Quantum Computing for Drug Discovery Challenge.\n- Torchquantum is highlighted in [unitaryHACK](https:\u002F\u002F2024.unitaryhack.dev\u002Fprojects\u002Ftorchquantum\u002F).\n- TorchQuantum received a [Unitary Foundation microgrant](https:\u002F\u002Funitary.foundation\u002Fgrants\u002F).\n- TorchQuantum is integrated to [IBM Qiskit Ecosystem](https:\u002F\u002Fqiskit.github.io\u002Fecosystem\u002F).\n- TorchQuantum is integrated to [PyTorch Ecosystem](https:\u002F\u002Fpytorch.org\u002Fecosystem\u002F).\n- v0.1.8 Available!\n- Check the [dev branch](https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Ftree\u002Fdev) for new latest features on quantum layers and quantum algorithms.\n- Join our [Slack](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Ftorchquantum\u002Fshared_invite\u002Fzt-1ghuf283a-OtP4mCPJREd~367VX~TaQQ) for real time support!\n- Welcome to contribute! Please contact us or post in the Github Issues if you want to have new examples implemented by TorchQuantum or any other questions.\n- Qmlsys website goes online: [qmlsys.mit.edu](https:\u002F\u002Fqmlsys.mit.edu) and [torchquantum.org](https:\u002F\u002Ftorchquantum.org)\n\n## Features\n\n- Easy construction and simulation of quantum circuits in **PyTorch**\n- **Dynamic computation graph** for easy debugging\n- **Gradient support** via autograd\n- **Batch mode** inference and training on **CPU\u002FGPU**\n- Easy **deployment on real quantum devices** such as IBMQ\n- **Easy hybrid classical-quantum** model construction\n- (coming soon) **pulse-level simulation**\n\n\n## Installation\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum.git\ncd torchquantum\npip install --editable .\n```\n\n## Basic Usage\n\n```python\nimport torchquantum as tq\nimport torchquantum.functional as tqf\n\nqdev = tq.QuantumDevice(n_wires=2, bsz=5, device=\"cpu\", record_op=True) # use device='cuda' for GPU\n\n# use qdev.op\nqdev.h(wires=0)\nqdev.cnot(wires=[0, 1])\n\n# use tqf\ntqf.h(qdev, wires=1)\ntqf.x(qdev, wires=1)\n\n# use tq.Operator\nop = tq.RX(has_params=True, trainable=True, init_params=0.5)\nop(qdev, wires=0)\n\n# print the current state (dynamic computation graph supported)\nprint(qdev)\n\n# obtain the qasm string\nfrom torchquantum.plugin import op_history2qasm\nprint(op_history2qasm(qdev.n_wires, qdev.op_history))\n\n# measure the state on z basis\nprint(tq.measure(qdev, n_shots=1024))\n\n# obtain the expval on a observable by stochastic sampling (doable on simulator and real quantum hardware)\nfrom torchquantum.measurement import expval_joint_sampling\nexpval_sampling = expval_joint_sampling(qdev, 'ZX', n_shots=1024)\nprint(expval_sampling)\n\n# obtain the expval on a observable by analytical computation (only doable on classical simulator)\nfrom torchquantum.measurement import expval_joint_analytical\nexpval = expval_joint_analytical(qdev, 'ZX')\nprint(expval)\n\n# obtain gradients of expval w.r.t. trainable parameters\nexpval[0].backward()\nprint(op.params.grad)\n\n\n# Apply gates to qdev with tq.QuantumModule\nops = [\n    {'name': 'hadamard', 'wires': 0}, \n    {'name': 'cnot', 'wires': [0, 1]},\n    {'name': 'rx', 'wires': 0, 'params': 0.5, 'trainable': True},\n    {'name': 'u3', 'wires': 0, 'params': [0.1, 0.2, 0.3], 'trainable': True},\n    {'name': 'h', 'wires': 1, 'inverse': True}\n]\n\nqmodule = tq.QuantumModule.from_op_history(ops)\nqmodule(qdev)\n```\n\n\n\u003C!--\n## Basic Usage 2\n\n```python\nimport torchquantum as tq\nimport torchquantum.functional as tqf\n\nx = tq.QuantumDevice(n_wires=2)\n\ntqf.hadamard(x, wires=0)\ntqf.x(x, wires=1)\ntqf.cnot(x, wires=[0, 1])\n\n# print the current state (dynamic computation graph supported)\nprint(x.states)\n\n# obtain the classical bitstring distribution\nprint(tq.measure(x, n_shots=2048))\n```\n -->\n\n\n## Guide to the examples\n\nWe also prepare many example and tutorials using TorchQuantum.\n\nFor **beginning level**, you may check [QNN for MNIST](examples\u002Fmnist), [Quantum Convolution (Quanvolution)](examples\u002Fquanvolution) and [Quantum Kernel Method](examples\u002Fquantum_kernel_method), and [Quantum Regression](examples\u002Fregression).\n\nFor **intermediate level**, you may check [Amplitude Encoding for MNIST](examples\u002Famplitude_encoding_mnist), [Clifford gate QNN](examples\u002Fclifford_qnn), [Save and Load QNN models](examples\u002Fsave_load_example), [PauliSum Operation](examples\u002FPauliSumOp), [How to convert tq to Qiskit](examples\u002Fconverter_tq_qiskit).\n\nFor **expert**, you may check [Parameter Shift on-chip Training](examples\u002Fparam_shift_onchip_training), [VQA Gradient Pruning](examples\u002Fgradient_pruning), [VQE](examples\u002Fvqe),  [VQA for State Prepration](examples\u002Ftrain_state_prep), [QAOA (Quantum Approximate Optimization Algorithm)](examples\u002Fqaoa).\n\n\n## Usage\n\nConstruct parameterized quantum circuit models as simple as constructing a normal pytorch model.\n```python\nimport torch.nn as nn\nimport torch.nn.functional as F\nimport torchquantum as tq\nimport torchquantum.functional as tqf\n\nclass QFCModel(nn.Module):\n  def __init__(self):\n    super().__init__()\n    self.n_wires = 4\n    self.measure = tq.MeasureAll(tq.PauliZ)\n\n    self.encoder_gates = [tqf.rx] * 4 + [tqf.ry] * 4 + \\\n                         [tqf.rz] * 4 + [tqf.rx] * 4\n    self.rx0 = tq.RX(has_params=True, trainable=True)\n    self.ry0 = tq.RY(has_params=True, trainable=True)\n    self.rz0 = tq.RZ(has_params=True, trainable=True)\n    self.crx0 = tq.CRX(has_params=True, trainable=True)\n\n  def forward(self, x):\n    bsz = x.shape[0]\n    # down-sample the image\n    x = F.avg_pool2d(x, 6).view(bsz, 16)\n\n    # create a quantum device to run the gates\n    qdev = tq.QuantumDevice(n_wires=self.n_wires, bsz=bsz, device=x.device)\n\n    # encode the classical image to quantum domain\n    for k, gate in enumerate(self.encoder_gates):\n      gate(qdev, wires=k % self.n_wires, params=x[:, k])\n\n    # add some trainable gates (need to instantiate ahead of time)\n    self.rx0(qdev, wires=0)\n    self.ry0(qdev, wires=1)\n    self.rz0(qdev, wires=3)\n    self.crx0(qdev, wires=[0, 2])\n\n    # add some more non-parameterized gates (add on-the-fly)\n    qdev.h(wires=3)\n    qdev.sx(wires=2)\n    qdev.cnot(wires=[3, 0])\n    qdev.qubitunitary(wires=[1, 2], params=[[1, 0, 0, 0],\n                                            [0, 1, 0, 0],\n                                            [0, 0, 0, 1j],\n                                            [0, 0, -1j, 0]])\n\n    # perform measurement to get expectations (back to classical domain)\n    x = self.measure(qdev).reshape(bsz, 2, 2)\n\n    # classification\n    x = x.sum(-1).squeeze()\n    x = F.log_softmax(x, dim=1)\n\n    return x\n\n```\n\n## VQE Example\n\nTrain a quantum circuit to perform VQE task.\nQuito quantum computer as in [simple_vqe.py](.\u002Fexamples\u002Fsimple_vqe\u002Fsimple_vqe.py)\nscript:\n```python\ncd examples\u002Fvqe\npython vqe.py\n```\n\n## MNIST Example\n\nTrain a quantum circuit to perform MNIST classification task and deploy on the real IBM\nQuito quantum computer as in [mnist_example.py](.\u002Fexamples\u002Fsimple_mnist\u002Fmnist_example_no_binding.py)\nscript:\n```python\ncd examples\u002Fmnist\npython mnist.py\n```\n\n## Files\n\n| File      | Description |\n| ----------- | ----------- |\n| devices.py      | QuantumDevice class which stores the statevector |\n| encoding.py   | Encoding layers to encode classical values to quantum domain |\n| functional.py   | Quantum gate functions |\n| operators.py   | Quantum gate classes |\n| layers.py   | Layer templates such as RandomLayer |\n| measure.py   | Measurement of quantum states to get classical values |\n| graph.py   | Quantum gate graph used in static mode |\n| super_layer.py   | Layer templates for SuperCircuits |\n| plugins\u002Fqiskit*   | Convertors and processors for easy deployment on IBMQ |\n| examples\u002F| More examples for training QML and VQE models |\n\n## Coding Style\n\ntorchquantum uses pre-commit hooks to ensure Python style consistency and prevent common mistakes in its codebase.\n\nTo enable it pre-commit hooks please reproduce:\n```bash\npip install pre-commit\npre-commit install\n```\n\n\n[comment]: \u003C> (## More Examples)\n\n[comment]: \u003C> (The `examples\u002F` folder contains more examples to train the QML and VQE)\n\n[comment]: \u003C> (models. Example usage for a QML circuit:)\n\n[comment]: \u003C> (```python)\n\n[comment]: \u003C> (# train the circuit with 36 params in the U3+CU3 space)\n\n[comment]: \u003C> (python examples\u002Ftrain.py examples\u002Fconfigs\u002Fmnist\u002Ffour0123\u002Ftrain\u002Fbaseline\u002Fu3cu3_s0\u002Frand\u002Fparam36.yml)\n\n[comment]: \u003C> (# evaluate the circuit with torchquantum)\n\n[comment]: \u003C> (python examples\u002Feval.py examples\u002Fconfigs\u002Fmnist\u002Ffour0123\u002Feval\u002Ftq\u002Fall.yml --run-dir=runs\u002Fmnist.four0123.train.baseline.u3cu3_s0.rand.param36)\n\n[comment]: \u003C> (# evaluate the circuit with real IBMQ-Yorktown quantum computer)\n\n[comment]: \u003C> (python examples\u002Feval.py examples\u002Fconfigs\u002Fmnist\u002Ffour0123\u002Feval\u002Fx2\u002Freal\u002Fopt2\u002F300.yml --run-dir=runs\u002Fmnist.four0123.train.baseline.u3cu3_s0.rand.param36)\n\n[comment]: \u003C> (```)\n\n[comment]: \u003C> (Example usage for a VQE circuit:)\n\n[comment]: \u003C> (```python)\n\n[comment]: \u003C> (# Train the VQE circuit for h2)\n\n[comment]: \u003C> (python examples\u002Ftrain.py examples\u002Fconfigs\u002Fvqe\u002Fh2\u002Ftrain\u002Fbaseline\u002Fu3cu3_s0\u002Fhuman\u002Fparam12.yml)\n\n[comment]: \u003C> (# evaluate the VQE circuit with torchquantum)\n\n[comment]: \u003C> (python examples\u002Feval.py examples\u002Fconfigs\u002Fvqe\u002Fh2\u002Feval\u002Ftq\u002Fall.yml --run-dir=runs\u002Fvqe.h2.train.baseline.u3cu3_s0.human.param12\u002F)\n\n[comment]: \u003C> (# evaluate the VQE circuit with real IBMQ-Yorktown quantum computer)\n\n[comment]: \u003C> (python examples\u002Feval.py examples\u002Fconfigs\u002Fvqe\u002Fh2\u002Feval\u002Fx2\u002Freal\u002Fopt2\u002Fall.yml --run-dir=runs\u002Fvqe.h2.train.baseline.u3cu3_s0.human.param12\u002F)\n\n[comment]: \u003C> (```)\n\n[comment]: \u003C> (Detailed documentations coming soon.)\n\n[comment]: \u003C> (## QuantumNAS)\n\n[comment]: \u003C> (Quantum noise is the key challenge in Noisy Intermediate-Scale Quantum &#40;NISQ&#41; computers. Previous work for mitigating noise has primarily focused on gate-level or pulse-level noise-adaptive compilation. However, limited research efforts have explored a higher level of optimization by making the quantum circuits themselves resilient to noise. We propose QuantumNAS, a comprehensive framework for noise-adaptive co-search of the variational circuit and qubit mapping. Variational quantum circuits are a promising approach for constructing QML and quantum simulation. However, finding the best variational circuit and its optimal parameters is challenging due to the large design space and parameter training cost. We propose to decouple the circuit search and parameter training by introducing a novel SuperCircuit. The SuperCircuit is constructed with multiple layers of pre-defined parameterized gates and trained by iteratively sampling and updating the parameter subsets &#40;SubCircuits&#41; of it. It provides an accurate estimation of SubCircuits performance trained from scratch. Then we perform an evolutionary co-search of SubCircuit and its qubit mapping. The SubCircuit performance is estimated with parameters inherited from SuperCircuit and simulated with real device noise models. Finally, we perform iterative gate pruning and finetuning to remove redundant gates. Extensively evaluated with 12 QML and VQE benchmarks on 10 quantum comput, QuantumNAS significantly outperforms baselines. For QML, QuantumNAS is the first to demonstrate over 95% 2-class, 85% 4-class, and 32% 10-class classification accuracy on real QC. It also achieves the lowest eigenvalue for VQE tasks on H2, H2O, LiH, CH4, BeH2 compared with UCCSD. We also open-source torchquantum for fast training of parameterized quantum circuits to facilitate future research.)\n\n[comment]: \u003C> (\u003Cp align=\"center\">)\n\n[comment]: \u003C> (\u003Cimg src=\"https:\u002F\u002Fhanruiwang.me\u002Fproject_pages\u002Fquantumnas\u002Fassets\u002Fteaser.jpg\" alt=\"torchquantum teaser\" width=\"550\">)\n\n[comment]: \u003C> (\u003C\u002Fp>)\n\n[comment]: \u003C> (QuantumNAS Framework overview:)\n\n[comment]: \u003C> (\u003Cp align=\"center\">)\n\n[comment]: \u003C> (\u003Cimg src=\"https:\u002F\u002Fhanruiwang.me\u002Fproject_pages\u002Fquantumnas\u002Fassets\u002Foverview.jpg\" alt=\"torchquantum overview\" width=\"1000\">)\n\n[comment]: \u003C> (\u003C\u002Fp>)\n\n[comment]: \u003C> (QuantumNAS models achieve higher robustness and accuracy than other baseline models:)\n\n[comment]: \u003C> (\u003Cp align=\"center\">)\n\n[comment]: \u003C> (\u003Cimg src=\"https:\u002F\u002Fhanruiwang.me\u002Fproject_pages\u002Fquantumnas\u002Fassets\u002Fresults.jpg\" alt=\"torchquantum results\" width=\"550\">)\n\n[comment]: \u003C> (\u003C\u002Fp>)\n\n## Papers using TorchQuantum\n\n- [HPCA'22] [Wang et al., \"QuantumNAS: Noise-Adaptive Search for Robust Quantum Circuits\"](https:\u002F\u002Farxiv.org\u002Fabs\u002F2107.10845)\n- [DAC'22] [Wang et al., \"QuantumNAT: Quantum Noise-Aware Training with Noise Injection, Quantization and Normalization\"](https:\u002F\u002Farxiv.org\u002Fabs\u002F2110.11331)\n- [DAC'22] [Wang et al., \"QOC: Quantum On-Chip Training with Parameter Shift and Gradient Pruning\"](https:\u002F\u002Farxiv.org\u002Fabs\u002F2202.13239)\n- [QCE'22] [Liang et al., \"Variational Quantum Pulse Learning\"](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.17267)\n- [ICCAD'22] [Hu et al., \"Quantum Neural Network Compression\"](https:\u002F\u002Farxiv.org\u002Fabs\u002F2207.01578)\n- [ICCAD'22] [Wang et al., \"QuEst: Graph Transformer for Quantum Circuit Reliability Estimation\"](https:\u002F\u002Farxiv.org\u002Fabs\u002F2210.16724)\n- [ICML Workshop] [Yun et al., \"Slimmable Quantum Federated Learning\"](https:\u002F\u002Fdynn-icml2022.github.io\u002Fspapers\u002Fpaper_7.pdf)\n- [IEEE ICDCS] [Yun et al., \"Quantum Multi-Agent Reinforcement Learning via Variational Quantum Circuit Design\"](https:\u002F\u002Fieeexplore.ieee.org\u002Fdocument\u002F9912289)\n- [QCE'23] [Zhan et al., \"Quantum Sensor Network Algorithms for Transmitter Localization\"](https:\u002F\u002Fieeexplore.ieee.org\u002Fabstract\u002Fdocument\u002F10313806)\n\u003Cdetails>\n  \u003Csummary>Manuscripts\u003C\u002Fsummary>\n\n  ## Manuscripts\n\n  - [Yun et al., \"Projection Valued Measure-based Quantum Machine Learning for Multi-Class Classification\"](https:\u002F\u002Farxiv.org\u002Fabs\u002F2210.16731)\n  - [Baek et al., \"3D Scalable Quantum Convolutional Neural Networks for Point Cloud Data Processing in Classification Applications\"](https:\u002F\u002Farxiv.org\u002Fabs\u002F2210.09728)\n  - [Baek et al., \"Scalable Quantum Convolutional Neural Networks\"](https:\u002F\u002Farxiv.org\u002Fabs\u002F2209.12372)\n  - [Yun et al., \"Quantum Multi-Agent Meta Reinforcement Learning\"](https:\u002F\u002Farxiv.org\u002Fabs\u002F2208.11510)\n\n\u003C\u002Fdetails>\n\n\n\n## Dependencies\n\n- 3.9 >= Python >= 3.7 (Python 3.10 may have the `concurrent` package issue for Qiskit)\n- PyTorch >= 1.8.0\n- configargparse >= 0.14\n- GPU model training requires NVIDIA GPUs\n\n## Contact\n\nTorchQuantum [Forum](https:\u002F\u002Fqmlsys.hanruiwang.me)\n\nHanrui Wang [hanrui@mit.edu](mailto:hanrui@mit.edu)\n\n## Contributors\n\nJiannan Cao, Jessica Ding, Jiai Gu, Song Han, Zhirui Hu, Zirui Li, Zhiding Liang, Pengyu Liu, Yilian Liu, Mohammadreza Tavasoli, Hanrui Wang, Zhepeng Wang, Zhuoyang Ye\n\n## Citation\n```\n@inproceedings{hanruiwang2022quantumnas,\n    title     = {Quantumnas: Noise-adaptive search for robust quantum circuits},\n    author    = {Wang, Hanrui and Ding, Yongshan and Gu, Jiaqi and Li, Zirui and Lin, Yujun and Pan, David Z and Chong, Frederic T and Han, Song},\n    booktitle = {The 28th IEEE International Symposium on High-Performance Computer Architecture (HPCA-28)},\n    year      = {2022}\n}\n```\n","\u003Cp align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmit-han-lab_torchquantum_readme_3584361ef91a.jpg\" alt=\"torchquantum Logo\" width=\"450\">\n\u003C\u002Fp>\n\n\u003Ch2>\u003Cp align=\"center\">PyTorch中的量子计算\u003C\u002Fp>\u003C\u002Fh2>\n\u003Ch3>\u003Cp align=\"center\">更快、可扩展、易于调试、易于在真实量子设备上部署\u003C\u002Fp>\u003C\u002Fh3>\n\n\n\u003Cp align=\"center\">\n    \u003Ca href=\"https:\u002F\u002Ftorchquantum.readthedocs.io\u002F\">\n        \u003Cimg alt=\"文档\" src=\"https:\u002F\u002Fimg.shields.io\u002Freadthedocs\u002Ftorchquantum\u002Fmain\">\n    \u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fblob\u002Fmaster\u002FLICENSE\">\n        \u003Cimg alt=\"MIT许可证\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fmit-han-lab\u002Ftorchquantum\">\n    \u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fjoin.slack.com\u002Ft\u002Ftorchquantum\u002Fshared_invite\u002Fzt-1ghuf283a-OtP4mCPJREd~367VX~TaQQ\">\n        \u003Cimg alt=\"Slack聊天\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fslack-chat-2eb67d.svg?logo=slack\">\n    \u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FVTHZAB5E\">\n        \u003Cimg alt=\"Discord聊天\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcontact-me-blue?logo=discord&logoColor=white\">\n    \u003C\u002Fa>\n\u003C!--     \u003Ca href=\"https:\u002F\u002Fqmlsys.hanruiwang.me\">\n        \u003Cimg alt=\"论坛\" src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscourse\u002Fstatus?server=https%3A%2F%2Fqmlsys.hanruiwang.me%2F\">\n    \u003C\u002Fa> -->\n    \u003Ca href=\"https:\u002F\u002Fqmlsys.mit.edu\">\n        \u003Cimg alt=\"官网\" src=\"https:\u002F\u002Fimg.shields.io\u002Fwebsite?up_message=qmlsys&url=https%3A%2F%2Fqmlsys.mit.edu\">\n    \u003C\u002Fa>\n   \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Ftorchquantum\u002F\">\n        \u003Cimg alt=\"PyPI\" src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Ftorchquantum\">\n    \u003C\u002Fa>\n       \u003Ca href=\"https:\u002F\u002Funitary.fund\u002F\">\n        \u003Cimg alt=\"由Unitary基金会支持\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fsupported%20by-Unitary%20Fund-green\">\n    \u003C\u002Fa>\n   \u003C\u002Fa>\n       \u003Ca href=\"https:\u002F\u002Fpytorch.org\u002Fecosystem\u002F\">\n        \u003Cimg alt=\"与PyTorch生态系统集成\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fintegration%20-PyTorch%20Ecosystem-blue\">\n    \u003C\u002Fa>\n    \u003C\u002Fa>\n       \u003Ca href=\"https:\u002F\u002Fqiskit.org\u002Fecosystem\u002F\">\n        \u003Cimg alt=\"与Qiskit生态系统集成\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fintegration%20-Qiskit%20Ecosystem-blue\">\n    \u003C\u002Fa>\n\n\u003C\u002Fp>\n\u003Cbr \u002F>\n\n\n\n# 👋 欢迎\n\n#### 它的作用\n\n使用PyTorch在经典硬件上模拟量子计算。它支持在GPU上进行状态向量模拟和脉冲级模拟。通过多块GPU，可以扩展到对30多个量子比特的模拟。\n#### 哪些人会受益\n\n从事量子算法设计、参数化量子电路训练、量子最优控制、量子机器学习和量子神经网络的研究人员。\n#### 与Qiskit\u002FPennylane的区别\n\n动态计算图、自动梯度计算、快速的GPU支持、批量模型张量化处理。\n\n## 新闻\n- Torchquantum被用于ACM药物发现量子计算挑战赛的获胜团队。\n- Torchquantum在[unitaryHACK](https:\u002F\u002F2024.unitaryhack.dev\u002Fprojects\u002Ftorchquantum\u002F)中被重点介绍。\n- TorchQuantum获得了[Unitary基金会的小额资助](https:\u002F\u002Funitary.foundation\u002Fgrants\u002F)。\n- TorchQuantum已集成到[IBM Qiskit生态系统](https:\u002F\u002Fqiskit.github.io\u002Fecosystem\u002F)。\n- TorchQuantum已集成到[PyTorch生态系统](https:\u002F\u002Fpytorch.org\u002Fecosystem\u002F)。\n- v0.1.8现已发布！\n- 请查看[开发分支](https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Ftree\u002Fdev)，了解关于量子层和量子算法的最新功能。\n- 加入我们的[Slack](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Ftorchquantum\u002Fshared_invite\u002Fzt-1ghuf283a-OtP4mCPJREd~367VX~TaQQ)，获取实时支持！\n- 欢迎大家贡献代码！如果您希望TorchQuantum实现新的示例或有任何其他问题，请联系我们或在GitHub Issues中留言。\n- Qmlsys网站上线：[qmlsys.mit.edu](https:\u002F\u002Fqmlsys.mit.edu)和[torchquantum.org](https:\u002F\u002Ftorchquantum.org)\n\n## 特性\n\n- 在**PyTorch**中轻松构建和模拟量子电路\n- **动态计算图**，便于调试\n- 通过autograd实现**梯度支持**\n- 在**CPU\u002FGPU**上进行**批处理模式**的推理和训练\n- 易于**部署到真实的量子设备**，如IBMQ\n- **轻松构建经典-量子混合模型**\n- （即将推出）**脉冲级模拟**\n\n\n## 安装\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum.git\ncd torchquantum\npip install --editable .\n```\n\n## 基本用法\n\n```python\nimport torchquantum as tq\nimport torchquantum.functional as tqf\n\nqdev = tq.QuantumDevice(n_wires=2, bsz=5, device=\"cpu\", record_op=True) # 使用device='cuda'以利用GPU\n\n# 使用qdev.op\nqdev.h(wires=0)\nqdev.cnot(wires=[0, 1])\n\n# 使用tqf\ntqf.h(qdev, wires=1)\ntqf.x(qdev, wires=1)\n\n# 使用tq.Operator\nop = tq.RX(has_params=True, trainable=True, init_params=0.5)\nop(qdev, wires=0)\n\n# 打印当前状态（支持动态计算图）\nprint(qdev)\n\n# 获取QASM字符串\nfrom torchquantum.plugin import op_history2qasm\nprint(op_history2qasm(qdev.n_wires, qdev.op_history))\n\n# 在z基下测量状态\nprint(tq.measure(qdev, n_shots=1024))\n\n# 通过随机采样获得可观测值的期望值（可在模拟器和真实量子硬件上进行）\nfrom torchquantum.measurement import expval_joint_sampling\nexpval_sampling = expval_joint_sampling(qdev, 'ZX', n_shots=1024)\nprint(expval_sampling)\n\n# 通过解析计算获得可观测值的期望值（仅限于经典模拟器）\nfrom torchquantum.measurement import expval_joint_analytical\nexpval = expval_joint_analytical(qdev, 'ZX')\nprint(expval)\n\n# 计算期望值关于可训练参数的梯度\nexpval[0].backward()\nprint(op.params.grad)\n\n\n# 使用tq.QuantumModule将门作用于qdev\nops = [\n    {'name': 'hadamard', 'wires': 0}, \n    {'name': 'cnot', 'wires': [0, 1]},\n    {'name': 'rx', 'wires': 0, 'params': 0.5, 'trainable': True},\n    {'name': 'u3', 'wires': 0, 'params': [0.1, 0.2, 0.3], 'trainable': True},\n    {'name': 'h', 'wires': 1, 'inverse': True}\n]\n\nqmodule = tq.QuantumModule.from_op_history(ops)\nqmodule(qdev)\n```\n\n\n\u003C!--\n## 基本用法2\n\n```python\nimport torchquantum as tq\nimport torchquantum.functional as tqf\n\nx = tq.QuantumDevice(n_wires=2)\n\ntqf.hadamard(x, wires=0)\ntqf.x(x, wires=1)\ntqf.cnot(x, wires=[0, 1])\n\n# 打印当前状态（支持动态计算图）\nprint(x.states)\n\n# 获取经典比特串分布\nprint(tq.measure(x, n_shots=2048))\n```\n -->\n\n## 示例指南\n\n我们还准备了许多使用 TorchQuantum 的示例和教程。\n\n对于**初级水平**，您可以查看 [用于 MNIST 的 QNN](examples\u002Fmnist)、[量子卷积（Quanvolution）](examples\u002Fquanvolution)、[量子核方法](examples\u002Fquantum_kernel_method) 和 [量子回归](examples\u002Fregression)。\n\n对于**中级水平**，您可以查看 [用于 MNIST 的振幅编码](examples\u002Famplitude_encoding_mnist)、[Clifford 门 QNN](examples\u002Fclifford_qnn)、[保存和加载 QNN 模型](examples\u002Fsave_load_example)、[Pauli 求和运算](examples\u002FPauliSumOp) 以及 [如何将 tq 转换为 Qiskit](examples\u002Fconverter_tq_qiskit)。\n\n对于**专家级**，您可以查看 [参数偏移片上训练](examples\u002Fparam_shift_onchip_training)、[VQA 梯度剪枝](examples\u002Fgradient_pruning)、[VQE](examples\u002Fvqe)、[用于状态制备的 VQA](examples\u002Ftrain_state_prep) 和 [QAOA（量子近似优化算法）](examples\u002Fqaoa)。\n\n\n## 使用方法\n\n构建参数化的量子电路模型就像构建普通的 PyTorch 模型一样简单。\n```python\nimport torch.nn as nn\nimport torch.nn.functional as F\nimport torchquantum as tq\nimport torchquantum.functional as tqf\n\nclass QFCModel(nn.Module):\n  def __init__(self):\n    super().__init__()\n    self.n_wires = 4\n    self.measure = tq.MeasureAll(tq.PauliZ)\n\n    self.encoder_gates = [tqf.rx] * 4 + [tqf.ry] * 4 + \\\n                         [tqf.rz] * 4 + [tqf.rx] * 4\n    self.rx0 = tq.RX(has_params=True, trainable=True)\n    self.ry0 = tq.RY(has_params=True, trainable=True)\n    self.rz0 = tq.RZ(has_params=True, trainable=True)\n    self.crx0 = tq.CRX(has_params=True, trainable=True)\n\n  def forward(self, x):\n    bsz = x.shape[0]\n    # 对图像进行下采样\n    x = F.avg_pool2d(x, 6).view(bsz, 16)\n\n    # 创建一个量子设备来运行门操作\n    qdev = tq.QuantumDevice(n_wires=self.n_wires, bsz=bsz, device=x.device)\n\n    # 将经典图像编码到量子域\n    for k, gate in enumerate(self.encoder_gates):\n      gate(qdev, wires=k % self.n_wires, params=x[:, k])\n\n    # 添加一些可训练的门（需要提前实例化）\n    self.rx0(qdev, wires=0)\n    self.ry0(qdev, wires=1)\n    self.rz0(qdev, wires=3)\n    self.crx0(qdev, wires=[0, 2])\n\n    # 再添加一些不可参数化的门（可以随时添加）\n    qdev.h(wires=3)\n    qdev.sx(wires=2)\n    qdev.cnot(wires=[3, 0])\n    qdev.qubitunitary(wires=[1, 2], params=[[1, 0, 0, 0],\n                                            [0, 1, 0, 0],\n                                            [0, 0, 0, 1j],\n                                            [0, 0, -1j, 0]])\n\n    # 进行测量以获取期望值（回到经典域）\n    x = self.measure(qdev).reshape(bsz, 2, 2)\n\n    # 分类\n    x = x.sum(-1).squeeze()\n    x = F.log_softmax(x, dim=1)\n\n    return x\n\n```\n\n## VQE 示例\n\n训练一个量子电路来执行 VQE 任务。\n使用 Quito 量子计算机，如 [simple_vqe.py](.\u002Fexamples\u002Fsimple_vqe\u002Fsimple_vqe.py) 脚本所示：\n```python\ncd examples\u002Fvqe\npython vqe.py\n```\n\n## MNIST 示例\n\n训练一个量子电路来执行 MNIST 分类任务，并将其部署到真实的 IBM Quito 量子计算机上，如 [mnist_example.py](.\u002Fexamples\u002Fsimple_mnist\u002Fmnist_example_no_binding.py) 脚本所示：\n```python\ncd examples\u002Fmnist\npython mnist.py\n```\n\n## 文件说明\n\n| 文件      | 描述 |\n| ----------- | ----------- |\n| devices.py      | 存储态矢量的 QuantumDevice 类 |\n| encoding.py   | 将经典值编码到量子域的编码层 |\n| functional.py   | 量子门函数 |\n| operators.py   | 量子门类 |\n| layers.py   | 随机层等层模板 |\n| measure.py   | 测量量子态以获取经典值 |\n| graph.py   | 在静态模式下使用的量子门图 |\n| super_layer.py   | 用于 SuperCircuits 的层模板 |\n| plugins\u002Fqiskit*   | 用于在 IBMQ 上轻松部署的转换器和处理器 |\n| examples\u002F| 更多用于训练 QML 和 VQE 模型的示例 |\n\n## 代码风格\n\ntorchquantum 使用 pre-commit 钩子来确保 Python 代码风格的一致性，并防止代码库中常见的错误。\n\n要启用 pre-commit 钩子，请执行以下操作：\n```bash\npip install pre-commit\npre-commit install\n```\n\n\n[comment]: \u003C> (## 更多示例)\n\n[comment]: \u003C> (`examples\u002F` 文件夹包含更多用于训练 QML 和 VQE 的示例)\n\n[comment]: \u003C> (模型。QML 电路的使用示例：)\n\n[comment]: \u003C> (```python)\n\n[comment]: \u003C> (# 在 U3+CU3 空间中训练具有 36 个参数的电路)\n\n[comment]: \u003C> (python examples\u002Ftrain.py examples\u002Fconfigs\u002Fmnist\u002Ffour0123\u002Ftrain\u002Fbaseline\u002Fu3cu3_s0\u002Frand\u002Fparam36.yml)\n\n[comment]: \u003C> (# 使用 torchquantum 评估该电路)\n\n[comment]: \u003C> (python examples\u002Feval.py examples\u002Fconfigs\u002Fmnist\u002Ffour0123\u002Feval\u002Ftq\u002Fall.yml --run-dir=runs\u002Fmnist.four0123.train.baseline.u3cu3_s0.rand.param36)\n\n[comment]: \u003C> (# 使用真实的 IBMQ-Yorktown 量子计算机评估该电路)\n\n[comment]: \u003C> (python examples\u002Feval.py examples\u002Fconfigs\u002Fmnist\u002Ffour0123\u002Feval\u002Fx2\u002Freal\u002Fopt2\u002F300.yml --run-dir=runs\u002Fmnist.four0123.train.baseline.u3cu3_s0.rand.param36)\n\n[comment]: \u003C> (```)\n\n[comment]: \u003C> (VQE 电路的使用示例：)\n\n[comment]: \u003C> (```python)\n\n[comment]: \u003C> (# 训练 H2 的 VQE 电路)\n\n[comment]: \u003C> (python examples\u002Ftrain.py examples\u002Fconfigs\u002Fvqe\u002Fh2\u002Ftrain\u002Fbaseline\u002Fu3cu3_s0\u002Fhuman\u002Fparam12.yml)\n\n[comment]: \u003C> (# 使用 torchquantum 评估该 VQE 电路)\n\n[comment]: \u003C> (python examples\u002Feval.py examples\u002Fconfigs\u002Fvqe\u002Fh2\u002Feval\u002Ftq\u002Fall.yml --run-dir=runs\u002Fvqe.h2.train.baseline.u3cu3_s0.human.param12\u002F)\n\n[comment]: \u003C> (# 使用真实的 IBMQ-Yorktown 量子计算机评估该 VQE 电路)\n\n[comment]: \u003C> (python examples\u002Feval.py examples\u002Fconfigs\u002Fvqe\u002Fh2\u002Feval\u002Fx2\u002Freal\u002Fopt2\u002Fall.yml --run-dir=runs\u002Fvqe.h2.train.baseline.u3cu3_s0.human.param12\u002F)\n\n[comment]: \u003C> (```)\n\n[comment]: \u003C> (详细文档即将发布。)\n\n[comment]: \u003C> (## QuantumNAS)\n\n[comment]: \u003C> (量子噪声是含噪中等规模量子（NISQ）计算机面临的关键挑战。以往减轻噪声的工作主要集中在门级或脉冲级的噪声自适应编译上。然而，鲜有研究从更高层次优化量子电路本身，使其对噪声更具鲁棒性。我们提出了 QuantumNAS，一个用于变分电路和量子比特映射协同搜索的综合框架。变分量子电路是构建 QML 和量子模拟的有前景方法。但由于设计空间庞大且参数训练成本高昂，找到最佳的变分电路及其最优参数颇具挑战。为此，我们提出通过引入一种新型的 SuperCircuit 来解耦电路搜索与参数训练。SuperCircuit 由多层预定义的参数化门构成，并通过迭代采样和更新其参数子集（SubCircuits）进行训练。它能够准确估计从零开始训练的 SubCircuits 性能。随后，我们对 SubCircuit 及其量子比特映射进行进化式协同搜索，利用从 SuperCircuit 继承的参数并结合真实设备的噪声模型进行性能评估。最后，我们通过迭代的门剪枝和微调来去除冗余门。在 10 台量子计算机上的 12 个 QML 和 VQE 基准测试中，QuantumNAS 显著优于基线方法。对于 QML，QuantumNAS 首次在真实量子计算机上实现了超过 95% 的二分类、85% 的四分类以及 32% 的十分类准确率。此外，在 H2、H2O、LiH、CH4 和 BeH2 的 VQE 任务中，其计算出的最低本征值也低于 UCCSD 方法。我们还开源了 torchquantum，以加速参数化量子电路的训练，从而促进未来的研究。)\n\n[comment]: \u003C> (\u003Cp align=\"center\">)\n\n[comment]: \u003C> (\u003Cimg src=\"https:\u002F\u002Fhanruiwang.me\u002Fproject_pages\u002Fquantumnas\u002Fassets\u002Fteaser.jpg\" alt=\"torchquantum teaser\" width=\"550\">)\n\n[comment]: \u003C> (\u003C\u002Fp>)\n\n[comment]: \u003C> (QuantumNAS 框架概述：)\n\n[comment]: \u003C> (\u003Cp align=\"center\">)\n\n[comment]: \u003C> (\u003Cimg src=\"https:\u002F\u002Fhanruiwang.me\u002Fproject_pages\u002Fquantumnas\u002Fassets\u002Foverview.jpg\" alt=\"torchquantum overview\" width=\"1000\">)\n\n[comment]: \u003C> (\u003C\u002Fp>)\n\n[comment]: \u003C> (QuantumNAS 模型比其他基线模型具有更高的鲁棒性和准确性：)\n\n[comment]: \u003C> (\u003Cp align=\"center\">)\n\n[comment]: \u003C> (\u003Cimg src=\"https:\u002F\u002Fhanruiwang.me\u002Fproject_pages\u002Fquantumnas\u002Fassets\u002Fresults.jpg\" alt=\"torchquantum results\" width=\"550\">)\n\n[comment]: \u003C> (\u003C\u002Fp>)\n\n## 使用 TorchQuantum 的论文\n\n- [HPCA'22] [Wang 等，“QuantumNAS：针对鲁棒量子电路的噪声自适应搜索”](https:\u002F\u002Farxiv.org\u002Fabs\u002F2107.10845)\n- [DAC'22] [Wang 等，“QuantumNAT：基于噪声注入、量化和归一化的量子噪声感知训练”](https:\u002F\u002Farxiv.org\u002Fabs\u002F2110.11331)\n- [DAC'22] [Wang 等，“QOC：基于参数移位和梯度剪枝的量子片上训练”](https:\u002F\u002Farxiv.org\u002Fabs\u002F2202.13239)\n- [QCE'22] [Liang 等，“变分量子脉冲学习”](https:\u002F\u002Farxiv.org\u002Fabs\u002F2203.17267)\n- [ICCAD'22] [Hu 等，“量子神经网络压缩”](https:\u002F\u002Farxiv.org\u002Fabs\u002F2207.01578)\n- [ICCAD'22] [Wang 等，“QuEst：用于量子电路可靠性估计的图变换器”](https:\u002F\u002Farxiv.org\u002Fabs\u002F2210.16724)\n- [ICML Workshop] [Yun 等，“可瘦身的量子联邦学习”](https:\u002F\u002Fdynn-icml2022.github.io\u002Fspapers\u002Fpaper_7.pdf)\n- [IEEE ICDCS] [Yun 等，“基于变分量子电路设计的量子多智能体强化学习”](https:\u002F\u002Fieeexplore.ieee.org\u002Fdocument\u002F9912289)\n- [QCE'23] [Zhan 等，“用于发射机定位的量子传感器网络算法”](https:\u002F\u002Fieeexplore.ieee.org\u002Fabstract\u002Fdocument\u002F10313806)\n\u003Cdetails>\n  \u003Csummary>手稿\u003C\u002Fsummary>\n\n  ## 手稿\n\n  - [Yun 等，“基于投影值测度的多分类量子机器学习”](https:\u002F\u002Farxiv.org\u002Fabs\u002F2210.16731)\n  - [Baek 等，“用于点云数据处理的三维可扩展量子卷积神经网络”](https:\u002F\u002Farxiv.org\u002Fabs\u002F2210.09728)\n  - [Baek 等，“可扩展的量子卷积神经网络”](https:\u002F\u002Farxiv.org\u002Fabs\u002F2209.12372)\n  - [Yun 等，“量子多智能体元强化学习”](https:\u002F\u002Farxiv.org\u002Fabs\u002F2208.11510)\n\n\u003C\u002Fdetails>\n\n\n\n## 依赖项\n\n- Python 3.7 ≤ Python ≤ 3.9（Python 3.10 可能在 Qiskit 中存在 `concurrent` 包的问题）\n- PyTorch ≥ 1.8.0\n- configargparse ≥ 0.14\n- 使用 GPU 进行模型训练需要 NVIDIA GPU\n\n## 联系方式\n\nTorchQuantum [论坛](https:\u002F\u002Fqmlsys.hanruiwang.me)\n\nHanrui Wang [hanrui@mit.edu](mailto:hanrui@mit.edu)\n\n## 贡献者\n\nJiannan Cao, Jessica Ding, Jiai Gu, Song Han, Zhirui Hu, Zirui Li, Zhiding Liang, Pengyu Liu, Yilian Liu, Mohammadreza Tavasoli, Hanrui Wang, Zhepeng Wang, Zhuoyang Ye\n\n## 引用\n```\n@inproceedings{hanruiwang2022quantumnas,\n    title     = {Quantumnas：面向鲁棒量子电路的噪声自适应搜索},\n    author    = {王汉瑞、丁永山、顾佳琪、李子睿、林宇俊、潘大卫·Z、钟弗雷德里克·T、韩松},\n    booktitle = {第28届IEEE高性能计算机体系结构国际研讨会（HPCA-28）},\n    year      = {2022}\n}\n```","# TorchQuantum 快速上手指南\n\nTorchQuantum 是一个基于 PyTorch 的量子计算模拟库，支持在经典硬件（CPU\u002FGPU）上进行态矢量和脉冲模拟。它具备动态计算图、自动梯度计算、批量处理等特性，适用于量子算法设计、量子机器学习及变分量子算法（如 VQE、QAOA）的研究与开发。\n\n## 环境准备\n\n*   **操作系统**: Linux, macOS, Windows\n*   **Python 版本**: 3.7+\n*   **核心依赖**:\n    *   PyTorch (建议安装支持 CUDA 的版本以启用 GPU 加速)\n    *   NumPy\n    *   SciPy\n*   **可选依赖**: Qiskit (用于将电路部署到 IBM 真实量子设备)\n\n> **提示**：请确保已正确安装 PyTorch。若需使用 GPU 加速，请访问 [PyTorch 官网](https:\u002F\u002Fpytorch.org\u002F) 获取对应的安装命令。国内用户可使用清华或中科大镜像源加速 PyTorch 安装。\n\n## 安装步骤\n\n推荐使用 `pip` 进行安装。你可以直接从 PyPI 安装稳定版，或从 GitHub 克隆源码安装最新版（包含最新功能）。\n\n### 方式一：通过 PyPI 安装（稳定版）\n\n```bash\npip install torchquantum\n```\n\n### 方式二：从源码安装（推荐，获取最新功能）\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum.git\ncd torchquantum\npip install --editable .\n```\n\n> **国内加速提示**：如果克隆 GitHub 仓库速度较慢，可配置 Git 代理或使用国内代码托管平台的镜像（如有）。安装依赖时可使用国内 pip 镜像源：\n> ```bash\n> pip install --editable . -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n## 基本使用\n\n以下示例演示了如何创建一个量子设备、添加量子门、执行测量以及计算梯度。这是构建参数化量子电路的最简流程。\n\n```python\nimport torchquantum as tq\nimport torchquantum.functional as tqf\n\n# 1. 初始化量子设备\n# n_wires: 量子比特数量\n# bsz: 批处理大小 (Batch Size)\n# device: 'cpu' 或 'cuda'\n# record_op: 记录操作历史以便转换为 QASM 或调试\nqdev = tq.QuantumDevice(n_wires=2, bsz=5, device=\"cpu\", record_op=True)\n\n# 2. 添加量子门\n# 方法 A: 直接调用设备方法\nqdev.h(wires=0)       # Hadamard 门\nqdev.cnot(wires=[0, 1]) # CNOT 门\n\n# 方法 B: 使用 functional 接口\ntqf.h(qdev, wires=1)\ntqf.x(qdev, wires=1)\n\n# 方法 C: 使用可训练的参数化门\n# has_params=True 表示该门包含参数，trainable=True 表示参数可优化\nop = tq.RX(has_params=True, trainable=True, init_params=0.5)\nop(qdev, wires=0)\n\n# 3. 查看当前状态 (支持动态计算图)\nprint(qdev)\n\n# 4. 获取量子线路的 QASM 字符串\nfrom torchquantum.plugin import op_history2qasm\nprint(op_history2qasm(qdev.n_wires, qdev.op_history))\n\n# 5. 执行测量\n# 基于 Z 基进行采样测量\nshots_result = tq.measure(qdev, n_shots=1024)\nprint(shots_result)\n\n# 6. 计算期望值 (Expectation Value)\n# 方式 A: 随机采样 (适用于模拟器和真实硬件)\nfrom torchquantum.measurement import expval_joint_sampling\nexpval_sampling = expval_joint_sampling(qdev, 'ZX', n_shots=1024)\nprint(expval_sampling)\n\n# 方式 B: 解析计算 (仅适用于经典模拟器，无噪声)\nfrom torchquantum.measurement import expval_joint_analytical\nexpval = expval_joint_analytical(qdev, 'ZX')\nprint(expval)\n\n# 7. 自动微分 (计算梯度)\n# 对期望值进行反向传播\nexpval[0].backward()\n# 查看可训练参数的梯度\nprint(op.params.grad)\n```\n\n### 构建量子神经网络模块\n\n你也可以像构建普通 PyTorch `nn.Module` 一样构建量子模块：\n\n```python\nimport torchquantum as tq\n\nops = [\n    {'name': 'hadamard', 'wires': 0}, \n    {'name': 'cnot', 'wires': [0, 1]},\n    {'name': 'rx', 'wires': 0, 'params': 0.5, 'trainable': True},\n    {'name': 'u3', 'wires': 0, 'params': [0.1, 0.2, 0.3], 'trainable': True},\n]\n\n# 从操作历史快速创建量子模块\nqmodule = tq.QuantumModule.from_op_history(ops)\n\n# 在设备上运行该模块\nqmodule(qdev)\n```","某量子算法研究团队正在开发一种用于药物分子筛选的混合量子 - 经典神经网络，需要在大规模数据集上训练参数化量子电路并快速验证效果。\n\n### 没有 torchquantum 时\n- **调试极其困难**：传统量子框架（如 Qiskit）采用静态计算图，一旦电路结构复杂，难以定位梯度消失或逻辑错误的具体位置。\n- **训练速度缓慢**：缺乏原生的 GPU 加速与批处理（Batch Mode）支持，模拟超过 20 个量子比特时，单次迭代耗时数小时，严重拖慢实验进度。\n- **模型融合生硬**：将量子层嵌入 PyTorch 经典神经网络时需要编写大量胶水代码，自动微分机制不兼容，导致反向传播实现复杂且易错。\n- **部署门槛高**：从本地仿真切换到 IBM 等真实量子硬件时，需要重写大量底层代码进行格式转换，无法做到“一次编写，多处运行”。\n\n### 使用 torchquantum 后\n- **动态图轻松排错**：依托 PyTorch 的动态计算图特性，研究人员可像调试普通神经网络一样实时检查量子电路中间状态，快速修复算法缺陷。\n- **GPU 加速高效训练**：利用 torchquantum 的张量化批处理与 GPU 支持，30+ 量子比特的模拟速度提升数十倍，大幅缩短模型收敛时间。\n- **无缝混合建模**：直接调用原生量子层构建混合模型，完美继承 PyTorch 的 autograd 自动求导功能，无需手动推导梯度即可端到端训练。\n- **一键真机部署**：通过内置接口直接将训练好的量子电路部署到 IBMQ 等真实设备，无需修改核心逻辑，极大降低了从仿真到实机的迁移成本。\n\ntorchquantum 通过将量子计算深度融入 PyTorch 生态，让研究人员能专注于算法创新而非底层工程细节，显著加速了量子机器学习的落地进程。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmit-han-lab_torchquantum_3584361e.jpg","mit-han-lab","MIT HAN Lab","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmit-han-lab_65e6a38d.png","Efficient AI Computing. PI: Song Han",null,"songhan_mit","https:\u002F\u002Fhanlab.mit.edu","https:\u002F\u002Fgithub.com\u002Fmit-han-lab",[82,86,90],{"name":83,"color":84,"percentage":85},"Jupyter Notebook","#DA5B0B",84.8,{"name":87,"color":88,"percentage":89},"Python","#3572A5",15.2,{"name":91,"color":92,"percentage":93},"Shell","#89e051",0,1623,249,"2026-04-17T16:30:51","MIT","未说明","非必需，但支持 GPU 加速（使用 device='cuda'）；支持多 GPU 扩展以模拟 30+ 量子比特；具体型号、显存大小及 CUDA 版本未说明",{"notes":101,"python":98,"dependencies":102},"该工具基于 PyTorch 构建，用于在经典硬件上模拟量子计算。支持状态向量模拟和脉冲模拟，具备动态计算图和自动梯度计算功能。可通过插件轻松部署到 IBMQ 等真实量子设备。安装方式为克隆仓库后使用 pip 可编辑模式安装。未明确指定具体的 Python 版本、操作系统限制或除 PyTorch 外的其他核心依赖版本。",[103],"torch (PyTorch)",[14,105],"其他",[107,108,109,110,111,112,113,114,115,116,117,118,119],"pytorch-quantum","quantum","quantum-machine-learning","neural-network","machine-learning","quantum-computing","pytorch","deep-learning","system","ml-for-systems","quantum-simulation","quantum-neural-network","parameterized-quantum-circuit","2026-03-27T02:49:30.150509","2026-04-20T07:17:16.875482",[123,128,133,138,143,148],{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},43946,"运行 mnist_example.py 使用 Qiskit 模拟器时程序卡住或报错怎么办？","这通常是由于 Python 3.10 中的 `concurrent` 包兼容性问题导致的。解决方案有两种：\n1. **推荐方案**：将 Python 版本降级到 3.9，问题即可解决。\n2. **临时变通方案**：如果必须使用当前环境，可以修改 Qiskit 源码。找到 `qiskit\u002Fassembler\u002Fassemble_circuits.py` 文件的第 316 行，将 `experiments_and_pulse_libs = parallel_map(_assemble_circuit, circuits, [run_config])` 修改为 `experiments_and_pulse_libs = [_assemble_circuit(circ, run_config) for circ in circuits]`，以绕过并行映射的问题。","https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fissues\u002F9",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},43947,"导入 torchquantum.plugin 时出现 'ModuleNotFoundError: No module named torchquantum.plugin' 错误如何解决？","该错误通常发生在 Google Colab 等环境中，原因是安装的 torchquantum 版本过旧或缺少插件模块。请确保安装最新版本的 torchquantum。如果问题依旧，尝试重新安装：\n`pip install --upgrade torchquantum`\n注意：在某些新版本中，插件功能可能已合并到主包或路径发生变化，请检查官方文档确认最新的导入路径（例如直接从 `torchquantum` 主模块导入相关功能）。","https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fissues\u002F219",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},43948,"如何在 TorchQuantum 中实现新的量子算法（如量子傅里叶变换、Grover 算法等）？","TorchQuantum 鼓励社区贡献新的量子算法。实现步骤如下：\n1. 参考现有的算法实现示例，例如 `torchquantum\u002Falgorithms\u002Fvqe.py`。\n2. 创建新的算法类，用户可通过 `tq.algorithm.xxx` 调用初始化，然后执行和读取结果。\n3. 目前项目已成功合并了量子傅里叶变换 (QFT)、Grover 算法和超密集编码 (superdense coding) 等算法，您可以参考这些已合并的 Pull Request 代码结构进行开发。\n4. 对于量子图像编码（如 FRQI）等特定领域算法，也欢迎提交贡献。","https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fissues\u002F136",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},43949,"TorchQuantum 支持哪些梯度估计方法？如何添加新的梯度计算方法？","目前 TorchQuantum 原生支持通过反向传播 (backpropagation) 获取梯度。为了丰富研究手段，项目正在集成更多梯度估计方法，包括：\n- 有限差分法 (Finite Difference)\n- 参数移位法 (Parameter Shift)\n- 哈达玛测试 (Hadamard Test)\n\n如果您需要这些功能，可以查看相关的 Pull Request（如 #151 和 #155）了解实现细节，或者直接参与贡献代码来实现这些方法。维护者明确表示欢迎继续完善参数移位和哈达玛测试的梯度估计功能。","https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fissues\u002F133",{"id":144,"question_zh":145,"answer_zh":146,"source_url":147},43950,"在运行 mnist_example.py 创建 Jupyter Notebook 示例时遇到 SystemExit 错误怎么办？","当运行 `examples\u002Fsimple_mnist\u002Fmnist_example.py` 出现 `SystemExit: 2` 错误时，通常是因为脚本中的 `argparse` 参数解析失败（例如缺少必要的命令行参数）。\n解决方法：\n1. 不要直接运行包含 `if __name__ == \"__main__\": main()` 的脚本作为模块导入或在没有参数的情况下直接执行。\n2. 如果是在 Jupyter Notebook 中运行，建议将 `main()` 函数体内的逻辑提取出来，去掉 `argparse` 依赖，直接定义变量并调用核心训练\u002F测试函数。\n3. 或者在命令行运行时确保传递了所有必需的参数（如 `--epochs`, `--batch-size` 等，具体取决于脚本定义）。","https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fissues\u002F135",{"id":149,"question_zh":150,"answer_zh":151,"source_url":137},43951,"TorchQuantum 是否支持量子图像编码（如 FRQI）？","是的，TorchQuantum 支持并欢迎社区贡献量子图像编码方法。维护者已确认像 FRQI (Flexible Representation of Quantum Images) 这样的量子图像编码方法是 eligible（符合条件）的贡献方向。您可以参考项目中已有的算法实现结构，自行开发并提交 Pull Request 来添加此类功能。",[153,158,163,168,173,177],{"id":154,"version":155,"summary_zh":156,"released_at":157},351406,"v0.1.8","- 重构 \u002Ftorchquantum 目录结构\n- 通过 Git 工作流进行测试\n- 重构示例代码\n\n## 变更内容\n* [小] 由 @Hanrui-Wang 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F96 中修复 pre-commit 配置\n* 由 @caitaozhan 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F100 中修复 quantumnat.py 中的一个小 bug\n* 由 @Hanrui-Wang 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F102 中修复 MNIST 示例的开发问题\n* [大] 由 @Hanrui-Wang 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F103 中添加经典寄存器以组装量子电路\n* [小] 由 @Hanrui-Wang 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F105 中简化 MNIST 示例\n* [小] 由 @Hosseinberg 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F106 中修正 index.rst 中的拼写错误\n* [小] 由 @Hosseinberg 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F107 中更新 vqe_utils.py 中的文件路径\n* 由 @Hanrui-Wang 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F110 中添加 expval_joint_sampling 并进行测试\n* 由 @Hanrui-Wang 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F112 中进行开发\n* 由 @Hanrui-Wang 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F113 中更新索引页\n* 由 @Hosseinberg 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F114 中移除 vqe_utils.py 中的调试代码\n* NoiseModelTQ 类可能存在一些问题，并由 @caitaozhan 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F108 中提供了一个潜在的修复方案\n* 由 @GenericP3rson 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F117 中更新 simple_mnist 示例的文件名\n* 由 @Hanrui-Wang 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F119 中进行开发\n* 由 @Hanrui-Wang 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F120 中进行开发\n* [小] 由 @Hanrui-Wang 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F121 中实现 tq2qiskit_op_history 功能\n* 由 @Hanrui-Wang 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F128 中修复 qlstm 的 bug\n* [小] 由 @Hanrui-Wang 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F129 中修复 qlstm 编码器的 bug\n* 由 @denvitko 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F143 中添加文档字符串（参见 issue #135）\n* issue #135：由 @MihirsinhChauhan 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F141 中为缺少文档的函数添加 docstring，由 @Hanuri-Wang 完成\n* 为 issue #134 提交 PR：Unitary Hack，由 @bopardikarsoham 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F138 中完成\n* 为 issue #134 添加更多门操作，由 @pandey-tushar 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F140 中完成\n* 由 @YuNariai 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F142 中添加 QFT 操作\n* 由 @Gopal-Dahale 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F144 中实现 Grover 搜索算法\n* 由 @bopardikarsoham 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F146 中添加超密编码\n* 由 @jinleic 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F150 中实现脉冲模拟器的最小可用版本\n* 由 @Mich 添加参数偏移梯度作为一项功能","2024-02-21T19:33:51",{"id":159,"version":160,"summary_zh":161,"released_at":162},351407,"v0.1.7","- 修复预提交钩子\n- 修复 expval 中的 bug\n- 优化示例","2023-03-18T23:28:00",{"id":164,"version":165,"summary_zh":166,"released_at":167},351408,"v0.1.6","* 支持 qdev.op，例如 qdev.h（线路数=1）\n* QAOA 示例\n* 在测量中支持联合测量的解析计算\n* 修复 bug\n","2023-03-13T21:34:00",{"id":169,"version":170,"summary_zh":171,"released_at":172},351409,"v0.1.5","修复多个漏洞","2022-11-08T19:18:55",{"id":174,"version":175,"summary_zh":77,"released_at":176},351410,"v0.1.4","2022-10-12T01:15:25",{"id":178,"version":179,"summary_zh":180,"released_at":181},351411,"v0.1.2","1. 添加对 state.gate 的支持，例如 state.h。\n2. 增加更多示例。\n\n## 变更内容\n* RZ 门：由 @jessding 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F1 中实现。\n* [重大] 将剪枝分支合并到主分支：由 @Hanrui-Wang 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F2 中完成。\n* Jiaqi：由 @JeremieMelo 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F3 中实现。\n* Jiaqi：由 @JeremieMelo 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F4 中实现。\n* 参数偏移：由 @abclzr 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F6 中实现。\n* 修正导入 MNIST 数据集的模块名称：由 @googlercolin 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F23 中完成。\n* 修改文档配置以初始化 docstring 发布任务：由 @frogcjn 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F24 中完成。\n* 优化类模板：由 @frogcjn 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F25 中完成。\n* [轻微] 更新格式和主题：由 @frogcjn 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F26 中完成。\n* [轻微] 调整深色主题代码块并添加函数模板：由 @frogcjn 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F27 中完成。\n* 添加自定义 Furo 文档主题：由 @frogcjn 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F28 中完成。\n* [文档] 在文档中添加对 ipynb 和 md 的支持，并增加一个示例：由 @frogcjn 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F29 中完成。\n* [重大] 修复 torchquantum\u002Fmeasure.py 中的 bug：由 @abclzr 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F30 中完成。\n* [文档] 修复 examples\u002Findex.rst 中的示例页面：由 @frogcjn 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F31 中完成。\n\n## 新贡献者\n* @jessding 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F1 中完成了首次贡献。\n* @Hanrui-Wang 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F2 中完成了首次贡献。\n* @JeremieMelo 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F3 中完成了首次贡献。\n* @abclzr 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F6 中完成了首次贡献。\n* @googlercolin 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F23 中完成了首次贡献。\n* @frogcjn 在 https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fpull\u002F24 中完成了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Ftorchquantum\u002Fcommits\u002Fv0.1.2","2022-09-14T15:23:44"]