自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 Transformer基础 多头自注意力机制

本单词向其他单词发送 询问Q Q=权重矩阵q X 本词的词向量q 其他单词回应 K K=权重矩阵k X 其他词的词向量k 得到阿尔法a=q点乘k 点乘的原理是查看两个向量的相似度。# **这样做的好处是能够让模型学习到相对位置信息**,因为这些函数对位置的偏移是可预测的。# **位置编码**:由于Transformer本身不具备处理序列顺序的能力,通过添加位置编码到输入序列,模型能够利用序列中元素的位置信息。# 原来一个词的位置只能一个位置表示 现在分8个有8个位置了 更方便找到合适的位置。

2025-02-08 17:17:36 890

原创 NLP 单双向RNN+LSTM+池化

out为隐藏状态hn是最后一次的隐藏状态cn为最后一次的细胞状态outputbatch_first=True,形状为(batch,seq_len,num_directions*hidden_size)#在LSTM网络中,初始化隐藏状态(h0)和细胞状态(c0)是一个重要的步骤,确保模型在处理序列数据时有一个合理的起始状态。x=self.fc(x[-1][-1].view(x.shape[0],-1))#取最后一次的隐藏状态当全连接的输出。

2025-01-20 14:04:39 585

原创 初识NLP

清理好的文本 进行one-hot编码 然后 在进行矩阵映射 变成稠密的 然后可以通道映射后的矩阵和映射方式找到原来的one-hot编码。# 深度学习使用分布式单词表示技术(也称词嵌入表示),通过查看所使用的单词的周围单词(即上下文)# 特征嵌入,也成为词嵌入,是稠密编码的一种表现形式,目的是将离散的类别、对象或其他类型的特。# 使用nn建立词嵌入层 传入词的种类数 和 每个词的特征维度。# 嵌入层 传入种类数和每个词的特征数\。# 这里传的是没有去重的 词 获得没有去重的词组的下标。

2025-01-16 16:41:51 524

原创 手把手教你如何修改YOLO11的模型结构(以CBAM和可变性卷积为例)

YOLO11修改模型结构

2024-12-30 17:18:35 4277 2

原创 12.16 深度学习-混合注意力CBAM

x1=torch.max(x,dim=1,keepdim=True)# 当 keepdim=True 时,计算均值后,输出张量将保持被约简的维度,但该维度的大小将为 1。也就是说,结果张量会保留原始张量的形状结构,只是被约简的维度变为 1。# 混合注意力机制(Hybrid Attention Mechanism)是一种结合空间和通道注意力的策略,旨在提高神经网络的特征提取能力。# CBAM是一种轻量级的注意力模块,它通过增加空间和通道两个维度的注意力,来提高模型的性能。# 在某个阶段 先后加入通道和空间。

2024-12-16 19:10:05 554 1

原创 12.13 深度学习-空间注意力仿射变换STN

定义线性变换 要输出 1,6的矩阵 然后变为2,3的 然后 这个2,3的矩阵 通过affine_grid变为一个 仿射变换矩阵 然后 通过grid_sample 把 数据 和仿射变换矩阵 完成仿射变换。# 就是对图像做一个仿射 变换 仿射变换的参数要去学习 直接用nn.Linear()就行。# 两个线性层是根据图来的。# 这个仿射变换要加在模型最开始的地方。# 仿射变换的原理就是 线性变换。

2024-12-13 20:02:35 643

原创 12.13 深度学习-卷积的注意力机制通道注意力SKNet

两个全连接 然后两个全连接的结果 堆叠在一起 在0轴上做一个softmax 因为这两个全连接的softmax结果对应位置要分别+起来为一 分别约束就是。self.fc=nn.Sequential(nn.Linear(inplanes,d),nn.ReLU()) # 线性 有缩放因子。# softmax 不会改变原tensor的形状 只是给tensor的值改为一个概率分布。# **Selective Kernel Networks** 可选择的 卷积核尺寸。# 先并行 做两个卷积 CHW不变。

2024-12-13 20:01:48 674

原创 12.12 深度学习-卷积的注意力机制-通道注意力SENet

把上层的特征图 自动卷积为 1X1的通道数不变的特征图 然后给每一个通道乘一个权重 就分配了各个通道的注意力 把这个与原图残差回去 与原图融合 这样对比原图来说 形状 CHW都没变。# 可以把SE模块加入到经典的CNN模型里面 有残差模块的在残差模块后面加入SE 残差模块的输出 当SE模块的输入。# 在卷积后的数据与原数据相加之前 把卷积的数据和 依靠卷积后的数据产生的SE模块的数据 相乘 然后再与原数据相加。# 对全局平均池化后的结果 赋予每个通道的权重 不选择最大池化因为不是在突出最大的特征。

2024-12-12 19:14:23 2138

原创 12.09 深度学习-经典神经网络LeNets5

c3_out_total=torch.empty(x.shape[0],0,x.shape[2]-4,x.shape[3]-4) # 通道数为0 size 减4个 要在通道上面拼接 卷积完后形状 减了4。# # LeNets5 网络C3层的特殊处理 每个输出通道的输入通道 不一样 输入的通道数是一样的 使用列表推导式创建6个(3,1,kernel_size=5)的卷积核。# # C3层传入 上层输出的NCHW为 1 6 28 28 C3层每一个小层传入 012,123,234,345。

2024-12-10 09:05:36 944

原创 12.06 深度学习-预训练

冻结层的使用 现在这个模型net1 只有fc需要进行训练 其他层都训练好了 给其他层冻结了只训练fc层 model.parameters()返回model的每一层权重和偏置的tensor 的迭代器 可以遍历它 named_parameters多返回一个名字。# resnet18 有一个1000分类的预训练数据 这个数据拿过来改 把resnet18模型的线性层改为10分类 然后再把1000分类的预训练数据初始化给这个模型 进行再训练。def demo2(): # 用训练的模型 对图片进行分类。

2024-12-06 18:28:31 502

原创 12.05 深度学习-验证结果可视化

10分类的验证结果 做一个DF 行 为一条记录 列名为 分类名和预测的结果这一个类的概率 预测结果和实际结果 这样可以跟直观的观察每一个验证过程。# 报表模块的使用 sklearn 里面的 metrics 的 classification_report 生成 准确度 精确度 召回率 F1分数。# 召回率 真的正向/全部的真值为正向的 TP/(TP+FN) (TP+FN)是本来是正向的 被预测是正向或者负向。# 精确度 真的正向/预测是正向 TP/(TP+FP)# 生成混淆矩阵 使用。

2024-12-05 19:00:29 359

原创 12.04 深度学习-用CNN做图像分类+训练可视化

transforms1=transforms.Compose([transforms.ToTensor(),transforms.Resize((32,32))]) # transforms.Compose()方法为transforms组合转化器 里面传入一个列表 列表里面的元素是 transforms的转化器。# "architecture": "CNN", # 模型是CNN。# "dataset": "MNIST", # 数据集名称。# "epochs": 5,# 轮次。

2024-12-04 20:03:52 507

原创 12.03 深度学习-池化+卷积扩展+感受野

设置卷积层的时候 加一个 传入一个参数dilation=N 表示两个卷积核 每一个格子之间空N一1格 当N=1时 相当于普通的卷积 当膨胀卷积核跟传入的数据大小相同时 逻辑上相当于全连接 卷积核大小增加了 N-1。# 深度可分离卷积 每一个通道 先用一个卷积核 卷积 得到 数量为通道数的 没有通道融合的特征图 然后 再用1*通道数的卷积核去按照一个通道的一叠卷积 然后得到一张特征图 (卷积核参数少了规格少了)# 在分组卷积中,卷积核被分成不同的组,每组负责对相应的输入层进行卷积计算,最后再进行合并。

2024-12-03 18:39:56 486

原创 12.02 深度学习-卷积

conv=nn.Conv2d(in_channels=3,out_channels=1,kernel_size=3,stride=1,padding=0) # 传入输入图像的通道数 和输出的特征图数量 卷积核大小 步长(卷积核移动的规格) 填充。# 如果 一个四通道的卷积核 核大小为3 且有偏置 如果输出32和特征图 那么有 32*4*3*3+32 个参数 特征图数量*每个卷积核的通道数 *卷积核的规格 +偏置数 每一个卷积核对应1个偏置。更重要的,边缘填充还更好的保护了图像边缘数据的特征。

2024-12-02 19:21:29 513

原创 11.29 深度学习-批量标准化

- **类似于正则化**:虽然 BN 不是一种传统的正则化方法,但它通过对每个批次的数据进行标准化,可以起到一定的正则化作用。# - **避免对单一数据点的过度拟合**:BN 强制模型在每个批次上进行标准化处理,减少了模型对单个训练样本的依赖。# 在推理阶段,批量标准化使用的是训练过程中计算得到的全局均值和方差,而不是当前批次的数据。# 注意:BN 层不会改变输入数据的维度,只改变输入数据的的分布. 在实际使用过程中,BN 常常和卷积神经网络结合使用,卷积层的输出结果后接 BN 层。

2024-12-02 08:44:23 424

原创 11.28 深度学习-梯度下降优化

在梯度更新中 为之前的梯度和本次梯度的关系 本次梯度 为 历史梯度和本次梯度的关系 本次梯度=历史梯度的权重*历史梯度+ 本地梯度的权重*本地梯度 权重为负关系 历史梯度的权重越大平均数越平缓。# - 自适应学习率:由于每个参数的学习率是基于其梯度的累积平方和 来动态调整的,这意味着学习率会随着时间步的增加而减少,对梯度较大且变化频繁的方向非常有用,防止了梯度过大导致的震荡。# 当处于鞍点位置时,由于当前的梯度为 0,参数无法更新。# 而参数具有较小的历史梯度的学习率保持较大,从而实现更有效的学习。

2024-11-29 09:10:45 909

原创 11.27 深度学习-损失函数+BP算法

误差反向传播算法(Back Propagation)是其中最杰出的代表,它是目前最成功的神经网络学习算法。# 大多是在使用 BP 算法进行训练,值得指出的是 BP 算法不仅可用于多层前馈神经网络,还可以用于其他类型的神经网络。# 每一层都有自己的损失函数和W 每一层都可以做w新=w旧-lr*g 求每一层的w的时候上面层的w都是知道的 所以求这一层的导函数就行 链式到输入层。# MAE通常用于需要对误差进行线性度量的情况,尤其是当数据中可能存在异常值时,MAE可以避免对异常值的过度惩罚。

2024-11-27 19:13:02 1143

原创 11.26 深度学习-初始化

- 激活函数(Activation Function): 用于将加权求和后的结果转换为输出结果,**引入非线性特性,使神经网络能够处理复杂的任务**。# 全连接(Fully Connected,FC)神经网络是**前馈神经网络**的一种,每一层的神经元与上一层的所有神经元全连接,常用于图像分类、文本分类等任务。# **优点**:平衡了输入和输出的方差,适合$$Sigmoid$$ 和 $$Tanh$$ 激活函数。# - **输入层(Input)**: 神经网络的第一层,负责接收外部数据,不进行计算。

2024-11-26 17:20:02 644

原创 11.26 深度学习-激活函数

神经元死亡:由于$$ReLU$$在$$x≤0$$时输出为$$0$$,如果某个神经元输入值是负,那么该神经元将永远不再激活,成为“死亡”神经元。# 数值不稳定性:在计算过程中,如果$$z_i$$的数值过大,$$e^{z_i}$$可能会导致数值溢出。# 1. 输出范围: 将输入映射到$$(-1, 1)$$之间,因此输出是零中心的。# 突出差异:$$Softmax$$会放大差异,使得概率最大的类别的输出值更接近$$1$$,而其他类别更接近$$0$$ 不会出现 两个概率接近的情况。

2024-11-26 17:18:56 541

原创 11.25 深度学习-pytorch模型组件

sgd=optim.SGD(model1.parameters(),lr=0.01) # model1.parameters()能够返回 模型的参数(初始化的W和预测的值) 传给optim.SGD 这里相当于做梯度下降的。model1=nn.Linear(4,1) # 代表 w1+w2+w3+w4=y 输出的是y的值 这个会自动 初始化W 只是看不到 相当于 初始化了W 并且算了一个值 为预测的值 不是真实的值。# 然后使用 torch.utils.data.DataLoader 去小批次训练。

2024-11-25 19:52:37 969

原创 11.22 深度学习-pytorch自动微分

使用tensor.backward() 求tensor的导数值 会先求 tensor的导函数 然后带入值 这个tensor 是关于另一个tensor的表达式 原来的tensor是一组数据浮点型 这个tensor是一个函数。# y.backward()的时候 相当于把y 表达式的 导函数求出来存在y的一个属性里面 然后再把y表达式中的变量的值传进来计算导数 再返回给 变量的grad属性里面。print(t1.grad) # 返回的是原向量每一个元素的梯度 是一个跟原来向量size一样的tensor。

2024-11-22 16:34:26 797

原创 11.21 深度学习-tensor常见操作

torch.cat() 传参 :第一个 数组 里面是要拼接的tensor 第二个 dim 拼接的轴 注意 拼接的轴 另一个轴的数据量要一样 拼接的轴数据量可以不一样。换句话说,它在现有的维度上将多个张量连接在一起。# reshape torch 的方法 改玩后的形状 的 元素个数要跟原来的一样 比如原来是10*10 改完后的元素个数必须为100 返回新的tensor。# 就是矩阵乘法的意思 第一个矩阵列数 和第二个矩阵的行数要相同 结果矩阵的形状为(第一个矩阵的行,第二个矩阵的列)

2024-11-21 17:20:57 677

原创 11.20 深度学习-tensor数据转换

tensor 转numpy 直接调用tensor.numpy()方法 这个方法两个的数据是通的改一个另一个也变 浅拷贝。# Image格式不固定看读的什么图片很多情况下是4个通道的 通道*高*宽 通道跑前面去了 所以最外面一层是 一个通道的值。# cv2是 BGR格式 通道数为3 cv2矩阵是 高*宽*通道的格式 最后一层就是一个像素点的通道的值。# 两种方式 一种是 cv2.imread()出来的np数组 np数组这么转他就怎么转 转回来也是。# tensor转numpy。

2024-11-20 20:08:56 415

原创 11.20 深度学习-pytorch包和属性的基础语法

创建的时候也可以传入参数 dtype 如果数据超出范围会自动变为最大范围的余数 设置tensor数据类型 tensor数据类型有..... 都是torch里面的数据类型int8.....跟numpy类似。t1=torch.tensor(5) # 一阶张量 阶数看你传入的矩阵是多少阶的 这个是标量 不是一阶 一阶要加[] 加了[]才是多少阶。# 也可以使用 tensor.to("cpu") tensor.to("cuda") 返回一个新的运行在新设备上的tensor。

2024-11-20 20:08:14 556

原创 11.19 机器学习-岭回归+拉索回归+逻辑回归

在 原来的均方差函数的基础上加一个 各个W的曼哈顿距离 这样让均方差最小的同时 还要让各个W之间的距离变小也就是 w的值要小 变相实现了减小w的值 但准确率肯定降了。# 在 原来的均方差函数的基础上加一个 各个W的欧式距离 这样让均方差最小的同时 还要让各个W之间的距离变小也就是 w的值要小 变相实现了减小w的值 但准确率肯定降了。如果更新后的系数向量减去之前的系数向量的无穷范数除以 1 加上更新后的系数向量的无穷范数小于 tol,则认为收敛。如果为数组,则使用提供的 Gram 矩阵。

2024-11-19 16:55:40 1189

原创 11.19 机器学习-梯度下降

- **Batch Gradient Descent (BGD)**: 在这种情况下,每一次迭代都会使用全部的训练样本**计算梯度**来更新权重。# 首先要初始化一个W 即选择一个起点 然后变大或者变小 带入导函数 导函数的值为负数 就要增大 此时的点肯定在极小值的左边 为正数要变小 此时在极小值的右边 最后导函数的值越来越靠近0。# 求出损失函数 然后一点点的调整W的值使得损失函数的值变小 多个W的话随机生成一组成正太分布的数值w_0,w_1,w_2....w_n,这个随机是成正太分布的(高斯说的)

2024-11-19 16:54:20 846

原创 11.18 机器学习-线性回归(重点)-最小二乘法

线性回归是机器学习中一种**有监督学习**的算法,**回归问题**主要关注的是**因变量**(需要预测的值)和一个或多个数值型的**自变量**(预测变量)之间的关系.# 1. **可测量性**:连续型数据通常来源于物理测量,如长度、重量、温度、时间等,这些量是可以精确测量的。# - **描述性统计**:计算均值、中位数、众数、标准差、四分位数等,以了解数据的中心趋势和分布情况。# 3. **多样性**:标称数据可以有很多不同的类别,具体取决于研究的主题或数据收集的目的。

2024-11-18 15:56:42 514

原创 11.15 机器学习-集成学习方法-随机森林

机器学习中有一种大类叫**集成学习**(Ensemble Learning),集成学习的基本思想就是将多个分类器组合,从而实现一个预测效果更好的集成分类器。# 就是把多个分类器组合起来用 每个分类器都从训练集里面拿一部分(有放回的) 数据进行训练 最后得到了很多个模型组成的一个集成模型 各个模型拿的数据集可能有重合部分。# **随机森林**就属于集成学习,是通过构建一个包含多个决策树(通常称为基学习器或弱学习器)的森林,每棵树都在不同的数据子集和特征子集上进行训练,# 三个臭皮匠,赛过诸葛亮。

2024-11-15 16:55:10 462

原创 11.14 机器学习-朴素贝叶斯+决策树算法

P(X1,X2,X3,X4,X5|A)=P(X1|A)*P(X2|A)*P(X3|A)*P(X4|A)*P(X5|A)*P(A)/(P(X1)*P(X2)*P(X3)*P(X4)*P(X5)) #这个式字就可以 用数据集计算出来了。# 朴素贝叶斯 假设各个特征之间全部独立 P(A*B*C*D*E)=P(A)*P(B)*P(C)*P(D)*P(E)x["sex"] = x["sex"].map({"female": 1, "male": 0}) #方式1。信息熵的值越小,则D的纯度越高。

2024-11-14 18:51:54 858 2

原创 11.13 机器学习-KNN算法+模型选择与调优+网格搜索

比如: 有10000个样本,选出7个到样本A的距离最近的,然后这7个样本中假设:类别1有2个,类别2有3个,类别3有2个.那么就认为A样本属于类别2,因为它的7个邻居中 类别2最多(近朱者赤近墨者黑)# 使用工具的split方法分割传入x,y 返回的是一个迭代器 for循环迭代器 每次的结果一个元组 里面是train数据的下标 和test数据的下标。# 比如说:原始数据有3类,比例为1:2:1,采用3折分层交叉验证,那么划分的3折中,每一折中的数据类别保持着1:2:1的比例,这样的验证结果更加可信。

2024-11-13 16:42:22 2088

原创 11.12 机器学习-特征工程

data=data = [{'city':'成都', 'age':30, 'temperature':200}, {'city':'重庆','age':33, 'temperature':60}, {'city':'北京', 'age':42, 'temperature':80}]所以常使用标准化的无量钢化。IDF的计算公式为总文档数除以包含该词的文档数的对数。# 词频(Term Frequency, TF), 表示一个词在当前篇文章中的重要性 列表中的一个文档中 某个词语出现的次数/文档的词语总数。

2024-11-12 19:25:57 878

原创 python PySimpleGUI 使用

sg.Input("请选择一张图片",key="img_filepath", enable_events=True), sg.FileBrowse(file_types=(("Image Files", "*.*"),))], # sg.FileBrowse创建一个文件浏览按钮 选择文件获得路径 选中的文件路径将自动填充到旁边的输入框中 限定为图片。[sg.Button('保存'), sg.Button('关闭'), sg.Button('人脸采集'), sg.Button('上传')]

2024-11-12 09:43:44 876

原创 python face_recognition人脸识别使用

欧几里得距离(Euclidean distance)是一种测量两个点之间直线距离的方式,常用于数学、物理学和计算机科学中的各种应用,包括机器学习中的数据点距离计算。# - **返回**:一个列表,每个元素是一个 `(top, right, bottom, left)` 的元组 四条边的位置,表示人脸的位置 一个人脸就返回一个元组 多个人脸返回多个。# 相同身份的概率大:在许多人脸识别系统中,如果计算出的距离小于某个设定的阈值,则系统会认为这两个面孔属于同一个人。# 计算两个人脸编码之间的欧几里得距离。

2024-11-12 09:42:35 998

原创 ORC文字识别模块使用

小 sigmaColor 值:当 sigmaColor 较小时,只有颜色差异较小的像素会被赋予较大的权重,滤波器主要在颜色相似的区域内进行平滑处理,这样可以更好地保留边缘和细节。# 大 sigmaColor 值:当 sigmaColor 较大时,颜色差异较大的像素也会被赋予较大的权重,这意味着滤波器会在更大范围内进行平滑处理,导致图像细节的丢失较多。# 2. 模糊处理: 由于高斯滤波会平均周围像素的值,因此它也可用于实现图像的模糊处理,例如在某些需求下需要模糊化处理的图像或区域。

2024-11-12 09:41:31 566

原创 OpenCV图像预处理

1. 方便图像处理:在不同的颜色空间中,对应的通道代表了不同的属性,例如在RGB空间中,红、绿、蓝三个通道分别代表了颜色的强度,而在HSV空间中,H(色相)代表了颜色的种类,S(饱和度)代表了颜色的深浅,V(亮度)代表了颜色的明暗。`cv2.cvtColor()`是OpenCV中的一个函数,用于图像颜色空间的转换。# `cv2.threshold` 将灰度图像转换为二值图像,根据指定的阈值将像素值分为两类:高于阈值的像素设为一个值(通常是255),低于阈值的像素设为另一个值(通常是0)。

2024-11-12 09:39:40 1159 1

原创 初识OpenCV基础功能

cv2.setMouseCallback是 OpenCV 提供的一个非常有用的函数,它允许用户定义一个回调函数,当鼠标事件发生时(如点击、释放、移动等),该回调函数会被调用。# color: 直线的颜色,对于 BGR 图像,这应该是一个包含三个整数的元组,分别对应蓝色、绿色和红色的强度(例如 `(255, 0, 0)` 表示纯蓝色)。- `cv2.FONT_HERSHEY_SCRIPT_COMPLEX`: 手写风格的字体,比 `FONT_HERSHEY_SCRIPT_SIMPLEX` 更粗。

2024-11-12 09:38:41 350

原创 11.11 机器学习-数据集的获取和划分

def get_real_world_dataset():# 现实世界的数据集获取 下载 使用fetch_20newsgroups()方法下载 这个是获得20条新闻类别的数据集 其他的现实数据 有不同的获取方法。# 对于类别特征`DictVectorizer` 会为每个不同的类别创建一个新的二进制特征,如果原始数据中的某个样本具有该类别,则对应的二进制特征值为1,否则为0。# random_state 值为任意整数,表示随机种子,使用相同的随机种子对相同的数据集多次划分结果是相同的。

2024-11-12 09:33:49 561

原创 10.24 python pandas

data_frame8=pd.DataFrame([["李四",15,"广州"],["张三",13,"成都"],["王五",18,"烟台"]],columns=["name","age","address"],index=["第一个人","第二个人","第三个人"])data_frame3=pd.DataFrame([{"name": "张三", "age":13},{"name": "李四", "age":14},{"name": "王五", "age":18}])几行几列 必须为整数。

2024-10-24 18:11:38 811

原创 10.23 Python matplotlib

推荐使用add_subplot,因为它提供了更好的灵活性和控制。# value: 刻度类型,可以是 'linear'(线性刻度)、'log'(对数刻度)、'symlog'(对称对数刻度)、'logit'(对数几率刻度)等。# subplots 是 matplotlib.pyplot 模块中的一个函数,用于创建一个包含多个子图(subplots)的图形窗口。# 'b':蓝色 'g' :绿色 'r' :红色 'c' :青色 'm' :洋红色 'y' :黄色 'k' :黑色 'w' :白色。

2024-10-23 18:18:48 779

原创 10.21 Python numpy

NumPy 中的高级索引指的是使用整数数组、布尔数组或者其他序列来访问数组的元素。NumPy数组:NumPy数组在内存中占用更少的空间,因为它们存储的是相同类型的数据(例如,整数、浮点数等)。# 跟切片一样操作但没有:号 然后二维读取 比如arr13[[1,1],[1,2]] 表示 取1,1和1,2 arr13[[0,1],[0,1]] 表示取00 11。# 2. 长度匹配:如果两个数组在某个维度上的长度不同,但其中一个数组在该维度上的长度为 1,则该数组会沿着该维度进行广播。

2024-10-21 18:55:07 865

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除