深度学习1-15.2 一数据操作N维数组是机器学习和神经网络的主要数据结构1创建数组:创建数组需要1形状例如3*4矩阵2每个元素的数据类型例如32位浮点数3每个元素的值例如全是0或者随机数2访问元素3代码运行首先导入torchimport torch张量表示一个数值组成的数组这个数组可能有多个维度atorch.aravge(12)print(a)我们可以通过张量的shape属性来访问张量的形状和张量中元素的总数a.shape torch.Size([12])a.numel 12用reshape来改变一个张量的形状而不改变元素数量和元素值aa.reshape(3,4)用zeros来用全0、全1、其他常量或者从特定分布中随机采样的数字print(torch.zeros(2,3,4))print(torch.ones(2,3,4)).tensor来实现提供包含数值的python列表或嵌套列表来为所需张量中的每个元素赋予确定值torch.tensor([[2,1,4,3],[1,2,3,4],[4,3,2,1]])xtorch.arange(12,dtypetorch.float32).reshape((3,4)) ytorch.tensor([[2.0,1,4,3],[1,2,3,4],[4,3,2,1]]) storch.cat((x,y),dim0),torch.cat((x,y),dim1) print(s)xy进行判断print(xy)x.sum()进行求和print(x.sum())二数据预处理1创建创建一个人工数据集并存储在csv文件 import osimport os import pandas as pd os.makedirs(os.path.join(..,data),exist_okTrue) data_fileos.path.join(..,data,house_tiny.csv) with open(data_file,w) as f: f.write(NumRooms,Alley,Price\n) f.write(NA,Pave,127500\n) f.write(2,NA,106000\n) f.write(4,NA,178100\n) f.write(NA,NA,140000\n) datapd.read_csv(data_file) print(data)2加载加载数据集datapd.read_csv(data_file) print(data)print(data)3插值为了处理缺失的数据我们可以考虑插值inputsdata.iloc[:,0:2] outputsdata.iloc[:,2] num_col [NumRooms] cat_col [Alley] inputs[num_col] inputs[num_col].fillna(inputs[num_col].mean()) inputs[cat_col] inputs[cat_col].fillna(Unknown) print(inputs)对于inputs中的类别值或离散值我们将“NAN”视为一个类别x torch.tensor(inputs.values, dtypetorch.float32) y torch.tensor(outputs.values, dtypetorch.float32).reshape(-1, 1)三, 数据操作QA1转换为Numpy张量ax.numpy() btorch.tensor(a) print(type(a))2转换为python标量将大小为1的张量转换为python标量import torch atorch.tensor([3.5]) print(a) print(a.item()) print(float(a)) print(int(a))四线性代数1知识点简单操作cab where ciaibica*b where cia*bicsin a where cisin ai向量2矩阵3范数4特殊矩阵5特征向量和特征值五线性代数实现1标量由只有一个元素的张量表示import torch xtorch.tensor([3.0]) ytorch.tensor([2.0]) print(xy) print(x*y) print(x/y) print(x**y)2可以将向量视为标量值组成的列表xtorch.arange(4) print(x)3通过张量的索引来访问任意元素xtorch.arange(4) print(x) print(x[3])4访问张量的长度print(len(x))5通过指定两个分量m和n来创建一个形状为m*n的矩阵atorch.arange(20).reshape(5,4) print(a)6矩阵的转置ba.T print(b)7对称矩阵ctorch.tensor([[1,2,3],[2,0,4],[3,4,5]]) print(c) print(cc.T)8轴的数据结构就像向量是标量的推广矩阵是向量的推广一样我们可以构建具有更多轴的数据结构dtorch.arange(24).reshape(2,3,4) print(d)9规律给定具有相同形状的任何两两个张量任何按元素二元运算的结果都将是相同形状的张量mtorch.arange(20,dtypetorch.float32).reshape(5,4) nm.clone() print(m) print(mn)10哈达玛积两个矩阵的按元素乘法称为哈达玛积mtorch.arange(20,dtypetorch.float32).reshape(5,4) nm.clone() print(m*n)print(ax) print((a*x).shape)11求和计算其元素的和axis1是按照行求和axis2是按照列求和xtorch.arange(4,dtypetorch.float32) print(x) print(x.sum())12求平均值print(x.mean())计算求和或均值时保持轴数不变13累加求和使用cumsumprint(a.cumsum(axis0))14点积是相同位置的按元素乘积的和print(torch.dot(x,y)) print(x*y)15矩阵向量积Ax是一个长度为m的列向量其元素是点积xtorch.arange(4,dtypetorch.float32) ytorch.arange(4,dtypetorch.float32).reshape(1,4) print(torch.mv(y,x))16叉乘矩阵print(torch.mm(y,x))17L2范数是向量元素平方和的平方根utorch.tensor([3.0,-4.0]) print(torch.norm(u))18L1范数是向量元素的绝对值之和print(torch.abs(u).sum())19佛罗贝尼乌斯范数矩阵的佛罗贝尼乌斯范数是矩阵元素的平方和的平方根print(torch.norm(torch.ones((4,9))))六矩阵计算1标量导数2亚导数3梯度4样例

相关新闻

最新新闻

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现 【免费下载链接】serenity The Serenity Operating System 🐞 项目地址: https://gitcode.com/GitHub_Trending/se/serenity 导读 本文以 getopt(3) 手册 为核心&a…

2026/10/1 19:32:24
轻量服务器还是ECS?大促云服务器选购与避坑实战指南

轻量服务器还是ECS?大促云服务器选购与避坑实战指南

每年大促节点,群里永远有人在问同一个问题:“38元的轻量服务器到底怎么抢?为什么我每次点进去都是已售罄?68元直购和99元的ECS我到底选哪个?”作为一个常年帮团队和自己采购云服务器的老用户,我太清楚这种纠…

2026/9/30 21:32:07
为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南 【免费下载链接】agents Multi-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity 项目地址:…

2026/9/30 19:41:56
PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署 【免费下载链接】PaddleOCR Turn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between i…

2026/10/1 19:32:23
Spring源码解析:构造器注入的类型转换与候选匹配机制

Spring源码解析:构造器注入的类型转换与候选匹配机制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 19:32:35
openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由 【免费下载链接】openai-agents-python A lightweight, powerful framework for multi-agent workflows 项目地址: https://gitcode.com/GitHub_Trending/op/openai-agents-pyth…

2026/9/30 21:32:11

日新闻

周新闻

月新闻