Files
2026_DesignAI/appendix/附录1-基础知识与编程环境.md
T
2026-04-25 11:02:39 +08:00

445 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 附录1:基础知识与编程环境
本附录为读者提供AI学习与实践所需的计算机基础知识、编程环境配置、AI辅助工作流及学习资源指南。
## 1 计算机的基本构成与操作系统常见操作
### 1.1 计算机基本构成
了解计算机的基本组成有助于理解AI程序运行时的资源需求。
| 组件 | 作用 | AI相关说明 |
|------|------|-----------|
| CPU | 中央处理器,执行指令 | 数据预处理、逻辑控制 |
| GPU | 图形处理器,并行计算 | 深度学习训练与推理的核心硬件 |
| 内存(RAM) | 临时存储运行中的数据 | 影响能处理的批量大小和数据规模 |
| 硬盘(SSD/HDD) | 持久化存储数据 | 模型文件、数据集的存储 |
| 网络 | 数据传输 | 下载模型、调用云端API |
### 1.2 操作系统常见操作
本书以 macOS/Linux 为主要环境,Windows 用户推荐使用 WSL2Windows 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配置** - GPURTX 3060 (12GB) 或更高 - 内存:16GB+ - 存储:至少100GB SSD
**云平台**
| 平台 | 特点 | 适合场景 |
|------|------|---------|
| Google Colab | 免费GPU | 学习实验 |
| Kaggle Notebooks | 免费GPU | 竞赛 |
| AutoDL | 按时计费 | 中期项目 |
| 阿里云PAI | 国内稳定 | 生产部署 |
## 2 程序设计语言及其编译运行
### 2.1 Python概述
Python是AI领域的主流编程语言,语法简洁、生态丰富,适合快速原型开发和数据处理。
### 2.2 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
```
### 2.3 核心科学计算库
#### 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
```
#### Pandas:数据处理
```python
import pandas as pd
# 读取数据
df = pd.read_csv('data.csv')
# 数据清洗
df = df.dropna()
df_normalized = (df - df.mean()) / df.std()
# 统计分析
df.describe()
```
#### SciPy:科学计算
```python
from scipy import optimize
from scipy.spatial import distance
# 优化问题
result = optimize.minimize(loss_func, x0)
# 距离计算
dist = distance.euclidean(point1, point2)
```
### 2.4 深度学习框架
#### PyTorch
```bash
pip install torch torchvision torchaudio
```
**特点**: - 动态计算图 - 研究友好 - 广泛的社区支持
**资源** - [官方文档](https://pytorch.org/docs/) - [中文教程](https://pytorch.zhangxiann.com/)
#### TensorFlow
```bash
pip install tensorflow
```
**特点**: - 生产部署优化 - Keras高级API - 跨平台支持
### 2.5 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 |
### 2.6 模型资源
#### 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 |
## 3 Vibe Coding概念与最佳实践工作流
### 3.1 什么是Vibe Coding
传统编程:**明确需求 → 设计算法 → 编写代码**
Vibe Coding**模糊想法 → AI辅助 → 迭代完善**
Vibe Coding是一种以AI为核心的编程新模式,开发者通过自然语言描述意图,由AI生成代码,再通过迭代对话逐步完善。
### 3.2 工作流程
**1. 描述意图(自然语言)**
> "帮我创建一个简单的图像分类模型"
**2. AI生成代码** → 自动生成完整代码框架
**3. 运行测试** → 发现问题或需要调整
**4. 迭代优化**
> "把隐藏层改成128个神经元"
→ AI自动修改代码
**5. 理解学习** → 阅读AI生成的代码,理解实现原理
### 3.3 实践技巧
| 技巧 | 说明 |
|------|------|
| 明确需求 | 详细描述输入输出 |
| 分步实现 | 复杂功能拆解为小任务 |
| 验证结果 | 检查生成的代码是否正确 |
| 学习思考 | 理解AI为什么这样写 |
### 3.4 工具推荐
| 工具 | 特点 | 适用场景 |
|------|------|---------|
| GitHub Copilot | 代码补全 | 日常开发 |
| Cursor | 对话式编程 | 快速原型 |
| ChatGPT/Claude | 代码生成与解释 | 学习咨询 |
| Claude Code | 终端AI编程 | 项目级开发 |
| Replit Agent | 端到端开发 | 小型项目 |
### 3.5 开发工具
#### VSCode
**AI开发常用插件** - Python - Pylance - Jupyter - Copilot
#### Cursor
**特点**AI原生IDE **网址**[cursor.com](https://cursor.com/)
#### Jupyter Lab
```bash
pip install jupyterlab
jupyter lab
```
### 3.6 项目开发工作流
**推荐项目结构**
```
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. 开发迭代
# - 在 notebook 中实验
# - 整理到 src/ 目录
# - 运行测试
# 4. 保存环境
conda env export > environment.yml
```
## 4 学术论文撰写工作流
### 4.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/) |
**文献管理工具**
| 工具 | 特点 |
|------|------|
| Zotero | 免费、开源、支持浏览器插件 |
| Mendeley | PDF标注与协作 |
| EndNote | 功能全面、与Word深度集成 |
### 4.2 论文写作工具
#### LaTeX
学术排版的行业标准,适合公式密集的论文。
- **在线编辑**[Overleaf](https://www.overleaf.com/) — 无需本地安装,支持协作
- **本地编辑**TeX Live + VSCode LaTeX Workshop 插件
#### Markdown + Pandoc
轻量级写作方案,适合课程报告和技术文档。
```bash
# Markdown 转 Word / PDF
pandoc paper.md -o paper.docx
pandoc paper.md -o paper.pdf --pdf-engine=xelatex
```
### 4.3 AI辅助写作流程
**1. 文献综述**:使用 ChatGPT/Claude 快速了解研究领域的核心文献和发展脉络
**2. 大纲生成**:通过AI辅助梳理论文结构和逻辑框架
**3. 段落撰写**AI辅助润色语言表达、翻译中英文
**4. 格式排版**:利用模板和工具自动处理格式
> **注意**:AI辅助写作应遵循学术诚信原则,AI生成的内容需人工审核和改写,核心观点和论证应由作者独立完成。
### 4.4 引用与格式规范
常用引用格式:
- **APA**:社会科学常用
- **IEEE**:工程和计算机科学常用
- **GB/T 7714**:中国国家标准
BibTeX 示例:
```bibtex
@article{vaswani2017attention,
title={Attention is all you need},
author={Vaswani, Ashish and others},
journal={NeurIPS},
volume={30},
year={2017}
}
```
## 5 在线学习课程与资料
### 5.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) |
| CS224nNLP与深度学习 | Stanford | [web.stanford.edu](https://web.stanford.edu/class/cs224n/) |
| 李宏毅机器学习 | YouTube | [youtube.com](https://www.youtube.com/c/HungyiLeeNTU) |
### 5.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/)
### 5.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/) |
## 6 其他
### 6.1 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]
```
#### Midjourney
**平台**Discord **文档**[docs.midjourney.com](https://docs.midjourney.com/)
### 6.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/) |
### 6.3 学术期刊与会议
**设计AI相关期刊**
- Landscape and Urban Planning
- Environment and Planning B: Urban Analytics and City Science
- Automation in Construction
**设计AI相关会议**
- CAAD Futures
- ACADIA
- eCAADe
---
**最后更新**2026年4月