你不需要成为 Python 大神,只要能看懂、能改 AI 里那几行代码就行。Python 在 AI 圈一统天下,不是因为它跑得快,而是因为它有三个"瑞士军刀":NumPy 算数、pandas 管表、matplotlib 画图。这一章带你用最小的代价看懂 AI 代码长什么样。
生活类比:Python 像"普通话"——不是最华丽的方言,但所有人都听得懂。AI 框架(PyTorch、Transformers)都拿它写,你读别人的 demo、调自己的参数,都靠它。
np.array、np.dot 在干嘛;会用 pandas 读 CSV 并筛选;知道怎么画损失曲线;看懂列表推导和 lambda。重点是"读得懂 AI 代码",不是从零写大项目。| 工具 | 干什么 | 生活类比 | AI 里哪用 |
|---|---|---|---|
| NumPy | 多维数组 + 批量数学运算 | 一台超级计算器,一次算一整列 | 权重矩阵、向量、np.dot 矩阵乘法 |
| pandas | 表格读写、筛选、分组统计 | 会编程的 Excel | 加载训练数据、清洗特征 |
| matplotlib | 画折线图、散点图 | 把数字画成曲线 | 画损失曲线,看模型有没有在学 |
| lambda / map / 列表推导 | 一行写小函数、批量处理列表 | 一句话交代"对每个元素做啥" | 预处理文本、批量转换数据 |
普通 Python 列表要逐个元素循环;NumPy 数组能整排一起算,又快又简洁。AI 里几万几万的数字,全靠这种"向量化"一口气算完,绝不能写 for 循环。
# 普通写法:慢又啰嗦 squares = [] for x in [1, 2, 3, 4]: squares.append(x * x) # NumPy 写法:一行,底层用 C 飞快跑 import numpy as np arr = np.array([1, 2, 3, 4]) squares = arr * arr # → array([ 1, 4, 9, 16])
np.dot(W, x) 就是把输入向量 x 丢进权重矩阵 W,加权求和后吐出下一层的数字。一个大模型几百层,本质就是反复做这种乘法。import numpy as np x = np.array([0.5, 1.2, -0.3]) # 输入:3 个特征 W = np.array([ # 权重矩阵:3 进 2 出 [0.1, 0.8, -0.2], [0.4, 0.1, 0.6] ]) y = np.dot(W, x) # 矩阵乘法:shape(2,3)·(3,)→(2,) print(y) # → [ 0.91 0.05] 两个输出
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("train.csv") # 像 Excel 一样读表
good = df[df["score"] > 80] # 筛选:只留 score>80 的行
print(good.groupby("city")["score"].mean()) # 按城市分组求平均
plt.plot(loss_history) # 画损失曲线
plt.title("Loss going down?") # 一路往下=模型在学
plt.show()
lambda x: x*2 是个临时小函数;map(函数, 列表) 对每个元素都做一遍;列表推导 [x*2 for x in arr] 是最常用的"批量转换一行流"。AI 代码里清洗数据时到处都是。np.dot(W, x) 在神经网络里相当于做什么?x 乘上权重矩阵 W,做加权求和,算出下一层的输出。数据穿过一层网络,本质就是一次矩阵乘法。从速通过渡到系统课程,按下面三条线走。