refactor: 重组项目目录结构
以讲义内容为骨架迁移到标准目录格式: - officefile/ 主内容(12章 + 附录 + CC4SI补充) - dofile/ 代码示例(11个Python脚本) - data/ 图片资源 - output/ 生成输出(忽略) - Archive/ 归档旧目录(忽略) - .claude/skills/ 保留markdown-to-docx工具链 - .pandoc/ 保留CSL和本地化配置 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,863 @@
|
||||
# 附录1:计算机基础与编程环境
|
||||
|
||||
本附录介绍计算机的基本构成、操作系统常见操作、程序设计语言的概念、Python编程语言的系统学习指南,以及机器学习与深度学习的实践入门。
|
||||
|
||||
## 1 计算机的基本构成与操作系统常见操作
|
||||
|
||||
### 1.1 计算机基本构成
|
||||
|
||||
了解计算机的基本组成有助于理解AI程序运行时的资源需求。
|
||||
|
||||
| 组件 | 作用 | AI相关说明 |
|
||||
|------|------|-----------|
|
||||
| CPU | 中央处理器,执行指令 | 数据预处理、逻辑控制 |
|
||||
| GPU | 图形处理器,并行计算 | 深度学习训练与推理的核心硬件 |
|
||||
| 内存(RAM) | 临时存储运行中的数据 | 影响能处理的批量大小和数据规模 |
|
||||
| 硬盘(SSD/HDD) | 持久化存储数据 | 模型文件、数据集的存储 |
|
||||
| 网络 | 数据传输 | 下载模型、调用云端API |
|
||||
|
||||
### 1.2 操作系统常见操作
|
||||
|
||||
本书以 macOS/Linux 为主要环境,Windows 用户推荐使用 WSL2(Windows Subsystem for Linux)。
|
||||
|
||||
**文件与目录操作**:
|
||||
|
||||
```bash
|
||||
# 查看当前路径
|
||||
pwd
|
||||
|
||||
# 列出文件
|
||||
ls -la
|
||||
|
||||
# 创建目录
|
||||
mkdir my_project
|
||||
|
||||
# 切换目录
|
||||
cd my_project
|
||||
|
||||
# 复制、移动、删除
|
||||
cp file.txt backup.txt
|
||||
mv old.txt new.txt
|
||||
rm unwanted.txt
|
||||
```
|
||||
|
||||
**环境与进程管理**:
|
||||
|
||||
```bash
|
||||
# 查看系统资源
|
||||
top # CPU和内存使用
|
||||
df -h # 磁盘空间
|
||||
nvidia-smi # GPU状态(NVIDIA显卡)
|
||||
|
||||
# 包管理
|
||||
brew install xxx # macOS Homebrew
|
||||
apt install xxx # Ubuntu/Debian
|
||||
```
|
||||
|
||||
### 1.3 硬件资源推荐
|
||||
|
||||
**本地GPU配置**: - GPU:RTX 3060 (12GB) 或更高 - 内存:16GB+ - 存储:至少100GB SSD
|
||||
|
||||
**云平台**:
|
||||
|
||||
| 平台 | 特点 | 适合场景 |
|
||||
|------|------|---------|
|
||||
| Google Colab | 免费GPU | 学习实验 |
|
||||
| Kaggle Notebooks | 免费GPU | 竞赛 |
|
||||
| AutoDL | 按时计费 | 中期项目 |
|
||||
| 阿里云PAI | 国内稳定 | 生产部署 |
|
||||
|
||||
### 1.4 软件安装与运行
|
||||
**"安装"的本质就是**:把编译好的二进制文件放到 PATH 某个目录下,让 shell 能找到它。例如git的安装和使用:
|
||||
**总结:三层抽象**
|
||||
|
||||
```text
|
||||
┌─────────────────────────────────────────────┐
|
||||
│ 用户层:brew install git / git clone │ ← 你看到的
|
||||
├─────────────────────────────────────────────┤
|
||||
│ Shell 层:搜索 PATH → execve() 加载二进制 │ ← 为什么能找到命令
|
||||
├─────────────────────────────────────────────┤
|
||||
│ OS 层:系统调用 (open/read/write/socket) │ ← 为什么能真正干活
|
||||
├─────────────────────────────────────────────┤
|
||||
│ 硬件层:CPU 执行指令、网卡收发数据、磁盘写入 │ ← 物理上发生了什么
|
||||
└─────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
所以整个链条是:**包管理器下载编译好的二进制 → 放到 PATH 目录 → shell 通过 PATH 找到它 → execve 加载到内存 →**
|
||||
|
||||
**二进制内部调用 OS API 完成实际工作**。没有任何"魔法",本质上就是文件操作和进程管理的组合。
|
||||
|
||||
|
||||
## 2 程序设计语言与软件开发
|
||||
|
||||
### 2.1 什么是程序设计语言
|
||||
|
||||
计算机只能执行由0和1组成的**机器码**(machine code),但人类直接阅读和编写机器码极其困难。程序设计语言就是人与计算机之间的桥梁——用人类可读的语法表达逻辑,再通过特定工具转换为机器可执行的指令。
|
||||
|
||||
从底层到高层的演进:
|
||||
|
||||
| 层级 | 语言示例 | 特点 |
|
||||
|------|---------|------|
|
||||
| 机器码 | 二进制 `01101000` | 计算机直接执行,人类不可读 |
|
||||
| 汇编语言 | `MOV AX, 1` | 与机器码一一对应,可读性低 |
|
||||
| 低级语言 | C | 接近硬件,性能高,需要手动管理内存 |
|
||||
| 高级语言 | Python, Java, JavaScript | 接近自然语言,开发效率高 |
|
||||
|
||||
### 2.2 编译型与解释型语言
|
||||
|
||||
高级语言需要转换为机器码才能运行,根据转换方式的不同,分为两大类:
|
||||
|
||||
**编译型语言(Compiled)**:程序编写完成后,通过编译器一次性将全部代码翻译成机器码,生成可执行文件。
|
||||
|
||||
```
|
||||
源代码 → 编译器 → 可执行文件 → 运行
|
||||
```
|
||||
|
||||
- **C/C++**:系统级开发、高性能计算、游戏引擎
|
||||
- **Go**:云服务、容器工具(Docker 即用 Go 编写)
|
||||
- **Rust**:系统编程,兼顾性能与安全
|
||||
|
||||
特点:运行速度快,但每次修改代码都需要重新编译。
|
||||
|
||||
**解释型语言(Interpreted)**:程序运行时,由解释器逐行读取代码并即时执行,不需要预先编译。
|
||||
|
||||
```
|
||||
源代码 → 解释器逐行执行
|
||||
```
|
||||
|
||||
- **Python**:AI/数据科学的首选语言
|
||||
- **JavaScript**:网页交互、前端开发
|
||||
- **Ruby**:Web开发(Ruby on Rails)
|
||||
|
||||
特点:开发灵活、调试方便,但运行速度通常慢于编译型语言。
|
||||
|
||||
**混合模式**:Java 采用"编译为字节码 → 虚拟机解释执行"的混合方式,兼顾了跨平台和性能。
|
||||
|
||||
### 2.3 常见编程语言概览
|
||||
|
||||
| 语言 | 类型 | 主要用途 | 与AI/设计的关系 |
|
||||
|------|------|---------|---------------|
|
||||
| Python | 解释型 | AI、数据科学、自动化 | 本书主要编程语言 |
|
||||
| C/C++ | 编译型 | 操作系统、嵌入式、高性能计算 | 深度学习框架的底层实现 |
|
||||
| Java | 混合型 | 企业应用、Android开发 | 大数据处理(Hadoop/Spark) |
|
||||
| JavaScript | 解释型 | 网页前端、Node.js后端 | Web可视化、交互设计 |
|
||||
| Shell/Bash | 解释型 | 命令行脚本、系统管理 | 自动化任务、环境管理 |
|
||||
| SQL | 声明式 | 数据库查询 | 数据管理与提取 |
|
||||
|
||||
**命令行界面(CLI)**:CLI(Command Line Interface)是通过文本命令与计算机交互的方式。终端中输入的每一条命令(如 `ls`、`git commit`)本质上都是调用某个程序。掌握 CLI 是进行AI开发的基础技能,许多工具(如 conda、pip、git)主要通过命令行操作。
|
||||
|
||||
### 2.4 软件开发基本概念
|
||||
|
||||
| 概念 | 英文 | 说明 |
|
||||
|------|------|------|
|
||||
| 集成开发环境 | IDE | 集成代码编辑、调试、运行的开发工具(如 VS Code、PyCharm) |
|
||||
| 编译器 | Compiler | 将源代码翻译为机器码的程序 |
|
||||
| 解释器 | Interpreter | 逐行读取并执行源代码的程序 |
|
||||
| 调试器 | Debugger | 帮助定位和修复代码错误的工具 |
|
||||
| 包管理器 | Package Manager | 管理第三方库的安装和更新(如 pip、conda、npm) |
|
||||
| API | Application Programming Interface | 程序之间交互的接口(如调用AI模型的API) |
|
||||
| 开源 | Open Source | 源代码公开,可自由使用和修改 |
|
||||
| 版本控制 | Version Control | 管理代码的修改历史(如 Git) |
|
||||
|
||||
### 2.5 Python环境配置
|
||||
|
||||
Python是本书使用的核心编程语言,以下介绍环境搭建方法。
|
||||
|
||||
#### Anaconda vs Miniconda
|
||||
|
||||
| 工具 | 大小 | 特点 | 下载地址 |
|
||||
|------|------|------|---------|
|
||||
| Anaconda | ~500MB | 预装常用库 | [anaconda.com](https://www.anaconda.com/download) |
|
||||
| Miniconda | ~50MB | 精简安装 | [docs.conda.io](https://docs.conda.io/en/latest/miniconda.html) |
|
||||
|
||||
#### 安装步骤
|
||||
|
||||
```bash
|
||||
# 1. 下载并安装 Anaconda 或 Miniconda
|
||||
|
||||
# 2. 创建虚拟环境
|
||||
conda create -n ai-env python=3.10
|
||||
conda activate ai-env
|
||||
|
||||
# 3. 安装核心科学计算库
|
||||
conda install numpy pandas scipy
|
||||
|
||||
# 4. 安装深度学习框架
|
||||
pip install torch torchvision
|
||||
```
|
||||
|
||||
## 3 Python编程语言
|
||||
|
||||
### 3.1 Python概述与特点
|
||||
|
||||
Python由Guido van Rossum于1991年发布,以"优雅""简洁""可读性强"为设计哲学。它是当前AI和数据科学领域使用最广泛的编程语言。
|
||||
|
||||
**核心特点**:
|
||||
- 语法简洁,接近自然语言,入门门槛低
|
||||
- 丰富的第三方库生态(AI、数据处理、Web等)
|
||||
- 跨平台运行(Windows、macOS、Linux)
|
||||
- 活跃的开源社区支持
|
||||
|
||||
### 3.2 基础语法
|
||||
|
||||
#### 变量与数据类型
|
||||
|
||||
```python
|
||||
# 变量赋值(无需声明类型)
|
||||
name = "设计人工智能" # 字符串 str
|
||||
version = 1.0 # 浮点数 float
|
||||
chapter_count = 26 # 整数 int
|
||||
is_published = True # 布尔值 bool
|
||||
|
||||
# 查看类型
|
||||
print(type(name)) # <class 'str'>
|
||||
```
|
||||
|
||||
#### 字符串操作
|
||||
|
||||
```python
|
||||
title = "设计人工智能"
|
||||
|
||||
# 字符串拼接
|
||||
full_title = title + ":基础与应用"
|
||||
|
||||
# 格式化输出
|
||||
print(f"本书名为《{full_title}》,共{chapter_count}章")
|
||||
|
||||
# 常用方法
|
||||
print(title.lower()) # 设小写
|
||||
print(title.replace("人工智能", "AI")) # 替换
|
||||
print(len(title)) # 长度
|
||||
```
|
||||
|
||||
#### 注释
|
||||
|
||||
```python
|
||||
# 这是单行注释
|
||||
|
||||
"""
|
||||
这是多行注释(文档字符串)
|
||||
常用于函数和类的说明
|
||||
"""
|
||||
|
||||
# 好的注释解释"为什么",而不是"做什么"
|
||||
```
|
||||
|
||||
### 3.3 数据结构
|
||||
|
||||
#### 列表(List)
|
||||
|
||||
有序、可变的序列,最常用的数据结构。
|
||||
|
||||
```python
|
||||
# 创建列表
|
||||
models = ["CNN", "RNN", "Transformer", "Diffusion"]
|
||||
|
||||
# 访问元素(索引从0开始)
|
||||
print(models[0]) # CNN
|
||||
print(models[-1]) # Diffusion(倒数第一个)
|
||||
|
||||
# 修改
|
||||
models.append("GAN") # 添加元素
|
||||
models.remove("RNN") # 删除元素
|
||||
models.sort() # 排序
|
||||
|
||||
# 切片
|
||||
print(models[1:3]) # 第2到第3个元素
|
||||
```
|
||||
|
||||
#### 字典(Dictionary)
|
||||
|
||||
键值对结构,用于存储映射关系。
|
||||
|
||||
```python
|
||||
# 创建字典
|
||||
model_info = {
|
||||
"name": "ResNet",
|
||||
"year": 2015,
|
||||
"layers": 152,
|
||||
"task": "图像分类"
|
||||
}
|
||||
|
||||
# 访问
|
||||
print(model_info["name"]) # ResNet
|
||||
|
||||
# 添加/修改
|
||||
model_info["accuracy"] = 0.96
|
||||
|
||||
# 遍历
|
||||
for key, value in model_info.items():
|
||||
print(f"{key}: {value}")
|
||||
```
|
||||
|
||||
#### 元组(Tuple)
|
||||
|
||||
有序、不可变的序列,适合存储不变的数据。
|
||||
|
||||
```python
|
||||
# 创建元组
|
||||
rgb = (255, 128, 0)
|
||||
|
||||
# 解包
|
||||
r, g, b = rgb
|
||||
```
|
||||
|
||||
#### 集合(Set)
|
||||
|
||||
无序、不重复的元素集合。
|
||||
|
||||
```python
|
||||
tools_a = {"Photoshop", "Figma", "Sketch"}
|
||||
tools_b = {"Figma", "Blender", "Rhino"}
|
||||
|
||||
# 集合运算
|
||||
print(tools_a & tools_b) # 交集: {"Figma"}
|
||||
print(tools_a | tools_b) # 并集
|
||||
```
|
||||
|
||||
### 3.4 控制流
|
||||
|
||||
#### 条件判断
|
||||
|
||||
```python
|
||||
loss = 0.05
|
||||
|
||||
if loss < 0.01:
|
||||
print("模型收敛良好")
|
||||
elif loss < 0.1:
|
||||
print("模型基本收敛")
|
||||
else:
|
||||
print("模型需要继续训练")
|
||||
```
|
||||
|
||||
#### 循环
|
||||
|
||||
```python
|
||||
# for 循环
|
||||
epochs = [1, 2, 3, 4, 5]
|
||||
for epoch in epochs:
|
||||
print(f"训练第 {epoch} 轮")
|
||||
|
||||
# range 生成序列
|
||||
for i in range(10):
|
||||
print(f"第{i}次迭代")
|
||||
|
||||
# while 循环
|
||||
loss = 1.0
|
||||
while loss > 0.01:
|
||||
loss = loss * 0.9 # 模拟训练过程
|
||||
```
|
||||
|
||||
#### 列表推导式
|
||||
|
||||
简洁地创建新列表:
|
||||
|
||||
```python
|
||||
# 传统写法
|
||||
squares = []
|
||||
for x in range(10):
|
||||
squares.append(x ** 2)
|
||||
|
||||
# 列表推导式(推荐)
|
||||
squares = [x ** 2 for x in range(10)]
|
||||
|
||||
# 带条件过滤
|
||||
even_squares = [x ** 2 for x in range(10) if x % 2 == 0]
|
||||
```
|
||||
|
||||
### 3.5 函数与模块
|
||||
|
||||
#### 定义函数
|
||||
|
||||
```python
|
||||
def calculate_accuracy(correct, total):
|
||||
"""计算准确率"""
|
||||
return correct / total
|
||||
|
||||
# 调用函数
|
||||
acc = calculate_accuracy(95, 100)
|
||||
print(f"准确率: {acc:.2%}")
|
||||
```
|
||||
|
||||
#### 默认参数与关键字参数
|
||||
|
||||
```python
|
||||
def train_model(epochs, lr=0.001, optimizer="Adam"):
|
||||
print(f"训练 {epochs} 轮, 学习率={lr}, 优化器={optimizer}")
|
||||
|
||||
# 多种调用方式
|
||||
train_model(100)
|
||||
train_model(100, lr=0.01)
|
||||
train_model(100, optimizer="SGD", lr=0.1)
|
||||
```
|
||||
|
||||
#### 导入模块
|
||||
|
||||
```python
|
||||
# 导入标准库
|
||||
import os
|
||||
import json
|
||||
|
||||
# 导入第三方库
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
|
||||
# 从模块中导入特定功能
|
||||
from pathlib import Path
|
||||
from collections import Counter
|
||||
|
||||
# 安装第三方库(在终端中执行)
|
||||
# pip install numpy pandas matplotlib
|
||||
```
|
||||
|
||||
### 3.6 文件读写
|
||||
|
||||
```python
|
||||
# 读取文件
|
||||
with open("data.txt", "r", encoding="utf-8") as f:
|
||||
content = f.read()
|
||||
|
||||
# 逐行读取
|
||||
with open("data.csv", "r", encoding="utf-8") as f:
|
||||
for line in f:
|
||||
print(line.strip())
|
||||
|
||||
# 写入文件
|
||||
with open("output.txt", "w", encoding="utf-8") as f:
|
||||
f.write("分析结果\n")
|
||||
f.write(f"准确率: {acc:.4f}\n")
|
||||
|
||||
# 读写JSON(AI应用中常用的数据格式)
|
||||
import json
|
||||
|
||||
data = {"model": "ResNet", "accuracy": 0.96}
|
||||
|
||||
# 写入JSON
|
||||
with open("result.json", "w") as f:
|
||||
json.dump(data, f, indent=2)
|
||||
|
||||
# 读取JSON
|
||||
with open("result.json", "r") as f:
|
||||
loaded = json.load(f)
|
||||
```
|
||||
|
||||
### 3.7 面向对象编程基础
|
||||
|
||||
面向对象编程(OOP)是Python的重要范式,许多AI库都基于OOP设计。
|
||||
|
||||
```python
|
||||
class NeuralNetwork:
|
||||
"""简单的神经网络类"""
|
||||
|
||||
def __init__(self, input_size, hidden_size, output_size):
|
||||
"""初始化网络结构"""
|
||||
self.input_size = input_size
|
||||
self.hidden_size = hidden_size
|
||||
self.output_size = output_size
|
||||
self.loss_history = []
|
||||
|
||||
def forward(self, x):
|
||||
"""前向传播"""
|
||||
# 这里简化为概念演示
|
||||
return f"输出: 输入{x}经过{self.hidden_size}个隐藏层神经元"
|
||||
|
||||
def train(self, data, epochs=10):
|
||||
"""训练网络"""
|
||||
for epoch in range(epochs):
|
||||
loss = 1.0 / (epoch + 1) # 模拟损失下降
|
||||
self.loss_history.append(loss)
|
||||
print(f"Epoch {epoch+1}, Loss: {loss:.4f}")
|
||||
|
||||
# 创建实例
|
||||
model = NeuralNetwork(input_size=784, hidden_size=128, output_size=10)
|
||||
|
||||
# 使用
|
||||
output = model.forward([0.5, 0.3, 0.8])
|
||||
model.train(data=None, epochs=5)
|
||||
```
|
||||
|
||||
### 3.8 核心科学计算库
|
||||
|
||||
#### NumPy:数值计算基础
|
||||
|
||||
```python
|
||||
import numpy as np
|
||||
|
||||
# 创建数组
|
||||
x = np.array([1, 2, 3, 4])
|
||||
|
||||
# 矩阵运算
|
||||
W = np.random.randn(4, 3) # 4×3 权重矩阵
|
||||
h = np.dot(x, W) # 矩阵乘法
|
||||
|
||||
# 激活函数
|
||||
relu = np.maximum(0, h) # ReLU
|
||||
|
||||
# 统计运算
|
||||
print(np.mean(x)) # 均值
|
||||
print(np.std(x)) # 标准差
|
||||
print(np.max(x)) # 最大值
|
||||
```
|
||||
|
||||
#### Pandas:数据处理
|
||||
|
||||
```python
|
||||
import pandas as pd
|
||||
|
||||
# 读取数据
|
||||
df = pd.read_csv('data.csv')
|
||||
|
||||
# 查看数据
|
||||
print(df.head()) # 前几行
|
||||
print(df.shape) # 行数和列数
|
||||
print(df.columns) # 列名
|
||||
|
||||
# 数据清洗
|
||||
df = df.dropna() # 删除缺失值
|
||||
|
||||
# 统计分析
|
||||
print(df.describe()) # 描述性统计
|
||||
|
||||
# 筛选数据
|
||||
filtered = df[df['accuracy'] > 0.9]
|
||||
```
|
||||
|
||||
#### Matplotlib:数据可视化
|
||||
|
||||
```python
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
# 折线图:训练损失曲线
|
||||
epochs = [1, 2, 3, 4, 5]
|
||||
losses = [0.8, 0.5, 0.3, 0.15, 0.08]
|
||||
|
||||
plt.plot(epochs, losses, 'b-o')
|
||||
plt.xlabel('Epoch')
|
||||
plt.ylabel('Loss')
|
||||
plt.title('Training Loss Curve')
|
||||
plt.savefig('loss_curve.png', dpi=150)
|
||||
plt.show()
|
||||
```
|
||||
|
||||
### 3.9 深度学习框架
|
||||
|
||||
#### PyTorch
|
||||
|
||||
```bash
|
||||
pip install torch torchvision torchaudio
|
||||
```
|
||||
|
||||
**特点**: - 动态计算图 - 研究友好 - 广泛的社区支持
|
||||
|
||||
**资源**: - [官方文档](https://pytorch.org/docs/) - [中文教程](https://pytorch.zhangxiann.com/)
|
||||
|
||||
#### TensorFlow
|
||||
|
||||
```bash
|
||||
pip install tensorflow
|
||||
```
|
||||
|
||||
**特点**: - 生产部署优化 - Keras高级API - 跨平台支持
|
||||
|
||||
### 3.10 AI工具库速查与模型资源
|
||||
|
||||
#### 工具库速查
|
||||
|
||||
| 类别 | 工具 | 安装命令 | 功能 |
|
||||
|------|------|---------|------|
|
||||
| 计算机视觉 | OpenCV | `pip install opencv-python` | 图像处理、视频分析 |
|
||||
| 目标检测 | Ultralytics | `pip install ultralytics` | YOLO目标检测、实例分割 |
|
||||
| 图像生成 | Diffusers | `pip install diffusers` | Stable Diffusion模型调用 |
|
||||
| Agent开发 | LangChain | `pip install langchain langchain-openai` | LLM应用开发框架 |
|
||||
| Agent开发 | LangGraph | `pip install langgraph` | 状态机式Agent开发 |
|
||||
| 数据检索 | LlamaIndex | `pip install llama-index` | 数据索引与检索(RAG) |
|
||||
|
||||
#### 模型资源
|
||||
|
||||
**Hugging Face**:[huggingface.co](https://huggingface.co/)
|
||||
|
||||
功能:模型仓库、数据集、Spaces在线演示
|
||||
|
||||
**常用预训练模型**:
|
||||
|
||||
| 任务 | 推荐模型 | Hugging Face ID |
|
||||
|------|---------|----------------|
|
||||
| 文生图 | Stable Diffusion XL | stabilityai/stable-diffusion-xl-base-1.0 |
|
||||
| 目标检测 | YOLOv8 | Ultralytics |
|
||||
| 语义分割 | SAM | segment-anything |
|
||||
| 大语言模型 | Llama 3 | meta-llama/Meta-Llama-3-8B |
|
||||
|
||||
## 4 机器学习与深度学习入门教程
|
||||
|
||||
本节通过一个完整的实践流程,带领读者从数据准备到模型训练,体验机器学习和深度学习的核心步骤。
|
||||
|
||||
### 4.1 机器学习 vs 深度学习
|
||||
|
||||
| 维度 | 机器学习 | 深度学习 |
|
||||
|------|---------|---------|
|
||||
| 代表算法 | 线性回归、决策树、SVM、随机森林 | CNN、RNN、Transformer |
|
||||
| 特征工程 | 需要人工设计和选择特征 | 自动从原始数据中学习特征 |
|
||||
| 数据需求 | 中小规模数据即可 | 通常需要大量数据 |
|
||||
| 计算资源 | CPU即可 | 通常需要GPU |
|
||||
| 适用场景 | 结构化数据分析、基线模型 | 图像、文本、语音等非结构化数据 |
|
||||
|
||||
### 4.2 scikit-learn:机器学习实践
|
||||
|
||||
scikit-learn是Python最经典的机器学习库,提供了丰富的算法和工具。
|
||||
|
||||
#### 安装
|
||||
|
||||
```bash
|
||||
pip install scikit-learn
|
||||
```
|
||||
|
||||
#### 完整示例:鸢尾花分类
|
||||
|
||||
```python
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
from sklearn import datasets
|
||||
from sklearn.model_selection import train_test_split
|
||||
from sklearn.preprocessing import StandardScaler
|
||||
from sklearn.linear_model import LogisticRegression
|
||||
from sklearn.tree import DecisionTreeClassifier
|
||||
from sklearn.ensemble import RandomForestClassifier
|
||||
from sklearn.metrics import accuracy_score, classification_report
|
||||
|
||||
# 1. 加载数据
|
||||
iris = datasets.load_iris()
|
||||
X = iris.data # 特征:花萼长度、宽度,花瓣长度、宽度
|
||||
y = iris.target # 标签:三种鸢尾花
|
||||
print(f"数据集大小: {X.shape}, 类别数: {len(np.unique(y))}")
|
||||
|
||||
# 2. 划分训练集和测试集
|
||||
X_train, X_test, y_train, y_test = train_test_split(
|
||||
X, y, test_size=0.3, random_state=42
|
||||
)
|
||||
|
||||
# 3. 数据标准化
|
||||
scaler = StandardScaler()
|
||||
X_train = scaler.fit_transform(X_train)
|
||||
X_test = scaler.transform(X_test)
|
||||
|
||||
# 4. 训练多个模型并比较
|
||||
models = {
|
||||
"逻辑回归": LogisticRegression(),
|
||||
"决策树": DecisionTreeClassifier(max_depth=3),
|
||||
"随机森林": RandomForestClassifier(n_estimators=100),
|
||||
}
|
||||
|
||||
for name, model in models.items():
|
||||
model.fit(X_train, y_train)
|
||||
y_pred = model.predict(X_test)
|
||||
acc = accuracy_score(y_test, y_pred)
|
||||
print(f"{name} 准确率: {acc:.2%}")
|
||||
|
||||
# 5. 详细评估报告(以随机森林为例)
|
||||
best_model = models["随机森林"]
|
||||
y_pred = best_model.predict(X_test)
|
||||
print("\n分类报告:")
|
||||
print(classification_report(y_test, y_pred, target_names=iris.target_names))
|
||||
```
|
||||
|
||||
#### 机器学习工作流总结
|
||||
|
||||
```
|
||||
数据收集 → 数据预处理 → 特征工程 → 划分训练/测试集
|
||||
→ 选择模型 → 训练 → 评估 → 调优 → 部署
|
||||
```
|
||||
|
||||
### 4.3 PyTorch:深度学习实践
|
||||
|
||||
PyTorch是当前研究和实验中最流行的深度学习框架,以动态计算图和Pythonic API著称。
|
||||
|
||||
#### 张量(Tensor)基础
|
||||
|
||||
张量是PyTorch的核心数据结构,类似于NumPy数组,但可以在GPU上运算。
|
||||
|
||||
```python
|
||||
import torch
|
||||
|
||||
# 创建张量
|
||||
a = torch.tensor([1.0, 2.0, 3.0])
|
||||
b = torch.zeros(3, 4) # 3×4 全零矩阵
|
||||
c = torch.randn(3, 4) # 3×4 随机矩阵
|
||||
|
||||
# 张量运算
|
||||
x = torch.tensor([1.0, 2.0, 3.0])
|
||||
y = torch.tensor([4.0, 5.0, 6.0])
|
||||
print(x + y) # 加法
|
||||
print(torch.dot(x, y)) # 点积
|
||||
|
||||
# NumPy互转
|
||||
import numpy as np
|
||||
arr = np.array([1, 2, 3])
|
||||
tensor = torch.from_numpy(arr) # NumPy → Tensor
|
||||
back = tensor.numpy() # Tensor → NumPy
|
||||
```
|
||||
|
||||
#### 自动求导(Autograd)
|
||||
|
||||
PyTorch的autograd模块可以自动计算梯度,是训练神经网络的核心。
|
||||
|
||||
```python
|
||||
# 创建需要梯度的张量
|
||||
x = torch.tensor([2.0], requires_grad=True)
|
||||
|
||||
# 前向计算
|
||||
y = x ** 2 + 3 * x + 1 # y = x² + 3x + 1
|
||||
|
||||
# 反向传播,自动计算 dy/dx
|
||||
y.backward()
|
||||
print(f"dy/dx = {x.grad}") # 应为 2x + 3 = 7(x=2时)
|
||||
```
|
||||
|
||||
#### 完整示例:手写数字识别
|
||||
|
||||
以下是一个完整的神经网络训练流程,使用经典的MNIST数据集。
|
||||
|
||||
```python
|
||||
import torch
|
||||
import torch.nn as nn
|
||||
import torch.optim as optim
|
||||
from torchvision import datasets, transforms
|
||||
|
||||
# 1. 数据准备
|
||||
transform = transforms.Compose([
|
||||
transforms.ToTensor(), # 转为张量
|
||||
transforms.Normalize((0.1307,), (0.3081,)) # 标准化
|
||||
])
|
||||
|
||||
train_dataset = datasets.MNIST('./data', train=True, download=True, transform=transform)
|
||||
test_dataset = datasets.MNIST('./data', train=False, transform=transform)
|
||||
|
||||
train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=64, shuffle=True)
|
||||
test_loader = torch.utils.data.DataLoader(test_dataset, batch_size=1000)
|
||||
|
||||
# 2. 定义模型
|
||||
class Net(nn.Module):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.fc1 = nn.Linear(28 * 28, 128) # 输入层 → 隐藏层
|
||||
self.fc2 = nn.Linear(128, 64) # 隐藏层 → 隐藏层
|
||||
self.fc3 = nn.Linear(64, 10) # 隐藏层 → 输出层(10个数字)
|
||||
|
||||
def forward(self, x):
|
||||
x = x.view(-1, 28 * 28) # 展平图像
|
||||
x = torch.relu(self.fc1(x)) # ReLU激活
|
||||
x = torch.relu(self.fc2(x))
|
||||
x = self.fc3(x) # 输出层不加激活
|
||||
return x
|
||||
|
||||
model = Net()
|
||||
|
||||
# 3. 定义损失函数和优化器
|
||||
criterion = nn.CrossEntropyLoss()
|
||||
optimizer = optim.Adam(model.parameters(), lr=0.001)
|
||||
|
||||
# 4. 训练
|
||||
for epoch in range(5):
|
||||
model.train()
|
||||
total_loss = 0
|
||||
for batch_x, batch_y in train_loader:
|
||||
optimizer.zero_grad() # 清零梯度
|
||||
output = model(batch_x) # 前向传播
|
||||
loss = criterion(output, batch_y) # 计算损失
|
||||
loss.backward() # 反向传播
|
||||
optimizer.step() # 更新参数
|
||||
total_loss += loss.item()
|
||||
print(f"Epoch {epoch+1}, Loss: {total_loss/len(train_loader):.4f}")
|
||||
|
||||
# 5. 测试
|
||||
model.eval()
|
||||
correct = 0
|
||||
total = 0
|
||||
with torch.no_grad():
|
||||
for batch_x, batch_y in test_loader:
|
||||
output = model(batch_x)
|
||||
_, predicted = torch.max(output, 1)
|
||||
total += batch_y.size(0)
|
||||
correct += (predicted == batch_y).sum()
|
||||
|
||||
print(f"\n测试准确率: {correct/total:.2%}")
|
||||
```
|
||||
|
||||
### 4.4 使用预训练模型
|
||||
|
||||
在实际应用中,通常不需要从头训练模型,而是使用预训练模型进行微调或直接推理。
|
||||
|
||||
#### 使用Hugging Face Transformers
|
||||
|
||||
```python
|
||||
# 安装: pip install transformers
|
||||
|
||||
from transformers import pipeline
|
||||
|
||||
# 文本分类(情感分析)
|
||||
classifier = pipeline("sentiment-analysis")
|
||||
result = classifier("This design is amazing!")
|
||||
print(result)
|
||||
# [{'label': 'POSITIVE', 'score': 0.9998}]
|
||||
|
||||
# 图像分类
|
||||
image_classifier = pipeline("image-classification")
|
||||
result = image_classifier("building.jpg")
|
||||
print(result)
|
||||
# [{'score': 0.92, 'label': 'palace'}, ...]
|
||||
```
|
||||
|
||||
#### 使用Ultralytics YOLO
|
||||
|
||||
```python
|
||||
# 安装: pip install ultralytics
|
||||
|
||||
from ultralytics import YOLO
|
||||
|
||||
# 加载预训练模型
|
||||
model = YOLO("yolov8n.pt")
|
||||
|
||||
# 目标检测
|
||||
results = model("street_photo.jpg")
|
||||
|
||||
# 查看结果
|
||||
for result in results:
|
||||
boxes = result.boxes
|
||||
for box in boxes:
|
||||
cls = int(box.cls[0])
|
||||
conf = float(box.conf[0])
|
||||
label = model.names[cls]
|
||||
print(f"检测到: {label}, 置信度: {conf:.2f}")
|
||||
```
|
||||
|
||||
### 4.5 GPU加速
|
||||
|
||||
深度学习训练在GPU上可以快数十倍。PyTorch的GPU使用非常简洁:
|
||||
|
||||
```python
|
||||
# 检查GPU是否可用
|
||||
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
||||
print(f"使用设备: {device}")
|
||||
|
||||
# 将模型和数据移动到GPU
|
||||
model = Net().to(device)
|
||||
|
||||
# 训练时,数据也需要移到GPU
|
||||
for batch_x, batch_y in train_loader:
|
||||
batch_x = batch_x.to(device)
|
||||
batch_y = batch_y.to(device)
|
||||
# ... 后续训练代码不变
|
||||
```
|
||||
|
||||
在没有本地GPU的情况下,可以使用 [Google Colab](https://colab.research.google.com/) 免费使用云端GPU运行上述代码。
|
||||
|
||||
### 4.6 学习路径建议
|
||||
|
||||
| 阶段 | 内容 | 推荐资源 |
|
||||
|------|------|---------|
|
||||
| 入门 | Python基础 + NumPy/Pandas | 本附录 §3 |
|
||||
| 机器学习 | scikit-learn实践 | [scikit-learn官方教程](https://scikit-learn.org/stable/tutorial/) |
|
||||
| 深度学习基础 | PyTorch入门 + MLP | [PyTorch官方教程](https://pytorch.org/tutorials/) |
|
||||
| 计算机视觉 | CNN + 图像分类/检测 | 本书第三篇 + CS231n |
|
||||
| 自然语言处理 | Transformer + LLM | 本书第四篇 + CS224n |
|
||||
| 生成式AI | Diffusion + AIGC工具 | 本书第五篇 |
|
||||
| 前沿探索 | Agent + 具身智能 | 本书第六篇 |
|
||||
@@ -0,0 +1,434 @@
|
||||
# 附录2:Vibe Coding与工具链
|
||||
|
||||
本附录介绍Vibe Coding的概念与实践,以及Claude Code、Markdown/Obsidian、Git/GitHub等核心工具的使用方法。
|
||||
|
||||
## 1 Vibe Coding的概念与工具
|
||||
|
||||
### 1.1 什么是Vibe Coding
|
||||
|
||||
传统编程:**明确需求 → 设计算法 → 编写代码**
|
||||
|
||||
Vibe Coding:**模糊想法 → AI辅助 → 迭代完善**
|
||||
|
||||
Vibe Coding是一种以AI为核心的编程新模式:开发者用自然语言描述意图,AI生成代码,再通过迭代对话逐步完善。对于编程经验较少的设计专业读者而言,这种模式大幅降低了技术门槛——不需要记住语法细节,只需要清楚地表达"想要什么"。
|
||||
|
||||
### 1.2 工作流程
|
||||
|
||||
**1. 描述意图**:用自然语言说明需求
|
||||
|
||||
> "帮我创建一个简单的图像分类模型"
|
||||
|
||||
**2. AI生成代码**:自动生成完整代码框架
|
||||
|
||||
**3. 运行测试**:发现问题或需要调整
|
||||
|
||||
**4. 迭代优化**:通过对话逐步改进
|
||||
|
||||
> "把隐藏层改成128个神经元"
|
||||
|
||||
**5. 理解学习**:阅读AI生成的代码,理解实现原理
|
||||
|
||||
### 1.3 实践技巧
|
||||
|
||||
| 技巧 | 说明 |
|
||||
|------|------|
|
||||
| 明确需求 | 详细描述输入输出,提供上下文 |
|
||||
| 分步实现 | 复杂功能拆解为小任务,逐步完成 |
|
||||
| 验证结果 | 运行并检查AI生成的代码是否正确 |
|
||||
| 学习思考 | 不盲目接受,理解AI为什么这样写 |
|
||||
|
||||
### 1.4 工具生态
|
||||
|
||||
| 工具 | 形态 | 特点 | 适用场景 |
|
||||
|------|------|------|---------|
|
||||
| ChatGPT / Claude | 网页对话 | 代码生成与解释 | 学习咨询、快速原型 |
|
||||
| GitHub Copilot | 编辑器插件 | 实时代码补全 | 日常开发 |
|
||||
| Cursor | AI原生IDE | 对话式编程 | 快速原型、中型项目 |
|
||||
| Claude Code | 终端CLI | 终端AI编程、多文件协作 | 项目级开发 |
|
||||
| Replit Agent | 在线平台 | 端到端开发 | 小型项目、学习实验 |
|
||||
|
||||
## 2 Claude Code简介与使用
|
||||
|
||||
### 2.1 什么是Claude Code
|
||||
|
||||
Claude Code是Anthropic推出的命令行AI编程工具(CLI),能够直接在终端中理解项目上下文、读写文件、执行命令,实现端到端的AI辅助开发。它也提供VSCode扩展,可以在编辑器中无缝使用。
|
||||
|
||||
### 2.2 安装与配置
|
||||
|
||||
```bash
|
||||
# 安装(需要 Node.js 18+)
|
||||
npm install -g @anthropic-ai/claude-code
|
||||
|
||||
# 进入项目目录后启动
|
||||
cd my_project
|
||||
claude
|
||||
```
|
||||
|
||||
启动后进入交互式对话界面,直接用自然语言描述需求即可。
|
||||
|
||||
### 2.3 核心使用方式
|
||||
|
||||
**对话式开发**:用自然语言描述任务,Claude Code会自动读取相关文件、编写代码、执行测试。
|
||||
|
||||
```
|
||||
> 帮我创建一个数据预处理的Python脚本,读取CSV文件并清洗缺失值
|
||||
```
|
||||
|
||||
**文件操作**:Claude Code可以直接读取、创建和编辑项目中的文件,每次修改前会征得确认。
|
||||
|
||||
**命令执行**:可以请求Claude Code运行终端命令,如安装依赖、运行脚本等。
|
||||
|
||||
### 2.4 VSCode中的Claude Code
|
||||
|
||||
Claude Code提供VSCode扩展,在编辑器中获得同样的AI辅助能力:
|
||||
|
||||
1. 在VSCode扩展商店搜索 "Claude Code" 并安装
|
||||
2. 打开项目文件夹
|
||||
3. 使用快捷键或侧边栏打开Claude面板
|
||||
4. 在编辑器中选中代码后,可以直接向Claude提问或请求修改
|
||||
|
||||
**常用场景**:
|
||||
- 选中一段代码,请求"解释这段代码"
|
||||
- 选中函数,请求"添加错误处理"
|
||||
- 在Claude面板中输入"帮我写单元测试"
|
||||
|
||||
### 2.5 典型项目工作流
|
||||
|
||||
**推荐项目结构**:
|
||||
|
||||
```
|
||||
project/
|
||||
├── data/ # 数据文件
|
||||
├── notebooks/ # Jupyter笔记本
|
||||
├── src/ # 源代码
|
||||
│ ├── models/ # 模型定义
|
||||
│ ├── utils/ # 工具函数
|
||||
│ └── train.py # 训练脚本
|
||||
├── requirements.txt # 依赖列表
|
||||
└── README.md # 项目说明
|
||||
```
|
||||
|
||||
**开发流程**:
|
||||
|
||||
```bash
|
||||
# 1. 创建环境
|
||||
conda create -n myproject python=3.10
|
||||
conda activate myproject
|
||||
|
||||
# 2. 安装依赖
|
||||
pip install -r requirements.txt
|
||||
|
||||
# 3. 启动 Claude Code 进行AI辅助开发
|
||||
claude
|
||||
|
||||
# 4. 保存环境
|
||||
conda env export > environment.yml
|
||||
```
|
||||
|
||||
## 3 Markdown语法及Obsidian工具
|
||||
|
||||
### 3.1 Markdown简介
|
||||
|
||||
Markdown是一种轻量级标记语言,用纯文本格式编写文档,可以方便地转换为HTML、PDF等格式。它的语法简洁直观,是技术文档、笔记、学术写作的常用工具。
|
||||
|
||||
本书全部内容即使用Markdown编写。
|
||||
|
||||
### 3.2 基础语法
|
||||
|
||||
**标题**:
|
||||
|
||||
```markdown
|
||||
# 一级标题
|
||||
## 二级标题
|
||||
### 三级标题
|
||||
```
|
||||
唯一的一级标题:在一个文档中,通常只使用一个一级标题作为文档的主标题,这符合良好的文档结构规范。
|
||||
|
||||
**文本格式**:
|
||||
|
||||
```markdown
|
||||
*斜体* **加粗** ***粗斜体*** ~~删除线~~ <u>下划线</u> `行内代码` ==高亮文本== ___分隔线
|
||||
```
|
||||
包含反引号的代码:当代码本身包含反引号时,使用两个反引号包围,使用 `` `code` `` 这样的格式
|
||||
|
||||
**列表**:
|
||||
列表可以嵌套使用
|
||||
```markdown
|
||||
- 无序列表项1
|
||||
- 无序列表项2
|
||||
|
||||
1. 有序列表项1
|
||||
2. 有序列表项2
|
||||
|
||||
- [ ] 未完成的任务
|
||||
- [x] 已完成的任务
|
||||
```
|
||||
|
||||
**链接与图片**:
|
||||
|
||||
```markdown
|
||||
[链接文字](https://example.com) <!-- 行内链接 -->
|
||||
[链接文字][1] <!-- 参考式链接 -->
|
||||
[跳转到基础](#基础) <!-- 锚点链接 -->
|
||||
|
||||
[1]: https://www.example.com <!-- 参考链接定义 -->
|
||||
|
||||
 <!-- 基本图片 -->
|
||||
*图7.8 路杀动物* <!-- 图片下方用斜体作为图注 -->
|
||||
|
||||
<!-- 图片居中对齐并指定宽度 -->
|
||||
<div align="center">
|
||||
<img src="image.png" alt="说明" style="width:10cm;"/>
|
||||
<p><em>图片标题</em></p>
|
||||
</div>
|
||||
```
|
||||
|
||||
**代码块**:
|
||||
|
||||
````markdown
|
||||
```python
|
||||
print("Hello, World!")
|
||||
```
|
||||
````
|
||||
|
||||
带行号的代码区块(需要渲染器支持,如 Docusaurus、VuePress):
|
||||
|
||||
````markdown
|
||||
```javascript linenums="1"
|
||||
function greet(name) {
|
||||
console.log(`Hello, ${name}!`);
|
||||
}
|
||||
```
|
||||
````
|
||||
|
||||
**表格**:
|
||||
|
||||
```markdown
|
||||
| 列1 | 列2 | 列3 |
|
||||
|-----|-----|-----|
|
||||
| 内容 | 内容 | 内容 |
|
||||
```
|
||||
|
||||
对齐方式:`:---` 左对齐,`:---:` 居中,`---:` 右对齐:
|
||||
|
||||
```markdown
|
||||
| 左对齐 | 居中对齐 | 右对齐 |
|
||||
| :----- | :------: | -----: |
|
||||
| 内容 | 内容 | 100 |
|
||||
```
|
||||
|
||||
**注记**:
|
||||
输入后在Obsidian编辑器中会自动弹出添加注记模块
|
||||
|
||||
```markdown
|
||||
脚注[^1]
|
||||
|
||||
```
|
||||
|
||||
**引用**:
|
||||
|
||||
```markdown
|
||||
> 这是一段引用文字
|
||||
|
||||
> 多级嵌套引用
|
||||
> > 第二层
|
||||
> > > 第三层
|
||||
|
||||
> **本章要点**
|
||||
>
|
||||
> - 了解项目背景和目标
|
||||
> - 掌握核心功能特性
|
||||
```
|
||||
|
||||
**图表绘制(Mermaid)**:
|
||||
|
||||
使用 `` ```mermaid `` 代码块,部分渲染器(GitHub、Typora、Obsidian)支持:
|
||||
|
||||
流程图:
|
||||
|
||||
````markdown
|
||||
```mermaid
|
||||
graph LR
|
||||
A[开始] --> B{条件判断}
|
||||
B -->|是| C[执行操作1]
|
||||
B -->|否| D[执行操作2]
|
||||
C --> E[结束]
|
||||
D --> E
|
||||
```
|
||||
````
|
||||
|
||||
时序图:
|
||||
|
||||
````markdown
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant 用户
|
||||
participant 系统
|
||||
用户->>系统: 登录请求
|
||||
系统-->>用户: 返回结果
|
||||
```
|
||||
````
|
||||
|
||||
甘特图:
|
||||
|
||||
````markdown
|
||||
```mermaid
|
||||
gantt
|
||||
title 项目计划
|
||||
dateFormat YYYY-MM-DD
|
||||
section 设计
|
||||
需求分析 :done, 2024-01-01, 15d
|
||||
section 开发
|
||||
编码实现 :active, 2024-01-16, 30d
|
||||
```
|
||||
````
|
||||
|
||||
饼图:
|
||||
|
||||
````markdown
|
||||
```mermaid
|
||||
pie
|
||||
title 市场份额
|
||||
"Chrome" : 65
|
||||
"Safari" : 15
|
||||
"其他" : 20
|
||||
```
|
||||
````
|
||||
|
||||
**数学公式**:
|
||||
|
||||
行内公式用 `$...$`,块级公式用 `$$...$$`,语法基于 LaTeX:
|
||||
|
||||
```markdown
|
||||
质能方程 $E = mc^2$,其中 $c$ 为光速。
|
||||
```
|
||||
|
||||
$$
|
||||
\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
|
||||
$$
|
||||
|
||||
多行对齐公式:
|
||||
|
||||
$$
|
||||
\begin{align}
|
||||
f(x) &= ax^2 + bx + c \\
|
||||
f'(x) &= 2ax + b
|
||||
\end{align}
|
||||
$$
|
||||
|
||||
矩阵:
|
||||
|
||||
$$
|
||||
\begin{pmatrix}
|
||||
a & b \\
|
||||
c & d
|
||||
\end{pmatrix}
|
||||
$$
|
||||
|
||||
### 3.3 Obsidian:Markdown笔记工具
|
||||
|
||||
[Obsidian](https://obsidian.md/) 是一款基于Markdown的知识管理工具,适合构建个人知识库和笔记系统。
|
||||
|
||||
**核心特性**:
|
||||
- **本地存储**:所有笔记以Markdown文件保存在本地,数据完全自主
|
||||
- **双向链接**:用 `[[笔记名]]` 在笔记之间建立链接,形成知识网络
|
||||
- **图谱视图**:可视化笔记之间的关联关系
|
||||
- **插件生态**:丰富的社区插件扩展功能(如日历、看板、模板等)
|
||||
- **实时预览**:编辑Markdown时实时渲染效果
|
||||
|
||||
**使用建议**:
|
||||
- 用Obsidian打开本教材的根目录,即可获得完整的阅读与编辑体验
|
||||
- 建议安装"目录"插件,方便在长文档中快速导航
|
||||
- 利用双向链接功能,将学习笔记与教材内容关联起来
|
||||
|
||||
## 4 Git版本管理与GitHub协作
|
||||
|
||||
### 4.1 为什么需要版本管理
|
||||
|
||||
在项目开发过程中,文件会不断修改。版本管理工具可以:
|
||||
- 记录每一次修改的内容和时间
|
||||
- 随时回退到之前的任意版本
|
||||
- 多人协作时避免互相覆盖
|
||||
|
||||
Git是当前最流行的分布式版本管理系统。
|
||||
|
||||
### 4.2 Git基础操作
|
||||
|
||||
**初始化仓库**:
|
||||
|
||||
```bash
|
||||
# 在项目目录中初始化Git
|
||||
cd my_project
|
||||
git init
|
||||
```
|
||||
|
||||
**日常三步曲**:
|
||||
|
||||
```bash
|
||||
# 1. 查看当前修改状态
|
||||
git status
|
||||
|
||||
# 2. 将修改添加到暂存区
|
||||
git add filename.md # 添加指定文件
|
||||
git add . # 添加所有修改
|
||||
|
||||
# 3. 提交修改(附带说明)
|
||||
git commit -m "添加了数据预处理功能"
|
||||
```
|
||||
|
||||
**查看历史**:
|
||||
|
||||
```bash
|
||||
# 查看提交历史
|
||||
git log --oneline
|
||||
|
||||
# 查看某次提交的具体改动
|
||||
git show abc1234
|
||||
```
|
||||
|
||||
**回退操作**:
|
||||
|
||||
```bash
|
||||
# 查看某文件的历史版本
|
||||
git log -- filename.md
|
||||
|
||||
# 恢复某个文件到指定版本
|
||||
git checkout abc1234 -- filename.md
|
||||
```
|
||||
|
||||
### 4.3 GitHub:云端协作平台
|
||||
|
||||
[GitHub](https://github.com/) 是基于Git的代码托管平台,提供云端存储和协作功能。
|
||||
|
||||
**核心概念**:
|
||||
- **仓库(Repository)**:项目的存储空间,包含所有文件和历史记录
|
||||
- **远程同步**:将本地仓库推送到GitHub,或从GitHub拉取更新
|
||||
- **协作**:多人通过分支和合并协同工作
|
||||
|
||||
**常用操作**:
|
||||
|
||||
```bash
|
||||
# 关联远程仓库
|
||||
git remote add origin https://github.com/username/project.git
|
||||
|
||||
# 推送到远程
|
||||
git push -u origin main
|
||||
|
||||
# 从远程拉取更新
|
||||
git pull
|
||||
```
|
||||
|
||||
**本书的Git管理**:
|
||||
|
||||
本书内容即通过Git进行版本管理。每个章节的修改都有完整的提交记录,可以通过 `git log` 查看内容的演变历史。
|
||||
|
||||
### 4.4 推荐工作流
|
||||
|
||||
对于设计专业的学习和研究项目,建议采用以下简化工作流:
|
||||
|
||||
```
|
||||
编写/修改文档 → git add → git commit → git push
|
||||
```
|
||||
|
||||
每次完成一个阶段性工作(如写完一节内容、完成一次实验)后提交一次,附上简洁的说明。这样既保留了完整的历史记录,也不会因为误操作而丢失工作成果。
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
# 附录3:学术论文撰写工作流
|
||||
|
||||
本附录介绍文献检索管理、论文写作工具、AI辅助写作流程及引用格式规范。
|
||||
|
||||
## 1 文献检索与管理
|
||||
|
||||
### 1.1 检索平台
|
||||
|
||||
| 平台 | 特点 | 网址 |
|
||||
|------|------|------|
|
||||
| Google Scholar | 综合学术搜索 | [scholar.google.com](https://scholar.google.com/) |
|
||||
| arXiv | AI领域预印本 | [arxiv.org](https://arxiv.org/) |
|
||||
| Semantic Scholar | AI辅助文献搜索 | [semanticscholar.org](https://www.semanticscholar.org/) |
|
||||
| CNKI | 中文学术文献 | [cnki.net](https://www.cnki.net/) |
|
||||
|
||||
### 1.2 文献管理工具
|
||||
|
||||
| 工具 | 特点 |
|
||||
|------|------|
|
||||
| Zotero | 免费、开源、支持浏览器插件 |
|
||||
| Mendeley | PDF标注与协作 |
|
||||
| EndNote | 功能全面、与Word深度集成 |
|
||||
|
||||
## 2 论文写作工具
|
||||
|
||||
### 2.1 LaTeX
|
||||
|
||||
学术排版的行业标准,适合公式密集的论文。
|
||||
|
||||
- **在线编辑**:[Overleaf](https://www.overleaf.com/) — 无需本地安装,支持协作
|
||||
- **本地编辑**:TeX Live + VSCode LaTeX Workshop 插件
|
||||
|
||||
### 2.2 Markdown + Pandoc
|
||||
|
||||
轻量级写作方案,适合课程报告和技术文档。
|
||||
|
||||
```bash
|
||||
# Markdown 转 Word / PDF
|
||||
pandoc paper.md -o paper.docx
|
||||
pandoc paper.md -o paper.pdf --pdf-engine=xelatex
|
||||
```
|
||||
|
||||
## 3 AI辅助写作流程
|
||||
|
||||
**1. 文献综述**:使用 ChatGPT/Claude 快速了解研究领域的核心文献和发展脉络
|
||||
|
||||
**2. 大纲生成**:通过AI辅助梳理论文结构和逻辑框架
|
||||
|
||||
**3. 段落撰写**:AI辅助润色语言表达、翻译中英文
|
||||
|
||||
**4. 格式排版**:利用模板和工具自动处理格式
|
||||
|
||||
> **注意**:AI辅助写作应遵循学术诚信原则,AI生成的内容需人工审核和改写,核心观点和论证应由作者独立完成。
|
||||
|
||||
## 4 引用与格式规范
|
||||
|
||||
### 4.1 常用引用格式
|
||||
|
||||
- **APA**:社会科学常用
|
||||
- **IEEE**:工程和计算机科学常用
|
||||
- **GB/T 7714**:中国国家标准
|
||||
|
||||
### 4.2 BibTeX示例
|
||||
|
||||
```bibtex
|
||||
@article{vaswani2017attention,
|
||||
title={Attention is all you need},
|
||||
author={Vaswani, Ashish and others},
|
||||
journal={NeurIPS},
|
||||
volume={30},
|
||||
year={2017}
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,325 @@
|
||||
# 附录5:网络、网站与在线可视化
|
||||
|
||||
本附录介绍网络基础知识、网站搭建入门,以及在线数据可视化的工具与方法。
|
||||
|
||||
## 1 网络基础知识
|
||||
|
||||
### 1.1 互联网与Web
|
||||
|
||||
互联网(Internet)是由全球计算机互相连接而成的网络。Web(万维网)是运行在互联网上的信息系统,通过浏览器访问网页来获取信息。
|
||||
|
||||
**核心概念**:
|
||||
|
||||
| 概念 | 说明 |
|
||||
|------|------|
|
||||
| URL | 统一资源定位符,即网页地址(如 `https://example.com/page`) |
|
||||
| HTTP/HTTPS | 浏览器与服务器之间传输数据的协议,HTTPS 为加密版本 |
|
||||
| HTML | 网页的骨架,定义页面结构和内容 |
|
||||
| CSS | 网页的样式,控制颜色、字体、布局等外观 |
|
||||
| JavaScript | 网页的行为,实现交互功能和动态效果 |
|
||||
| API | 应用程序接口,程序之间交换数据的标准方式 |
|
||||
|
||||
### 1.2 前端与后端
|
||||
|
||||
一个完整的Web应用由前端和后端两部分组成:
|
||||
|
||||
```
|
||||
用户浏览器(前端) ←→ 服务器(后端) ←→ 数据库
|
||||
HTML/CSS/JS Python/Node.js MySQL/PostgreSQL
|
||||
```
|
||||
|
||||
**前端**:用户在浏览器中看到和操作的界面,使用 HTML、CSS、JavaScript 构建。
|
||||
|
||||
**后端**:运行在服务器上的程序,处理数据逻辑、存储和检索,可以用 Python(Flask/Django/FastAPI)、Node.js、Java 等实现。
|
||||
|
||||
### 1.3 API与数据交互
|
||||
|
||||
API(Application Programming Interface)是程序之间通信的接口。在AI应用中,调用大语言模型、获取在线数据等操作都通过API完成。
|
||||
|
||||
**RESTful API 基本概念**:
|
||||
|
||||
| 方法 | 用途 | 示例 |
|
||||
|------|------|------|
|
||||
| GET | 获取数据 | 获取模型列表 |
|
||||
| POST | 提交数据 | 发送文本让模型生成回复 |
|
||||
| PUT | 更新数据 | 更新模型参数 |
|
||||
| DELETE | 删除数据 | 删除一条记录 |
|
||||
|
||||
**调用API的Python示例**:
|
||||
|
||||
```python
|
||||
import requests
|
||||
|
||||
# 调用一个公开API获取数据
|
||||
response = requests.get("https://api.example.com/models")
|
||||
data = response.json() # 将返回的JSON解析为Python字典
|
||||
print(data)
|
||||
|
||||
# POST请求示例
|
||||
payload = {"prompt": "设计一个现代风格的客厅", "model": "stable-diffusion"}
|
||||
response = requests.post("https://api.example.com/generate", json=payload)
|
||||
```
|
||||
|
||||
### 1.4 JSON数据格式
|
||||
|
||||
JSON(JavaScript Object Notation)是Web上最常用的数据交换格式,几乎所有API都使用JSON传递数据。
|
||||
|
||||
```json
|
||||
{
|
||||
"model": "ResNet",
|
||||
"accuracy": 0.96,
|
||||
"layers": [64, 128, 256, 512],
|
||||
"metadata": {
|
||||
"author": "He et al.",
|
||||
"year": 2015
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Python中读写JSON:
|
||||
|
||||
```python
|
||||
import json
|
||||
|
||||
# Python字典 → JSON字符串
|
||||
data = {"name": "Transformer", "year": 2017}
|
||||
json_str = json.dumps(data, indent=2)
|
||||
|
||||
# JSON字符串 → Python字典
|
||||
parsed = json.loads(json_str)
|
||||
```
|
||||
|
||||
## 2 网站搭建入门
|
||||
|
||||
### 2.1 静态网站与动态网站
|
||||
|
||||
| 类型 | 说明 | 技术栈 | 适用场景 |
|
||||
|------|------|--------|---------|
|
||||
| 静态网站 | 页面内容固定,无需服务器处理 | HTML/CSS/JS | 作品集、项目文档 |
|
||||
| 动态网站 | 内容根据请求动态生成 | 前端 + 后端 + 数据库 | 在线工具、数据平台 |
|
||||
|
||||
### 2.2 静态网站快速搭建
|
||||
|
||||
对于设计专业的学生,最实用的方式是使用静态网站生成器搭建项目展示或文档站点。
|
||||
|
||||
**MkDocs**:用Markdown编写内容,生成美观的文档网站。
|
||||
|
||||
```bash
|
||||
# 安装
|
||||
pip install mkdocs mkdocs-material
|
||||
|
||||
# 创建项目
|
||||
mkdocs new my-site
|
||||
cd my-site
|
||||
|
||||
# 本地预览(浏览器访问 http://127.0.0.1:8000)
|
||||
mkdocs serve
|
||||
|
||||
# 构建静态文件
|
||||
mkdocs build
|
||||
```
|
||||
|
||||
**GitHub Pages**:将静态网站免费部署到互联网。
|
||||
|
||||
1. 在GitHub上创建仓库
|
||||
2. 将网站文件推送到仓库
|
||||
3. 在仓库设置中启用 GitHub Pages
|
||||
4. 即可通过 `https://username.github.io/repo` 访问
|
||||
|
||||
### 2.3 HTML/CSS/JavaScript 速览
|
||||
|
||||
#### HTML:页面结构
|
||||
|
||||
```html
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>我的设计作品集</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>设计作品集</h1>
|
||||
<p>欢迎来到我的作品展示页面</p>
|
||||
<img src="design.jpg" alt="设计作品">
|
||||
<a href="https://example.com">了解更多</a>
|
||||
</body>
|
||||
</html>
|
||||
```
|
||||
|
||||
#### CSS:页面样式
|
||||
|
||||
```css
|
||||
body {
|
||||
font-family: "Helvetica", sans-serif;
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: #2c3e50;
|
||||
text-align: center;
|
||||
}
|
||||
```
|
||||
|
||||
#### JavaScript:页面交互
|
||||
|
||||
```javascript
|
||||
// 点击按钮时显示消息
|
||||
document.getElementById("myButton").addEventListener("click", function() {
|
||||
alert("按钮被点击了!");
|
||||
});
|
||||
```
|
||||
|
||||
### 2.4 前端框架简介
|
||||
|
||||
对于更复杂的Web应用,可以使用前端框架提升开发效率:
|
||||
|
||||
| 框架 | 特点 | 适用场景 |
|
||||
|------|------|---------|
|
||||
| Vue.js | 渐进式框架,学习曲线平缓 | 交互式数据展示 |
|
||||
| React | 组件化开发,生态最丰富 | 复杂单页应用 |
|
||||
| Streamlit | Python编写Web应用 | AI模型展示、数据分析仪表板 |
|
||||
|
||||
**Streamlit 示例**(用Python快速构建AI展示页面):
|
||||
|
||||
```python
|
||||
import streamlit as st
|
||||
|
||||
st.title("图像分类演示")
|
||||
st.write("上传一张图片,AI将识别其中的内容")
|
||||
|
||||
uploaded_file = st.file_uploader("选择图片", type=["jpg", "png"])
|
||||
if uploaded_file:
|
||||
st.image(uploaded_file, caption="上传的图片")
|
||||
st.write("分类结果:建筑(置信度 95%)")
|
||||
```
|
||||
|
||||
```bash
|
||||
# 安装并运行
|
||||
pip install streamlit
|
||||
streamlit run app.py
|
||||
```
|
||||
|
||||
### 2.5 网站部署方式
|
||||
|
||||
| 方式 | 特点 | 费用 |
|
||||
|------|------|------|
|
||||
| GitHub Pages | 适合静态网站,免费 | 免费 |
|
||||
| Vercel / Netlify | 支持前端框架自动部署 | 免费额度 |
|
||||
| 云服务器(阿里云/腾讯云) | 完全控制,适合动态网站 | 按需付费 |
|
||||
| Hugging Face Spaces | 适合AI模型演示 | 免费额度 |
|
||||
|
||||
## 3 在线数据可视化
|
||||
|
||||
### 3.1 为什么需要数据可视化
|
||||
|
||||
设计领域的AI研究和实践经常涉及数据展示:训练损失曲线、模型性能对比、空间数据分析结果等。数据可视化将抽象的数字转化为直观的图形,帮助理解和决策。
|
||||
|
||||
### 3.2 Python可视化库
|
||||
|
||||
#### Matplotlib:基础绑图
|
||||
|
||||
```python
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
# 折线图
|
||||
epochs = range(1, 11)
|
||||
train_loss = [0.9, 0.6, 0.4, 0.25, 0.15, 0.1, 0.07, 0.05, 0.04, 0.03]
|
||||
val_loss = [0.85, 0.65, 0.45, 0.35, 0.28, 0.25, 0.24, 0.23, 0.23, 0.24]
|
||||
|
||||
plt.figure(figsize=(8, 5))
|
||||
plt.plot(epochs, train_loss, 'b-o', label='Train Loss')
|
||||
plt.plot(epochs, val_loss, 'r-s', label='Val Loss')
|
||||
plt.xlabel('Epoch')
|
||||
plt.ylabel('Loss')
|
||||
plt.title('Training vs Validation Loss')
|
||||
plt.legend()
|
||||
plt.grid(True, alpha=0.3)
|
||||
plt.savefig('loss_comparison.png', dpi=150, bbox_inches='tight')
|
||||
plt.show()
|
||||
```
|
||||
|
||||
#### Seaborn:统计可视化
|
||||
|
||||
基于Matplotlib,提供更美观的统计图表。
|
||||
|
||||
```python
|
||||
import seaborn as sns
|
||||
|
||||
# 热力图:相关性矩阵
|
||||
import numpy as np
|
||||
data = np.random.randn(10, 10)
|
||||
corr = np.corrcoef(data)
|
||||
|
||||
sns.heatmap(corr, annot=True, cmap='coolwarm')
|
||||
plt.title('Feature Correlation Heatmap')
|
||||
plt.savefig('heatmap.png', dpi=150)
|
||||
```
|
||||
|
||||
#### Plotly:交互式可视化
|
||||
|
||||
支持鼠标悬停、缩放、导出等交互操作,适合Web展示。
|
||||
|
||||
```python
|
||||
import plotly.express as px
|
||||
|
||||
# 交互式散点图
|
||||
df = px.data.iris()
|
||||
fig = px.scatter(df, x="sepal_width", y="sepal_length",
|
||||
color="species", size="petal_length",
|
||||
title="Iris Dataset Scatter Plot")
|
||||
fig.write_html("scatter.html") # 导出为网页
|
||||
fig.show()
|
||||
```
|
||||
|
||||
### 3.3 在线可视化工具
|
||||
|
||||
无需编程,通过网页界面即可创建可视化:
|
||||
|
||||
| 工具 | 特点 | 网址 |
|
||||
|------|------|------|
|
||||
| Observable | JavaScript驱动的交互式笔记本 | [observablehq.com](https://observablehq.com/) |
|
||||
| Flourish | 拖拽式数据可视化,模板丰富 | [flourish.studio](https://flourish.studio/) |
|
||||
| Datawrapper | 适合制作新闻级图表 | [datawrapper.de](https://www.datawrapper.de/) |
|
||||
| Tableau Public | 强大的商业智能可视化 | [public.tableau.com](https://public.tableau.com/) |
|
||||
| ECharts | 百度开源的交互式图表库 | [echarts.apache.org](https://echarts.apache.org/) |
|
||||
|
||||
### 3.4 地理空间可视化
|
||||
|
||||
设计领域经常涉及地理和空间数据的可视化:
|
||||
|
||||
| 工具 | 特点 | 适用场景 |
|
||||
|------|------|---------|
|
||||
| Folium | Python地图可视化库 | 在地图上标注数据点 |
|
||||
| Kepler.gl | Uber开源的大规模地理数据可视化 | 城市数据分析 |
|
||||
| Mapbox | 自定义地图样式 | 设计精美的交互地图 |
|
||||
| QGIS | 开源GIS桌面软件 | 空间分析与制图 |
|
||||
|
||||
**Folium 示例**(在地图上标记位置):
|
||||
|
||||
```python
|
||||
import folium
|
||||
|
||||
# 创建地图(以某坐标为中心)
|
||||
m = folium.Map(location=[39.9, 116.4], zoom_start=12)
|
||||
|
||||
# 添加标记
|
||||
folium.Marker(
|
||||
[39.9, 116.4],
|
||||
popup="设计学院",
|
||||
icon=folium.Icon(color="blue", icon="info-sign")
|
||||
).add_to(m)
|
||||
|
||||
# 保存为网页
|
||||
m.save("map.html")
|
||||
```
|
||||
|
||||
### 3.5 可视化设计原则
|
||||
|
||||
| 原则 | 说明 |
|
||||
|------|------|
|
||||
| 选择合适的图表类型 | 比较→柱状图,趋势→折线图,占比→饼图,关系→散点图 |
|
||||
| 保持简洁 | 每张图只传达一个核心信息,避免过度装饰 |
|
||||
| 使用合理的色彩 | 同类数据用同色系,对比数据用对比色,注意色盲友好 |
|
||||
| 标注清晰 | 标题、轴标签、图例、数据来源缺一不可 |
|
||||
| 交互增强 | 在线可视化支持筛选、缩放、悬停查看详情 |
|
||||
@@ -0,0 +1,31 @@
|
||||
# 附录5:在线学习资源
|
||||
|
||||
本附录整理AI学习过程中常用的在线课程、技术博客与文档、以及公开数据集。
|
||||
|
||||
## 1 推荐课程
|
||||
|
||||
| 名称 | 平台 | 链接 |
|
||||
|------|------|------|
|
||||
| CS231n:计算机视觉 | Stanford | [cs231n.stanford.edu](http://cs231n.stanford.edu/) |
|
||||
| Fast.ai:实用深度学习 | fast.ai | [course.fast.ai](https://course.fast.ai/) |
|
||||
| 吴恩达深度学习专项课 | Coursera | [coursera.org](https://www.coursera.org/specializations/deep-learning) |
|
||||
| CS224n:NLP与深度学习 | Stanford | [web.stanford.edu](https://web.stanford.edu/class/cs224n/) |
|
||||
| 李宏毅机器学习 | YouTube | [youtube.com](https://www.youtube.com/c/HungyiLeeNTU) |
|
||||
|
||||
## 2 博客与文档
|
||||
|
||||
- [Lil'Log](https://lilianweng.github.io/) - AI深度技术文章
|
||||
- [The Illustrated Transformer](https://jalammar.github.io/illustrated-transformer/) - 可视化原理解析
|
||||
- [Distill.pub](https://distill.pub/) - 交互式可视化论文
|
||||
- [PyTorch官方文档](https://pytorch.org/docs/)
|
||||
- [Ultralytics YOLO文档](https://docs.ultralytics.com/)
|
||||
- [LangChain文档](https://python.langchain.com/)
|
||||
|
||||
## 3 数据集
|
||||
|
||||
| 数据集 | 内容 | 链接 |
|
||||
|--------|------|------|
|
||||
| ImageNet | 图像分类 | [image-net.org](https://www.image-net.org/) |
|
||||
| COCO | 目标检测 | [cocodataset.org](https://cocodataset.org/) |
|
||||
| MNIST | 手写数字 | [yann.lecun.com](http://yann.lecun.com/exdb/mnist/) |
|
||||
| OpenStreetMap | 地图数据 | [openstreetmap.org](https://www.openstreetmap.org/) |
|
||||
@@ -0,0 +1,49 @@
|
||||
# 附录6:其他资源
|
||||
|
||||
本附录整理AIGC工具、设计领域AI工具,以及设计AI相关的学术期刊与会议。
|
||||
|
||||
## 1 AIGC工具
|
||||
|
||||
### 1.1 Stable Diffusion
|
||||
|
||||
**WebUI**:[Automatic1111](https://github.com/AUTOMATIC1111/stable-diffusion-webui)
|
||||
|
||||
**ComfyUI**:[GitHub](https://github.com/comfyanonymous/ComfyUI)
|
||||
|
||||
**API调用示例**:
|
||||
|
||||
```python
|
||||
from diffusers import StableDiffusionPipeline
|
||||
|
||||
pipe = StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5")
|
||||
image = pipe("a photo of an astronaut riding a horse on mars").images[0]
|
||||
```
|
||||
|
||||
### 1.2 Midjourney
|
||||
|
||||
**平台**:Discord **文档**:[docs.midjourney.com](https://docs.midjourney.com/)
|
||||
|
||||
## 2 设计领域AI工具
|
||||
|
||||
| 工具 | 用途 | 网址 |
|
||||
|------|------|------|
|
||||
| Midjourney | 图像生成与创意探索 | [midjourney.com](https://www.midjourney.com/) |
|
||||
| Stable Diffusion | 本地可控图像生成 | [stability.ai](https://stability.ai/) |
|
||||
| ControlNet | 精确结构控制 | [arxiv.org](https://arxiv.org/abs/2302.05543) |
|
||||
| Figma AI | 界面设计辅助 | [figma.com](https://www.figma.com/) |
|
||||
| Galileo AI | 界面布局生成 | [usegalileo.ai](https://www.usegalileo.ai/) |
|
||||
| Planner 5D | 室内设计自动生成 | [planner5d.com](https://planner5d.com/) |
|
||||
|
||||
## 3 学术期刊与会议
|
||||
|
||||
### 3.1 设计AI相关期刊
|
||||
|
||||
- Landscape and Urban Planning
|
||||
- Environment and Planning B: Urban Analytics and City Science
|
||||
- Automation in Construction
|
||||
|
||||
### 3.2 设计AI相关会议
|
||||
|
||||
- CAAD Futures
|
||||
- ACADIA
|
||||
- eCAADe
|
||||
@@ -0,0 +1,127 @@
|
||||
# 附录7:参考文献
|
||||
|
||||
本部分整理教材中引用的论文、书籍和在线资源。
|
||||
|
||||
论文
|
||||
|
||||
# 基础理论
|
||||
|
||||
4. Universal Approximation Theorem (1989)
|
||||
|
||||
Scaling Laws for Neural Language Models (2020)
|
||||
|
||||
# 计算机视觉
|
||||
|
||||
6. AlexNet (2012) - ImageNet Classification with Deep Convolutional Neural Networks
|
||||
|
||||
ResNet (2015) - Deep Residual Learning for Image Recognition
|
||||
|
||||
YOLO (2016) - You Only Look Once: Unified, Real-Time Object Detection
|
||||
|
||||
U-Net (2015) - Convolutional Networks for Biomedical Image Segmentation
|
||||
|
||||
# Transformer与大模型
|
||||
|
||||
10. Attention Is All You Need (2017)
|
||||
|
||||
BERT: Pre-training of Deep Bidirectional Transformers (2018)
|
||||
|
||||
GPT-3: Language Models are Few-Shot Learners (2020)
|
||||
|
||||
Training Language Models to Follow Instructions with Human Feedback (2022)
|
||||
|
||||
# 生成式AI
|
||||
|
||||
14. Denoising Diffusion Probabilistic Models (2020)
|
||||
|
||||
High-Resolution Image Synthesis with Latent Diffusion Models (2022)
|
||||
|
||||
ControlNet (2023)
|
||||
|
||||
# AI Agent
|
||||
|
||||
1. LLM Powered Autonomous Agents (2023)
|
||||
|
||||
2. ReAct: Synergizing Reasoning and Acting in Language Models (2022)
|
||||
|
||||
3.
|
||||
|
||||
# 书籍
|
||||
|
||||
5. 深度学习
|
||||
|
||||
6. Deep Learning (Ian Goodfellow et al.)
|
||||
|
||||
7. Neural Networks and Deep Learning (Michael Nielsen)
|
||||
|
||||
8. 强化学习
|
||||
|
||||
9. Reinforcement Learning: An Introduction (Sutton & Barto)
|
||||
|
||||
10.
|
||||
|
||||
# 在线资源
|
||||
|
||||
12. 课程
|
||||
|
||||
13. CS231n: Convolutional Neural Networks for Visual Recognition
|
||||
|
||||
14. Fast.ai Practical Deep Learning for Coders
|
||||
|
||||
## 工具文档
|
||||
|
||||
16. PyTorch: https://pytorch.org/docs/
|
||||
|
||||
17. Ultralytics YOLO: https://docs.ultralytics.com/
|
||||
|
||||
18. LangChain: https://python.langchain.com/
|
||||
|
||||
## 博客
|
||||
|
||||
20. Lil'Log (Lilian Weng): https://lilianweng.github.io/
|
||||
|
||||
21. The Illustrated Transformer: https://jalammar.github.io/illustrated-transformer/
|
||||
|
||||
22.
|
||||
|
||||
# 设计AI相关
|
||||
|
||||
## 学术期刊
|
||||
|
||||
25. Landscape and Urban Planning
|
||||
|
||||
26. Environment and Planning B: Urban Analytics and City Science
|
||||
|
||||
27. Automation in Construction
|
||||
|
||||
## 会议
|
||||
|
||||
29. CAAD Futures
|
||||
|
||||
30. ACADIA
|
||||
|
||||
31. eCAADe
|
||||
|
||||
32.
|
||||
|
||||
# 数据集
|
||||
|
||||
## 计算机视觉
|
||||
|
||||
35. ImageNet
|
||||
|
||||
36. COCO (Common Objects in Context)
|
||||
|
||||
37. MNIST
|
||||
|
||||
## 空间数据
|
||||
|
||||
39. OpenStreetMap
|
||||
|
||||
40. 路网数据、POI数据等
|
||||
|
||||
# 许可说明
|
||||
|
||||
部分内容引用自公开资源,遵循相应许可协议使用。
|
||||
|
||||
**最后更新**:2026年4月
|
||||
@@ -0,0 +1,318 @@
|
||||
# 附录8:关键术语表
|
||||
|
||||
本附录按章节整理书中涉及的关键中英文术语。
|
||||
|
||||
## A
|
||||
|
||||
-------------------------------------------------------
|
||||
中文 英文 章节
|
||||
------------------ ----------------------------- ------
|
||||
自编码器 Autoencoder, AE 11
|
||||
|
||||
注意力机制 Attention 8
|
||||
|
||||
人类反馈强化学习 RLHF 10
|
||||
|
||||
人工智能 AI, Artificial Intelligence 1
|
||||
|
||||
AI for Science AI4S 1
|
||||
|
||||
AI in Education AIED 1
|
||||
-------------------------------------------------------
|
||||
|
||||
## B
|
||||
|
||||
----------------------------------
|
||||
中文 英文 章节
|
||||
------------ -------------- ------
|
||||
边界框 Bounding Box 6
|
||||
|
||||
生物多样性 Biodiversity 24
|
||||
----------------------------------
|
||||
|
||||
## C
|
||||
|
||||
-------------------------------------------
|
||||
中文 英文 章节
|
||||
-------------- ------------------ ---------
|
||||
卷积神经网络 CNN 5, 6, 7
|
||||
|
||||
卷积核 Kernel/Filter 5
|
||||
|
||||
因果推断 Causal Inference \-
|
||||
|
||||
连通性 Connectivity 25
|
||||
|
||||
交叉熵 Cross Entropy 4
|
||||
-------------------------------------------
|
||||
|
||||
## D
|
||||
|
||||
-----------------------------------------
|
||||
中文 英文 章节
|
||||
-------------- ------------------- ------
|
||||
扩散模型 Diffusion Model 11
|
||||
|
||||
数字孪生 Digital Twin 14
|
||||
|
||||
深度学习 Deep Learning 2
|
||||
|
||||
设计生成式AI Generative Design 20
|
||||
-----------------------------------------
|
||||
|
||||
## E
|
||||
|
||||
------------------------------------------
|
||||
中文 英文 章节
|
||||
-------------- -------------------- ------
|
||||
生态系统服务 Ecosystem Services 24
|
||||
|
||||
具身智能 Embodied AI 14
|
||||
|
||||
编码器 Encoder 9
|
||||
|
||||
解码器 Decoder 9
|
||||
------------------------------------------
|
||||
|
||||
## F
|
||||
|
||||
---------------------------------------------
|
||||
中文 英文 章节
|
||||
---------- --------------------------- ------
|
||||
特征图 Feature Map 5
|
||||
|
||||
前馈网络 FFN, Feed-Forward Network 2, 9
|
||||
|
||||
俯瞰 Foundation Model \-
|
||||
---------------------------------------------
|
||||
|
||||
## G
|
||||
|
||||
---------------------------------------------
|
||||
中文 英文 章节
|
||||
-------------- ------------------ -----------
|
||||
生成对抗网络 GAN 11
|
||||
|
||||
生成式AI AIGC 1, 11, 16
|
||||
|
||||
梯度下降 Gradient Descent 4
|
||||
|
||||
图神经网络 GNN 2
|
||||
---------------------------------------------
|
||||
|
||||
## H
|
||||
|
||||
-----------------------------------
|
||||
中文 英文 章节
|
||||
-------- ------------------- ------
|
||||
HITL Human-in-the-Loop 15
|
||||
|
||||
隐藏层 Hidden Layer 3
|
||||
|
||||
超参数 Hyperparameter \-
|
||||
-----------------------------------
|
||||
|
||||
## I
|
||||
|
||||
-----------------------------------------
|
||||
中文 英文 章节
|
||||
---------- ----------------------- ------
|
||||
交并比 IoU 6
|
||||
|
||||
图像分类 Image Classification 6
|
||||
|
||||
实例分割 Instance Segmentation 7
|
||||
-----------------------------------------
|
||||
|
||||
## K
|
||||
|
||||
---------------------------------
|
||||
中文 英文 章节
|
||||
-------- ----------------- ------
|
||||
键 Key 8
|
||||
|
||||
核函数 Kernel Function \-
|
||||
---------------------------------
|
||||
|
||||
## L
|
||||
|
||||
-----------------------------------------
|
||||
中文 英文 章节
|
||||
------------ --------------------- ------
|
||||
大语言模型 LLM 10
|
||||
|
||||
损失函数 Loss Function 4
|
||||
|
||||
学习率 Learning Rate 4
|
||||
|
||||
LoRA Low-Rank Adaptation 12
|
||||
|
||||
潜在空间 Latent Space 11
|
||||
-----------------------------------------
|
||||
|
||||
## M
|
||||
|
||||
--------------------------------------------
|
||||
中文 英文 章节
|
||||
------------ ------------------------ ------
|
||||
多头注意力 Multi-Head Attention 8
|
||||
|
||||
多层感知机 MLP 3, 4
|
||||
|
||||
多模态 Multimodal 10
|
||||
|
||||
MCP Model Context Protocol 15
|
||||
|
||||
平均精度 mAP 6
|
||||
--------------------------------------------
|
||||
|
||||
## N
|
||||
|
||||
--------------------------------------
|
||||
中文 英文 章节
|
||||
-------------- ---------------- ------
|
||||
归一化 Normalization 9
|
||||
|
||||
神经网络 Neural Network 2
|
||||
|
||||
非极大值抑制 NMS 6
|
||||
--------------------------------------
|
||||
|
||||
## O
|
||||
|
||||
---------------------------------------------
|
||||
中文 英文 章节
|
||||
----------------- -------------------- ------
|
||||
目标检测 Object Detection 6
|
||||
|
||||
优化器 Optimizer 4
|
||||
|
||||
One-Stage检测器 One-Stage Detector 6
|
||||
---------------------------------------------
|
||||
|
||||
## P
|
||||
|
||||
---------------------------------------
|
||||
中文 英文 章节
|
||||
---------- --------------------- ------
|
||||
位置编码 Positional Encoding 8
|
||||
|
||||
池化 Pooling 5
|
||||
|
||||
提示工程 Prompt Engineering 10
|
||||
|
||||
预训练 Pre-training 10
|
||||
|
||||
像素 Pixel 7
|
||||
---------------------------------------
|
||||
|
||||
## Q
|
||||
|
||||
---------------------------
|
||||
中文 英文 章节
|
||||
------- ------------ ------
|
||||
查询 Query 8
|
||||
|
||||
Q学习 Q-Learning 14
|
||||
---------------------------
|
||||
|
||||
## R
|
||||
|
||||
------------------------------------------------------
|
||||
中文 英文 章节
|
||||
-------------- -------------------------------- ------
|
||||
RAG Retrieval-Augmented Generation 10
|
||||
|
||||
ReAct Reasoning + Acting 13
|
||||
|
||||
强化学习 RL, Reinforcement Learning 14
|
||||
|
||||
循环神经网络 RNN 2
|
||||
|
||||
残差连接 Residual Connection 9
|
||||
|
||||
值 Value 8
|
||||
|
||||
感受野 Receptive Field 5
|
||||
------------------------------------------------------
|
||||
|
||||
## S
|
||||
|
||||
-----------------------------------------------
|
||||
中文 英文 章节
|
||||
---------------- ----------------------- ------
|
||||
Self-Attention 自注意力 8
|
||||
|
||||
语义分割 Semantic Segmentation 7
|
||||
|
||||
Scaling Law 缩放定律 2
|
||||
|
||||
Sigmoid 激活函数 4
|
||||
|
||||
Softmax 激活函数 4
|
||||
|
||||
境况 State 14
|
||||
|
||||
潜变量 Latent Variable 11
|
||||
|
||||
支持向量机 SVM \-
|
||||
-----------------------------------------------
|
||||
|
||||
## T
|
||||
|
||||
--------------------------------------------
|
||||
中文 英文 章节
|
||||
------------- ----------------------- ------
|
||||
Transformer Transformer架构 9
|
||||
|
||||
拓扑优化 Topology Optimization 21
|
||||
|
||||
Token 令牌/词元 9
|
||||
|
||||
目标检测 Two-Stage Detector 6
|
||||
--------------------------------------------
|
||||
|
||||
## U
|
||||
|
||||
-------------------------------------------------------
|
||||
中文 英文 章节
|
||||
-------------- --------------------------------- ------
|
||||
万能逼近定理 Universal Approximation Theorem 2
|
||||
|
||||
U-Net 分割网络架构 7
|
||||
-------------------------------------------------------
|
||||
|
||||
## V
|
||||
|
||||
--------------------------------------------------
|
||||
中文 英文 章节
|
||||
----------------- ------------------------- ------
|
||||
VAE Variational Autoencoder 11
|
||||
|
||||
向量数据库 Vector Database 10
|
||||
|
||||
视觉Transformer Vision Transformer 5
|
||||
--------------------------------------------------
|
||||
|
||||
## W
|
||||
|
||||
----------------------------------
|
||||
中文 英文 章节
|
||||
---------- ---------------- ------
|
||||
权重 Weight 3
|
||||
|
||||
权重共享 Weight Sharing 5
|
||||
|
||||
权重衰减 Weight Decay \-
|
||||
----------------------------------
|
||||
|
||||
## Y
|
||||
|
||||
-----------------------------------
|
||||
中文 英文 章节
|
||||
------- -------------------- ------
|
||||
YOLO You Only Look Once 6
|
||||
|
||||
-----------------------------------
|
||||
|
||||
**更新日期**:2026年4月
|
||||
@@ -0,0 +1,5 @@
|
||||
# 附录9:Tips
|
||||
|
||||
- 用AI学习AI,大大减少了学习的时间和难度:例如markdown等语法,只需要学习两部分内容:1)掌握经常性的手动输入需要的内容,例如#,- 等,2)了解剩余的语法的大致机制,例如图片插入可以使用html语法,公式排版使用的是Latex语法,具体实现时让AI撰写。
|
||||
- 有任何不懂的问题,直接问AI,如Claude code等CLI Agent以及在线等的大模型
|
||||
|
||||
@@ -0,0 +1,211 @@
|
||||
# 附录C:关键术语表
|
||||
|
||||
本附录按章节整理书中涉及的关键中英文术语。
|
||||
|
||||
---
|
||||
|
||||
## A
|
||||
|
||||
| 中文 | 英文 | 章节 |
|
||||
|-----|------|------|
|
||||
| 自编码器 | Autoencoder, AE | 11 |
|
||||
| 注意力机制 | Attention | 8 |
|
||||
| 人类反馈强化学习 | RLHF | 10 |
|
||||
| 人工智能 | AI, Artificial Intelligence | 1 |
|
||||
| AI for Science | AI4S | 1 |
|
||||
| AI in Education | AIED | 1 |
|
||||
|
||||
## B
|
||||
|
||||
| 中文 | 英文 | 章节 |
|
||||
|-----|------|------|
|
||||
| 边界框 | Bounding Box | 6 |
|
||||
| 生物多样性 | Biodiversity | 24 |
|
||||
|
||||
## C
|
||||
|
||||
| 中文 | 英文 | 章节 |
|
||||
|-----|------|------|
|
||||
| 卷积神经网络 | CNN | 5, 6, 7 |
|
||||
| 卷积核 | Kernel/Filter | 5 |
|
||||
| 因果推断 | Causal Inference | - |
|
||||
| 连通性 | Connectivity | 25 |
|
||||
| 交叉熵 | Cross Entropy | 4 |
|
||||
|
||||
## D
|
||||
|
||||
| 中文 | 英文 | 章节 |
|
||||
|-----|------|------|
|
||||
| 扩散模型 | Diffusion Model | 11 |
|
||||
| 数字孪生 | Digital Twin | 14 |
|
||||
| 深度学习 | Deep Learning | 2 |
|
||||
| 设计生成式AI | Generative Design | 20 |
|
||||
|
||||
## E
|
||||
|
||||
| 中文 | 英文 | 章节 |
|
||||
|-----|------|------|
|
||||
| 生态系统服务 | Ecosystem Services | 24 |
|
||||
| 具身智能 | Embodied AI | 14 |
|
||||
| 编码器 | Encoder | 9 |
|
||||
| 解码器 | Decoder | 9 |
|
||||
|
||||
## F
|
||||
|
||||
| 中文 | 英文 | 章节 |
|
||||
|-----|------|------|
|
||||
| 特征图 | Feature Map | 5 |
|
||||
| 前馈网络 | FFN, Feed-Forward Network | 2, 9 |
|
||||
| 俯瞰 | Foundation Model | - |
|
||||
|
||||
## G
|
||||
|
||||
| 中文 | 英文 | 章节 |
|
||||
|-----|------|------|
|
||||
| 生成对抗网络 | GAN | 11 |
|
||||
| 生成式AI | AIGC | 1, 11, 16 |
|
||||
| 梯度下降 | Gradient Descent | 4 |
|
||||
| 图神经网络 | GNN | 2 |
|
||||
|
||||
## H
|
||||
|
||||
| 中文 | 英文 | 章节 |
|
||||
|-----|------|------|
|
||||
| HITL | Human-in-the-Loop | 15 |
|
||||
| 隐藏层 | Hidden Layer | 3 |
|
||||
| 超参数 | Hyperparameter | - |
|
||||
|
||||
## I
|
||||
|
||||
| 中文 | 英文 | 章节 |
|
||||
|-----|------|------|
|
||||
| 交并比 | IoU | 6 |
|
||||
| 图像分类 | Image Classification | 6 |
|
||||
| 实例分割 | Instance Segmentation | 7 |
|
||||
|
||||
## K
|
||||
|
||||
| 中文 | 英文 | 章节 |
|
||||
|-----|------|------|
|
||||
| 键 | Key | 8 |
|
||||
| 核函数 | Kernel Function | - |
|
||||
|
||||
## L
|
||||
|
||||
| 中文 | 英文 | 章节 |
|
||||
|-----|------|------|
|
||||
| 大语言模型 | LLM | 10 |
|
||||
| 损失函数 | Loss Function | 4 |
|
||||
| 学习率 | Learning Rate | 4 |
|
||||
| LoRA | Low-Rank Adaptation | 12 |
|
||||
| 潜在空间 | Latent Space | 11 |
|
||||
|
||||
## M
|
||||
|
||||
| 中文 | 英文 | 章节 |
|
||||
|-----|------|------|
|
||||
| 多头注意力 | Multi-Head Attention | 8 |
|
||||
| 多层感知机 | MLP | 3, 4 |
|
||||
| 多模态 | Multimodal | 10 |
|
||||
| MCP | Model Context Protocol | 15 |
|
||||
| 平均精度 | mAP | 6 |
|
||||
|
||||
## N
|
||||
|
||||
| 中文 | 英文 | 章节 |
|
||||
|-----|------|------|
|
||||
| 归一化 | Normalization | 9 |
|
||||
| 神经网络 | Neural Network | 2 |
|
||||
| 非极大值抑制 | NMS | 6 |
|
||||
|
||||
## O
|
||||
|
||||
| 中文 | 英文 | 章节 |
|
||||
|-----|------|------|
|
||||
| 目标检测 | Object Detection | 6 |
|
||||
| 优化器 | Optimizer | 4 |
|
||||
| One-Stage检测器 | One-Stage Detector | 6 |
|
||||
|
||||
## P
|
||||
|
||||
| 中文 | 英文 | 章节 |
|
||||
|-----|------|------|
|
||||
| 位置编码 | Positional Encoding | 8 |
|
||||
| 池化 | Pooling | 5 |
|
||||
| 提示工程 | Prompt Engineering | 10 |
|
||||
| 预训练 | Pre-training | 10 |
|
||||
| 像素 | Pixel | 7 |
|
||||
|
||||
## Q
|
||||
|
||||
| 中文 | 英文 | 章节 |
|
||||
|-----|------|------|
|
||||
| 查询 | Query | 8 |
|
||||
| Q学习 | Q-Learning | 14 |
|
||||
|
||||
## R
|
||||
|
||||
| 中文 | 英文 | 章节 |
|
||||
|-----|------|------|
|
||||
| RAG | Retrieval-Augmented Generation | 10 |
|
||||
| ReAct | Reasoning + Acting | 13 |
|
||||
| 强化学习 | RL, Reinforcement Learning | 14 |
|
||||
| 循环神经网络 | RNN | 2 |
|
||||
| 残差连接 | Residual Connection | 9 |
|
||||
| 值 | Value | 8 |
|
||||
| 感受野 | Receptive Field | 5 |
|
||||
|
||||
## S
|
||||
|
||||
| 中文 | 英文 | 章节 |
|
||||
|-----|------|------|
|
||||
| Self-Attention | 自注意力 | 8 |
|
||||
| 语义分割 | Semantic Segmentation | 7 |
|
||||
| Scaling Law | 缩放定律 | 2 |
|
||||
| Sigmoid | 激活函数 | 4 |
|
||||
| Softmax | 激活函数 | 4 |
|
||||
| 境况 | State | 14 |
|
||||
| 潜变量 | Latent Variable | 11 |
|
||||
| 支持向量机 | SVM | - |
|
||||
|
||||
## T
|
||||
|
||||
| 中文 | 英文 | 章节 |
|
||||
|-----|------|------|
|
||||
| Transformer | Transformer架构 | 9 |
|
||||
| 拓扑优化 | Topology Optimization | 21 |
|
||||
| Token | 令牌/词元 | 9 |
|
||||
| 目标检测 | Two-Stage Detector | 6 |
|
||||
|
||||
## U
|
||||
|
||||
| 中文 | 英文 | 章节 |
|
||||
|-----|------|------|
|
||||
| 万能逼近定理 | Universal Approximation Theorem | 2 |
|
||||
| U-Net | 分割网络架构 | 7 |
|
||||
|
||||
## V
|
||||
|
||||
| 中文 | 英文 | 章节 |
|
||||
|-----|------|------|
|
||||
| VAE | Variational Autoencoder | 11 |
|
||||
| 向量数据库 | Vector Database | 10 |
|
||||
| 视觉Transformer | Vision Transformer | 5 |
|
||||
|
||||
## W
|
||||
|
||||
| 中文 | 英文 | 章节 |
|
||||
|-----|------|------|
|
||||
| 权重 | Weight | 3 |
|
||||
| 权重共享 | Weight Sharing | 5 |
|
||||
| 权重衰减 | Weight Decay | - |
|
||||
|
||||
## Y
|
||||
|
||||
| 中文 | 英文 | 章节 |
|
||||
|-----|------|------|
|
||||
| YOLO | You Only Look Once | 6 |
|
||||
|
||||
---
|
||||
|
||||
**更新日期**:2026年4月
|
||||
@@ -0,0 +1,111 @@
|
||||
# 参考文献
|
||||
|
||||
本部分整理教材中引用的论文、书籍和在线资源。
|
||||
|
||||
---
|
||||
|
||||
## 论文
|
||||
|
||||
### 基础理论
|
||||
|
||||
- Universal Approximation Theorem (1989)
|
||||
- Scaling Laws for Neural Language Models (2020)
|
||||
|
||||
### 计算机视觉
|
||||
|
||||
- AlexNet (2012) - ImageNet Classification with Deep Convolutional Neural Networks
|
||||
- ResNet (2015) - Deep Residual Learning for Image Recognition
|
||||
- YOLO (2016) - You Only Look Once: Unified, Real-Time Object Detection
|
||||
- U-Net (2015) - Convolutional Networks for Biomedical Image Segmentation
|
||||
|
||||
### Transformer与大模型
|
||||
|
||||
- Attention Is All You Need (2017)
|
||||
- BERT: Pre-training of Deep Bidirectional Transformers (2018)
|
||||
- GPT-3: Language Models are Few-Shot Learners (2020)
|
||||
- Training Language Models to Follow Instructions with Human Feedback (2022)
|
||||
|
||||
### 生成式AI
|
||||
|
||||
- Denoising Diffusion Probabilistic Models (2020)
|
||||
- High-Resolution Image Synthesis with Latent Diffusion Models (2022)
|
||||
- ControlNet (2023)
|
||||
|
||||
### AI Agent
|
||||
|
||||
- LLM Powered Autonomous Agents (2023)
|
||||
- ReAct: Synergizing Reasoning and Acting in Language Models (2022)
|
||||
|
||||
---
|
||||
|
||||
## 书籍
|
||||
|
||||
### 深度学习
|
||||
|
||||
- Deep Learning (Ian Goodfellow et al.)
|
||||
- Neural Networks and Deep Learning (Michael Nielsen)
|
||||
|
||||
### 强化学习
|
||||
|
||||
- Reinforcement Learning: An Introduction (Sutton & Barto)
|
||||
|
||||
---
|
||||
|
||||
## 在线资源
|
||||
|
||||
### 课程
|
||||
|
||||
- CS231n: Convolutional Neural Networks for Visual Recognition
|
||||
- Fast.ai Practical Deep Learning for Coders
|
||||
|
||||
### 工具文档
|
||||
|
||||
- PyTorch: https://pytorch.org/docs/
|
||||
- Ultralytics YOLO: https://docs.ultralytics.com/
|
||||
- LangChain: https://python.langchain.com/
|
||||
|
||||
### 博客
|
||||
|
||||
- Lil'Log (Lilian Weng): https://lilianweng.github.io/
|
||||
- The Illustrated Transformer: https://jalammar.github.io/illustrated-transformer/
|
||||
|
||||
---
|
||||
|
||||
## 设计AI相关
|
||||
|
||||
### 学术期刊
|
||||
|
||||
- Landscape and Urban Planning
|
||||
- Environment and Planning B: Urban Analytics and City Science
|
||||
- Automation in Construction
|
||||
|
||||
### 会议
|
||||
|
||||
- CAAD Futures
|
||||
- ACADIA
|
||||
- eCAADe
|
||||
|
||||
---
|
||||
|
||||
## 数据集
|
||||
|
||||
### 计算机视觉
|
||||
|
||||
- ImageNet
|
||||
- COCO (Common Objects in Context)
|
||||
- MNIST
|
||||
|
||||
### 空间数据
|
||||
|
||||
- OpenStreetMap
|
||||
- 路网数据、POI数据等
|
||||
|
||||
---
|
||||
|
||||
## 许可说明
|
||||
|
||||
部分内容引用自公开资源,遵循相应许可协议使用。
|
||||
|
||||
---
|
||||
|
||||
**最后更新**:2026年4月
|
||||
@@ -0,0 +1,251 @@
|
||||
# 附录A:编程工具与资源
|
||||
|
||||
本附录整理AI学习和实践所需的编程工具、框架和资源。
|
||||
|
||||
---
|
||||
|
||||
## Python环境配置
|
||||
|
||||
### Anaconda/Miniconda
|
||||
|
||||
| 工具 | 大小 | 特点 | 下载地址 |
|
||||
|-----|------|------|---------|
|
||||
| Anaconda | ~500MB | 预装常用库 | [anaconda.com](https://www.anaconda.com/download) |
|
||||
| Miniconda | ~50MB | 精简安装 | [docs.conda.io](https://docs.conda.io/en/latest/miniconda.html) |
|
||||
|
||||
### 安装步骤
|
||||
|
||||
```bash
|
||||
# 1. 下载并安装Miniconda
|
||||
# 2. 创建虚拟环境
|
||||
conda create -n ai-env python=3.10
|
||||
|
||||
# 3. 激活环境
|
||||
conda activate ai-env
|
||||
|
||||
# 4. 安装核心库
|
||||
pip install torch torchvision numpy pandas scipy
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 深度学习框架
|
||||
|
||||
### PyTorch
|
||||
|
||||
```bash
|
||||
pip install torch torchvision torchaudio
|
||||
```
|
||||
|
||||
**特点**:
|
||||
- 动态计算图
|
||||
- 研究友好
|
||||
- 广泛的社区支持
|
||||
|
||||
**资源**:
|
||||
- [官方文档](https://pytorch.org/docs/)
|
||||
- [中文教程](https://pytorch.zhangxiann.com/)
|
||||
|
||||
### TensorFlow
|
||||
|
||||
```bash
|
||||
pip install tensorflow
|
||||
```
|
||||
|
||||
**特点**:
|
||||
- 生产部署优化
|
||||
- Keras高级API
|
||||
- 跨平台支持
|
||||
|
||||
---
|
||||
|
||||
## 计算机视觉工具
|
||||
|
||||
### OpenCV
|
||||
|
||||
```bash
|
||||
pip install opencv-python
|
||||
```
|
||||
|
||||
**功能**:图像处理、视频分析
|
||||
|
||||
### Ultralytics YOLO
|
||||
|
||||
```bash
|
||||
pip install ultralytics
|
||||
```
|
||||
|
||||
**功能**:目标检测、实例分割
|
||||
|
||||
**使用示例**:
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
model = YOLO('yolov8n.pt')
|
||||
results = model('image.jpg')
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## AIGC工具链
|
||||
|
||||
### Stable Diffusion
|
||||
|
||||
**WebUI**:[Automatic1111](https://github.com/AUTOMATIC1111/stable-diffusion-webui)
|
||||
|
||||
**ComfyUI**:[GitHub](https://github.com/comfyanonymous/ComfyUI)
|
||||
|
||||
**API调用**:
|
||||
```python
|
||||
from diffusers import StableDiffusionPipeline
|
||||
|
||||
pipe = StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5")
|
||||
image = pipe("a photo of an astronaut riding a horse on mars").images[0]
|
||||
```
|
||||
|
||||
### ControlNet
|
||||
|
||||
```python
|
||||
from diffusers import StableDiffusionControlNetPipeline
|
||||
|
||||
controlnet = ControlNetModel.from_pretrained("lllyasviel/sd-controlnet-canny")
|
||||
pipe = StableDiffusionControlNetPipeline.from_pretrained("runwayml/stable-diffusion-v1-5", controlnet=controlnet)
|
||||
```
|
||||
|
||||
### Midjourney
|
||||
|
||||
**平台**:Discord
|
||||
**文档**:[docs.midjourney.com](https://docs.midjourney.com/)
|
||||
|
||||
---
|
||||
|
||||
## Agent开发框架
|
||||
|
||||
### LangChain
|
||||
|
||||
```bash
|
||||
pip install langchain langchain-openai
|
||||
```
|
||||
|
||||
**功能**:LLM应用开发框架
|
||||
|
||||
**核心组件**:
|
||||
- Models:LLM接口
|
||||
- Prompts:提示管理
|
||||
- Chains:链式调用
|
||||
- Agents:智能体
|
||||
- Memory:记忆管理
|
||||
|
||||
### LangGraph
|
||||
|
||||
```bash
|
||||
pip install langgraph
|
||||
```
|
||||
|
||||
**功能**:状态机式Agent开发
|
||||
|
||||
### LlamaIndex
|
||||
|
||||
```bash
|
||||
pip install llama-index
|
||||
```
|
||||
|
||||
**功能**:数据索引与检索(RAG)
|
||||
|
||||
---
|
||||
|
||||
## 开发工具
|
||||
|
||||
### VSCode
|
||||
|
||||
**AI开发常用插件**:
|
||||
- Python
|
||||
- Pylance
|
||||
- Jupyter
|
||||
- Copilot
|
||||
|
||||
### Cursor
|
||||
|
||||
**特点**:AI原生IDE
|
||||
**网址**:[cursor.com](https://cursor.com/)
|
||||
|
||||
### Jupyter Lab
|
||||
|
||||
```bash
|
||||
pip install jupyterlab
|
||||
jupyter lab
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 在线学习资源
|
||||
|
||||
### 课程
|
||||
|
||||
| 名称 | 平台 | 链接 |
|
||||
|-----|------|------|
|
||||
| CS231n | Stanford | [cs231n.stanford.edu](http://cs231n.stanford.edu/) |
|
||||
| Fast.ai | fast.ai | [course.fast.ai](https://course.fast.ai/) |
|
||||
| 吴恩达深度学习 | Coursera | [coursera.org/specializations/deep-learning](https://www.coursera.org/specializations/deep-learning) |
|
||||
|
||||
### 博客与文档
|
||||
|
||||
- [Lil'Log](https://lilianweng.github.io/) - AI深度文章
|
||||
- [The Illustrated Transformer](https://jalammar.github.io/illustrated-transformer/)
|
||||
- [Distill.pub](https://distill.pub/) - 可视化论文
|
||||
|
||||
### 数据集
|
||||
|
||||
| 数据集 | 内容 | 链接 |
|
||||
|-------|------|------|
|
||||
| ImageNet | 图像分类 | [image-net.org](https://www.image-net.org/) |
|
||||
| COCO | 目标检测 | [cocodataset.org](https://cocodataset.org/) |
|
||||
| OpenStreetMap | 地图数据 | [openstreetmap.org](https://www.openstreetmap.org/) |
|
||||
|
||||
---
|
||||
|
||||
## 模型资源
|
||||
|
||||
### Hugging Face
|
||||
|
||||
**网址**:[huggingface.co](https://huggingface.co/)
|
||||
|
||||
**功能**:
|
||||
- 模型仓库
|
||||
- 数据集
|
||||
- Spaces在线演示
|
||||
|
||||
### 常用模型
|
||||
|
||||
| 任务 | 推荐模型 | Hugging Face ID |
|
||||
|-----|---------|----------------|
|
||||
| 文生图 | Stable Diffusion XL | stabilityai/stable-diffusion-xl-base-1.0 |
|
||||
| 目标检测 | YOLOv8 | Ultralytics |
|
||||
| 语义分割 | SAM | segment-anything |
|
||||
| 大语言模型 | Llama 3 | meta-llama/Meta-Llama-3-8B |
|
||||
|
||||
---
|
||||
|
||||
## 硬件资源
|
||||
|
||||
### 云平台
|
||||
|
||||
| 平台 | 特点 | 适合场景 |
|
||||
|-----|------|---------|
|
||||
| Google Colab | 免费GPU | 学习实验 |
|
||||
| Kaggle Notebooks | 免费GPU | 竞赛 |
|
||||
| AutoDL | 按时计费 | 中期项目 |
|
||||
| 阿里云PAI | 国内稳定 | 生产部署 |
|
||||
|
||||
### 本地GPU
|
||||
|
||||
推荐配置:
|
||||
- GPU:RTX 3060 (12GB) 或更高
|
||||
- 内存:16GB+
|
||||
- 存储:至少100GB SSD
|
||||
|
||||
---
|
||||
|
||||
## 最后更新
|
||||
|
||||
2026年4月
|
||||
Reference in New Issue
Block a user