qutai 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- qutai-0.1.0/PKG-INFO +73 -0
- qutai-0.1.0/README.md +64 -0
- qutai-0.1.0/pyproject.toml +18 -0
- qutai-0.1.0/setup.cfg +4 -0
- qutai-0.1.0/src/qutai/__init__.py +7 -0
- qutai-0.1.0/src/qutai/backends/__init__.py +0 -0
- qutai-0.1.0/src/qutai/backends/cpu.py +595 -0
- qutai-0.1.0/src/qutai/backends/device.py +12 -0
- qutai-0.1.0/src/qutai/backends/storage.py +17 -0
- qutai-0.1.0/src/qutai/core/__init__.py +0 -0
- qutai-0.1.0/src/qutai/core/context.py +25 -0
- qutai-0.1.0/src/qutai/core/data.py +58 -0
- qutai-0.1.0/src/qutai/core/grad.py +47 -0
- qutai-0.1.0/src/qutai/core/operations/__init__.py +6 -0
- qutai-0.1.0/src/qutai/core/operations/convolution.py +44 -0
- qutai-0.1.0/src/qutai/core/operations/elementwise.py +122 -0
- qutai-0.1.0/src/qutai/core/operations/linalg.py +36 -0
- qutai-0.1.0/src/qutai/core/operations/normalization.py +68 -0
- qutai-0.1.0/src/qutai/core/operations/reductions.py +49 -0
- qutai-0.1.0/src/qutai/core/operations/transforms.py +82 -0
- qutai-0.1.0/src/qutai/core/shape.py +143 -0
- qutai-0.1.0/src/qutai/core/tensor.py +355 -0
- qutai-0.1.0/src/qutai/core/types.py +51 -0
- qutai-0.1.0/src/qutai/generation/__init__.py +2 -0
- qutai-0.1.0/src/qutai/generation/diffusion.py +83 -0
- qutai-0.1.0/src/qutai/generation/model.py +62 -0
- qutai-0.1.0/src/qutai/generation/serialization.py +29 -0
- qutai-0.1.0/src/qutai/lm/__init__.py +2 -0
- qutai-0.1.0/src/qutai/lm/model.py +113 -0
- qutai-0.1.0/src/qutai/lm/serialization.py +29 -0
- qutai-0.1.0/src/qutai/lm/tokenizer.py +22 -0
- qutai-0.1.0/src/qutai/nn/__init__.py +5 -0
- qutai-0.1.0/src/qutai/nn/cache.py +29 -0
- qutai-0.1.0/src/qutai/nn/dit.py +89 -0
- qutai-0.1.0/src/qutai/nn/layers.py +373 -0
- qutai-0.1.0/src/qutai/nn/losses.py +41 -0
- qutai-0.1.0/src/qutai/nn/model.py +27 -0
- qutai-0.1.0/src/qutai/nn/optimizers.py +153 -0
- qutai-0.1.0/src/qutai/nn/serialization.py +278 -0
- qutai-0.1.0/src/qutai/qnn/__init__.py +4 -0
- qutai-0.1.0/src/qutai/qnn/pqc.py +56 -0
- qutai-0.1.0/src/qutai/quantum/__init__.py +8 -0
- qutai-0.1.0/src/qutai/quantum/circuit.py +91 -0
- qutai-0.1.0/src/qutai/quantum/gates.py +161 -0
- qutai-0.1.0/src/qutai/quantum/grad.py +72 -0
- qutai-0.1.0/src/qutai/quantum/observables.py +114 -0
- qutai-0.1.0/src/qutai/quantum/qaoa.py +71 -0
- qutai-0.1.0/src/qutai/quantum/state.py +102 -0
- qutai-0.1.0/src/qutai/visualization/__init__.py +9 -0
- qutai-0.1.0/src/qutai/visualization/_svg.py +19 -0
- qutai-0.1.0/src/qutai/visualization/diagrams.py +235 -0
- qutai-0.1.0/src/qutai/visualization/images.py +82 -0
- qutai-0.1.0/src/qutai/visualization/plots.py +104 -0
- qutai-0.1.0/src/qutai/visualization/progress.py +27 -0
- qutai-0.1.0/src/qutai/visualization/quantum.py +164 -0
- qutai-0.1.0/src/qutai/visualization/tables.py +48 -0
- qutai-0.1.0/src/qutai.egg-info/PKG-INFO +73 -0
- qutai-0.1.0/src/qutai.egg-info/SOURCES.txt +126 -0
- qutai-0.1.0/src/qutai.egg-info/dependency_links.txt +1 -0
- qutai-0.1.0/src/qutai.egg-info/top_level.txt +1 -0
- qutai-0.1.0/tests/test_adamw.py +114 -0
- qutai-0.1.0/tests/test_adjoint.py +269 -0
- qutai-0.1.0/tests/test_adjoint_benchmark.py +40 -0
- qutai-0.1.0/tests/test_attention.py +96 -0
- qutai-0.1.0/tests/test_attention_cache.py +118 -0
- qutai-0.1.0/tests/test_batch_norm.py +156 -0
- qutai-0.1.0/tests/test_batched_matmul.py +122 -0
- qutai-0.1.0/tests/test_bloch.py +106 -0
- qutai-0.1.0/tests/test_cifar_data.py +130 -0
- qutai-0.1.0/tests/test_classification.py +210 -0
- qutai-0.1.0/tests/test_classification_training.py +44 -0
- qutai-0.1.0/tests/test_convolution.py +155 -0
- qutai-0.1.0/tests/test_convolution_layers.py +179 -0
- qutai-0.1.0/tests/test_core_architecture.py +112 -0
- qutai-0.1.0/tests/test_core_storage.py +90 -0
- qutai-0.1.0/tests/test_dit.py +139 -0
- qutai-0.1.0/tests/test_dit_serialization.py +118 -0
- qutai-0.1.0/tests/test_embedding.py +139 -0
- qutai-0.1.0/tests/test_generation_methods.py +164 -0
- qutai-0.1.0/tests/test_generation_model.py +189 -0
- qutai-0.1.0/tests/test_generation_visualization.py +104 -0
- qutai-0.1.0/tests/test_grad.py +246 -0
- qutai-0.1.0/tests/test_gradient_clipping.py +81 -0
- qutai-0.1.0/tests/test_graph_visualization.py +81 -0
- qutai-0.1.0/tests/test_image_data.py +181 -0
- qutai-0.1.0/tests/test_language_model.py +229 -0
- qutai-0.1.0/tests/test_layer_composition.py +208 -0
- qutai-0.1.0/tests/test_layer_norm.py +157 -0
- qutai-0.1.0/tests/test_layers.py +81 -0
- qutai-0.1.0/tests/test_lm_cache.py +154 -0
- qutai-0.1.0/tests/test_lm_data.py +103 -0
- qutai-0.1.0/tests/test_lm_notebook.py +59 -0
- qutai-0.1.0/tests/test_lm_sampling.py +124 -0
- qutai-0.1.0/tests/test_losses.py +48 -0
- qutai-0.1.0/tests/test_model.py +103 -0
- qutai-0.1.0/tests/test_multi_expectation.py +197 -0
- qutai-0.1.0/tests/test_nn_storage.py +95 -0
- qutai-0.1.0/tests/test_observables.py +107 -0
- qutai-0.1.0/tests/test_operations.py +104 -0
- qutai-0.1.0/tests/test_optimizer_state.py +159 -0
- qutai-0.1.0/tests/test_optimizers.py +138 -0
- qutai-0.1.0/tests/test_patch_embedding.py +81 -0
- qutai-0.1.0/tests/test_pqc.py +248 -0
- qutai-0.1.0/tests/test_pqc_serialization.py +102 -0
- qutai-0.1.0/tests/test_probability_notebook.py +73 -0
- qutai-0.1.0/tests/test_qaoa.py +210 -0
- qutai-0.1.0/tests/test_qaoa_notebook.py +102 -0
- qutai-0.1.0/tests/test_quantum.py +223 -0
- qutai-0.1.0/tests/test_quantum_grad.py +284 -0
- qutai-0.1.0/tests/test_quantum_probabilities.py +268 -0
- qutai-0.1.0/tests/test_quantum_storage.py +112 -0
- qutai-0.1.0/tests/test_quantum_visualization.py +128 -0
- qutai-0.1.0/tests/test_remaining_grad.py +170 -0
- qutai-0.1.0/tests/test_resnet_layers.py +153 -0
- qutai-0.1.0/tests/test_resnet_serialization.py +100 -0
- qutai-0.1.0/tests/test_resnet_state_edges.py +129 -0
- qutai-0.1.0/tests/test_sequence_loss.py +88 -0
- qutai-0.1.0/tests/test_serialization.py +224 -0
- qutai-0.1.0/tests/test_stack.py +90 -0
- qutai-0.1.0/tests/test_storage.py +133 -0
- qutai-0.1.0/tests/test_stream.py +189 -0
- qutai-0.1.0/tests/test_tensor_interface.py +189 -0
- qutai-0.1.0/tests/test_training.py +58 -0
- qutai-0.1.0/tests/test_training_resume.py +143 -0
- qutai-0.1.0/tests/test_transformer.py +179 -0
- qutai-0.1.0/tests/test_transformer_serialization.py +161 -0
- qutai-0.1.0/tests/test_visualization.py +189 -0
- qutai-0.1.0/tests/test_vqe.py +79 -0
qutai-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: qutai
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: A lightweight numerical, machine learning and quantum computing SDK.
|
|
5
|
+
Project-URL: Repository, https://github.com/utai-utai/Qutai
|
|
6
|
+
Project-URL: Issues, https://github.com/utai-utai/Qutai/issues
|
|
7
|
+
Requires-Python: >=3.14
|
|
8
|
+
Description-Content-Type: text/markdown
|
|
9
|
+
|
|
10
|
+
<p align="center">
|
|
11
|
+
<img src="https://raw.githubusercontent.com/utai-utai/Qutai/main/logo.png" alt="Qutai" width="380">
|
|
12
|
+
</p>
|
|
13
|
+
|
|
14
|
+
<big align="center"><strong>从零手写的轻量计算 SDK:数值计算、神经网络与量子计算。</strong></b>
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
Python 标准库实现,无第三方运行依赖。当前支持 CPU,CUDA 后端后续开发。
|
|
18
|
+
|
|
19
|
+
## 安装
|
|
20
|
+
|
|
21
|
+
需要 **Python 3.14 或以上**。
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
pip install qutai
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## 快速开始
|
|
28
|
+
|
|
29
|
+
直接用列表创建 Tensor,运算时自动记录梯度:
|
|
30
|
+
|
|
31
|
+
```python
|
|
32
|
+
from qutai import Tensor
|
|
33
|
+
|
|
34
|
+
x = Tensor([1, 2, 3], requires_grad=True)
|
|
35
|
+
loss = (x + x).sum()
|
|
36
|
+
loss.backward()
|
|
37
|
+
|
|
38
|
+
print(loss.item()) # 12.0
|
|
39
|
+
print(x.grad.tolist()) # [2.0, 2.0, 2.0]
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
构造并运行一个 Bell 态电路:
|
|
43
|
+
|
|
44
|
+
```python
|
|
45
|
+
from qutai import quantum
|
|
46
|
+
|
|
47
|
+
circuit = quantum.Circuit(2, [quantum.H(0), quantum.CNOT(0, 1)])
|
|
48
|
+
state = circuit.run()
|
|
49
|
+
print(state.probabilities()) # 约 [0.5, 0.0, 0.0, 0.5]
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## 模块
|
|
53
|
+
|
|
54
|
+
| 模块 | 功能 |
|
|
55
|
+
| --- | --- |
|
|
56
|
+
| `Tensor`、根入口数学函数 | 广播、矩阵运算、卷积与自动求导 |
|
|
57
|
+
| `nn` | 神经网络层、Transformer、损失、优化器与保存加载 |
|
|
58
|
+
| `lm` | 字符语言模型、随机续写与 KV cache |
|
|
59
|
+
| `generation` | Diffusion、Flow Matching 与 DiT |
|
|
60
|
+
| `quantum` | 量子态、门、电路、测量、可求导读出与 QAOA |
|
|
61
|
+
| `qnn` | 参数化量子电路 PQC,与经典网络混合训练 |
|
|
62
|
+
| `visualization` | 曲线、表格、图片、网络、电路与 Bloch 球 |
|
|
63
|
+
|
|
64
|
+
## 示例与开发
|
|
65
|
+
|
|
66
|
+
[Notebook 示例](https://github.com/utai-utai/Qutai/blob/main/examples/README.md)涵盖回归、Iris、LeNet、ResNet、ViT、语言模型、DiT、Bell 态、混合网络、VQE 和 QAOA。量子训练支持伴随求导与参数移位对照;多数较大模型仅训练两步验证流程。
|
|
67
|
+
|
|
68
|
+
从源码安装并运行测试:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
python -m pip install -e .
|
|
72
|
+
python -m unittest discover -s tests
|
|
73
|
+
```
|
qutai-0.1.0/README.md
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://raw.githubusercontent.com/utai-utai/Qutai/main/logo.png" alt="Qutai" width="380">
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<big align="center"><strong>从零手写的轻量计算 SDK:数值计算、神经网络与量子计算。</strong></b>
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Python 标准库实现,无第三方运行依赖。当前支持 CPU,CUDA 后端后续开发。
|
|
9
|
+
|
|
10
|
+
## 安装
|
|
11
|
+
|
|
12
|
+
需要 **Python 3.14 或以上**。
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
pip install qutai
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## 快速开始
|
|
19
|
+
|
|
20
|
+
直接用列表创建 Tensor,运算时自动记录梯度:
|
|
21
|
+
|
|
22
|
+
```python
|
|
23
|
+
from qutai import Tensor
|
|
24
|
+
|
|
25
|
+
x = Tensor([1, 2, 3], requires_grad=True)
|
|
26
|
+
loss = (x + x).sum()
|
|
27
|
+
loss.backward()
|
|
28
|
+
|
|
29
|
+
print(loss.item()) # 12.0
|
|
30
|
+
print(x.grad.tolist()) # [2.0, 2.0, 2.0]
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
构造并运行一个 Bell 态电路:
|
|
34
|
+
|
|
35
|
+
```python
|
|
36
|
+
from qutai import quantum
|
|
37
|
+
|
|
38
|
+
circuit = quantum.Circuit(2, [quantum.H(0), quantum.CNOT(0, 1)])
|
|
39
|
+
state = circuit.run()
|
|
40
|
+
print(state.probabilities()) # 约 [0.5, 0.0, 0.0, 0.5]
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## 模块
|
|
44
|
+
|
|
45
|
+
| 模块 | 功能 |
|
|
46
|
+
| --- | --- |
|
|
47
|
+
| `Tensor`、根入口数学函数 | 广播、矩阵运算、卷积与自动求导 |
|
|
48
|
+
| `nn` | 神经网络层、Transformer、损失、优化器与保存加载 |
|
|
49
|
+
| `lm` | 字符语言模型、随机续写与 KV cache |
|
|
50
|
+
| `generation` | Diffusion、Flow Matching 与 DiT |
|
|
51
|
+
| `quantum` | 量子态、门、电路、测量、可求导读出与 QAOA |
|
|
52
|
+
| `qnn` | 参数化量子电路 PQC,与经典网络混合训练 |
|
|
53
|
+
| `visualization` | 曲线、表格、图片、网络、电路与 Bloch 球 |
|
|
54
|
+
|
|
55
|
+
## 示例与开发
|
|
56
|
+
|
|
57
|
+
[Notebook 示例](https://github.com/utai-utai/Qutai/blob/main/examples/README.md)涵盖回归、Iris、LeNet、ResNet、ViT、语言模型、DiT、Bell 态、混合网络、VQE 和 QAOA。量子训练支持伴随求导与参数移位对照;多数较大模型仅训练两步验证流程。
|
|
58
|
+
|
|
59
|
+
从源码安装并运行测试:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
python -m pip install -e .
|
|
63
|
+
python -m unittest discover -s tests
|
|
64
|
+
```
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "qutai"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "A lightweight numerical, machine learning and quantum computing SDK."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.14"
|
|
11
|
+
dependencies = []
|
|
12
|
+
|
|
13
|
+
[project.urls]
|
|
14
|
+
Repository = "https://github.com/utai-utai/Qutai"
|
|
15
|
+
Issues = "https://github.com/utai-utai/Qutai/issues"
|
|
16
|
+
|
|
17
|
+
[tool.setuptools.packages.find]
|
|
18
|
+
where = ["src"]
|
qutai-0.1.0/setup.cfg
ADDED
|
File without changes
|