195 lines
4.8 KiB
Markdown
195 lines
4.8 KiB
Markdown
# 附录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 | 国内稳定 | 生产部署 |
|
||
|
||
## 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 |
|