445 lines
12 KiB
Markdown
445 lines
12 KiB
Markdown
# 附录1:基础知识与编程环境
|
||
|
||
本附录为读者提供AI学习与实践所需的计算机基础知识、编程环境配置、AI辅助工作流及学习资源指南。
|
||
|
||
## 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 | 国内稳定 | 生产部署 |
|
||
|
||
## 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) |
|
||
| CS224n:NLP与深度学习 | 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月
|