PyTorch常用操作

张量方法

函数/属性 说明 示例
torch.tensor() 创建张量(已有输入数据) x=torch.tensor([1,2,3])
torch.zeros() 创建指定形状全零张量 x=torch.zeros(2,3)
torch.ones() 创建指定形状全一张量 x=torch.ones(3)
torch.arange() 创建整数顺序序列(start,end,默认step=1) x=torch.arange(0,10)
x.shape/.size() 查看张量形状 x.shape
x.view()/.reshape() 改变张量形状(不改变数据顺序) x.view(2,3)
x.unsqueeze() 在指定维度增加大小为1维度 x.unsqueeze(0)
x.squeeze() 去除所有或指定大小为1的维度 x.squeeze()
x.numpy() 转为NumPy数组 x.numpy()
torch.cat(seq,dim=0,out=None) 拼接张量,out若没有指定则会创建新的张量作为结果返回 torch.cat([a,b],dim=0)
x.shape 张量的形状(各维度大小) x.shape
x.size() shape,返回张量形状 x.size()
x.dtype 张量的数据类型(如dtype=float32) x.dtype
x.device 张量所在设备(CPU/GPU) x.device
x.requires_grad 自动求导(自构建计算图) x.requires_grad
x.item() 将只有一个元素的张量转换为Python的标量数值
x.dim() 张量的秩/维度 x.dim()
keepdim(参数) 保持降维的维度(保持维度为1) torch.sum(x,dim=1,keepdim=True)
x.to 将张量x转移到指定的设备(如CPU或GPU)或指定的数据类型上 X.to(torch.float32)

张量初始化与随机操作

函数 说明 示例
torch.zeros(shape) 创建指定形状的全零张量,shape是生成张量的形状 torch.zeros((2,3))
torch.ones(shape) 创建指定形状的全一张量 torch.ones(4)
torch.arange(start,end,step) 创建等差整数序列张量 torch.arange(0,5,1)
torch.rand(shape) 创建指定形状数值在[0,1)区间均匀分布的随机张量 torch.rand(2,3)
torch.randn(shape) 创建指定形状均值0,标准差1的标准正态分布随机张量 torch.randn(3)
torch.normal(mean,std,size) 创建正态分布随机张量(mean均值,std标准差,szie(样本,样本维度)) torch.normal(mean=0.0,std=1.0,size=(2,3))
torch.manual_seed(seed) 设置随机数种子,种子数字不变随机数序列相同,数字是几无所谓不变就行 torch.manual_seed(42)
torch.sum() 求和 torch.sum(x)
torch.mean() 求平均 torch.mean(x)
torch.max() 最大值 torch.max(x)
torch.abs() 绝对值 torch.abs(x)
torch.clamp() 限制范围 torch.clamp(x,0,1)
torch.mm(A,B) 矩阵乘法(MatrixMultiplication),仅限二维矩阵 C=torch.mm(A,B)
torch.matmul(A,B)/A@B 广播矩阵乘法,支持高维张量(mm的完全上位,可直接替代) C=A@B
torch.mv(A,v) 矩阵与向量乘法(Matrix-VectorMultiplication) y=torch.mv(A,v)
torch.dot(x,y) 向量点积(DotProduct),一维张量 d=torch.dot(x,y)
torch.norm(x,p=2) 求得张量的范数,p表示范数类型,默认是2范数(欧几里得范数) n=torch.norm(x)
torch.linalg.inv(A) 矩阵求逆,仅限方阵 A_inv=torch.linalg.inv(A)
torch.linalg.solve(A,b) 求解线性方程组$Ax=b$ x=torch.linalg.solve(A,b)
torch.transpose(A,dim0,dim1) 转置张量指定两个维度 A_t=torch.transpose(A,0,1)
torch.t(A) 矩阵转置(仅限二维矩阵,等同于transpose(0,1)) A_t=torch.t(A)

Pandas常用方法

功能分类 方法示例 说明
创建数据结构 pd.Series(data) 创建一维数据,类似数组
pd.DataFrame(data) 创建二维表格数据
查看数据 .head(n) 查看前n行
.tail(n) 查看后n行
.info() 数据框信息摘要
.describe() 统计汇总
索引与选择 .loc[row_labels,col_labels] 根据标签索引行列
.iloc[row_indices,col_indices] 根据位置索引行列
.at[row_label,col_label] 快速访问单个元素
.iat[row_index,col_index] 快速访问单个元素
过滤和条件 df[df['col']>value] 条件筛选
.query('col>value') 字符串条件筛选
新增列 df['new_col']=data 添加新列
删除 .drop(columns=['col1','col2']) 删除列
.drop(index=[0,1]) 删除行
排序 .sort_values(by='col') 按某列排序
缺失值处理 .isnull() 判断缺失值
.dropna() 删除缺失值
.fillna(value) 填充缺失值
聚合 .groupby('col').sum() 按列分组求和
.groupby('col').agg(['mean','max']) 多聚合函数
合并与连接 pd.concat([df1,df2]) 拼接数据
pd.merge(df1,df2,on='key') 数据库风格合并
数据导入导出 pd.read_csv('file.csv') 读取CSV文件
.to_csv('file.csv') 保存为CSV

代码中常见参数名及解释(英文)

变量名 英文全称 说明
weights Weights 模型的权重参数
bias Bias 偏置项
X Input/FeatureMatrix 输入特征矩阵
y Output/Target 目标变量
loss Loss 损失函数
grad Gradient 损失函数对参数的梯度
lr LearningRate 学习率
epoch Epoch 训练轮数
batch_size BatchSize 批大小
pred Prediction 预测值
epsilon Epsilon 极小数,防止数值不稳定
mu Mean 均值
sigma StandardDeviation 标准差
coeff Coefficient 系数(如高斯函数中的归一化常数)
exponent Exponent 指数部分(如高斯函数中的指数表达式)
theta ParameterVector 参数向量(权重的另一种常见符号)
alpha Coefficient/LR 学习率或正则化参数
beta Coefficient 系数,也常用于正则化参数