数据操作+数据预处理

数据

1.张量(tensor)

其实就是n维数组,在PyTorch和TensorFlow中张量类为Tensor,是深度学习主要的数据结构。

0维------标量

1维------向量

2维------矩阵,每一行表示一个样本,每一列表示特征

3维------图片(rgb)

4维------批量的图片

数组有三要素:形状(几行几列),数据类型,元素的值

关于多维数组的理解,以三维为例,(2, 3, 4),就是两个二维的3*4数组

2.访问

基于python中切片的形式进行部分数据的访问

3.使用

python 复制代码
# 生成0~11的一个一维数组
x = torch.arange(12)
# 获取张量的形状
x.shape
# 张量元素的总数
x.numel()
# 改变张量的形状,但不影响元素的个数和值
X = x.reshape(3, 4)
# 生成全0、全1、随机、指定数据的张量
torch.zeros((2, 3, 4))
torch.ones((2, 3, 4))
torch.randn(3, 4)
torch.tensor([[2, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]])

数据操作

1.运算

任意具有相同形状的张量, 可以用常见的标准算术运算符(+、-、*、/和**)来进行对应元素的运算

2.张量的连接

连接的前提是指定维度外的其他维度相同,连接后指定维度发生延长,其他其他维度保持不变,用dim来指示维度,对应的其实就是形状中的第几个,比如一个张量的形状是(2,3,4,5),另一个是(1,3,4,5),dim=0上进行连接,那么数据就应当是(3,3,4,5)

python 复制代码
X = torch.arange(12, dtype=torch.float32).reshape((3,4))
Y = torch.tensor([[2.0, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]])
torch.cat((X, Y), dim=0), torch.cat((X, Y), dim=1)

3.广播机制

它使得形状不同的张量也可以进行元素运算,但该机制在张量的连接中不会起作用。

python 复制代码
a = torch.arange(3).reshape((3, 1))
b = torch.arange(2).reshape((1, 2))
a+b

广播机制会使得两个矩阵变为一个更大的矩阵,矩阵a将复制列, 矩阵b将复制行,然后再按元素相加

python 复制代码
(tensor([[0],
         [1],
         [2]]),
 tensor([[0, 1]]))
 #结果
 tensor([[0, 1],
        [1, 2],
        [2, 3]])

4.内存问题

Y = X + Y,将取消引用Y指向的源地址,而是指向新分配的内存处的张量

可以使用X: = X + Y或X += Y来减少操作的内存开销

数据预处理

数据集通常是存储在csv文件中,导入pandas包并调用read_csv函数来进行读取

1.处理缺失值

这是数据预处理的重要环节,典型的方法包括插值法和删除法, 其中插值法用一个替代值弥补缺失值,而删除法则直接忽略缺失值

相关推荐
ai生成式引擎优化技术1 小时前
从参数驱动到认知行为驱动:SAI范式的理论转向与WSaiOS认知内核架构
python·架构·django·virtualenv·pygame
想你依然心痛2 小时前
AtomCode在Python数据科学项目中的使用体验:从数据分析到可视化
开发语言·python·数据分析
许彰午2 小时前
75_Python自动化办公之Word与PDF
python·自动化·word
冰暮流星2 小时前
flask之app.py讲解
后端·python·flask
大气的小蜜蜂2 小时前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·qt·sqlite
FriendshipT2 小时前
Ultralytics:解读C2模块
人工智能·pytorch·python·深度学习·目标检测
程序员杰哥2 小时前
接口自动化测试项目框架详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
love530love3 小时前
AI Agent + 本地 ComfyUI 无头模式实战:关闭 IDE 后 AI 独立重启并完成图文生成
ide·人工智能·windows·python·音视频·agent·devops
FriendshipT3 小时前
Ultralytics:解读Attention模块
人工智能·pytorch·python·深度学习·目标检测