# 專題簡報
---
創新時勢
----
跟上次一樣
----
目前在台灣的AI產業大多是靠著現成API在做
缺乏自己的在底層優化的技術力
----
所以本專案目標是
**自幹底層**
----
---
## 新技術
----
## 元程式設計
----
元程式設計?
可以讓編寫出來的文字轉換

----
本質上是一個可以用程式碼編寫程式碼的東西
應用: 編譯器
----
以batch為例
```bash=
for ((I=1; I<=992; I++)) do
echo "echo $I" >>program
```
----
在rust中的元程式設計
- macro
- codegen(code generate)
----
### macro
- 編譯時自動執行
- 相比codegen更快
----
### codegen
- 手動執行
- 相比macro更慢
有點像cmake的動態連結庫
----
### 如果開發環境有準備好
---
## 成果
----
## 專案架構

----
## Marco Auto-differentiation

----
## Math

----
```
{
"type": "FunctionDeclaration",
"id": {
"type": "Identifier",
"name": "add"
},
"params": [
{
"type": "Identifier",
"name": "a"
},
{
"type": "Identifier",
"name": "b"
}
],
"body": {
"type": "BlockStatement",
"body": [
{
"type": "ReturnStatement",
"argument": {
"type": "BinaryExpression",
"operator": "+",
"left": {
"type": "Identifier",
"name": "a"
},
"right": {
"type": "Identifier",
"name": "b",
"comments": [
{
"type": "Line",
"value": " 有什麼奇怪的東西混進來了",
"loc": {},
"leading": true,
"trailing": false
}
]
}
}
}
]
},
"generator": false,
"expression": false,
"async": false
}
```
----
## proof of concept
----

---
## comparsion
----
| | 資料結構模型 | 程式模型 |
| ------------------ | ---------- |:-------------:|
| 編譯時處理自動微分 | Tensorflow | Tangent本專案 |
| 執行時處理自動微分 | Torch | PyTorch |
----

---
## future
{"metaMigratedAt":"2023-06-16T22:17:43.768Z","metaMigratedFrom":"Content","title":"專題簡報","breaks":true,"contributors":"[{\"id\":\"f547d745-63f3-4bad-986b-1751eeec19d1\",\"add\":1721,\"del\":95},{\"id\":\"6d8efe8e-dbdf-4e5a-8c38-356b0d1df76d\",\"add\":749,\"del\":36},{\"id\":\"1acbf739-4837-4867-be73-4a41bb7c42a7\",\"add\":1,\"del\":0}]"}