微信红包网站制作,酒店预定类网站建设,宁波建网站公司,做年报的网站1、大于或等于三维的张量没有名称#xff0c;统一叫张量。
点-----标量#xff08;Scalar#xff09;----0阶张量是标量----只有数值大小#xff0c;没有方向#xff0c;部分有正负之分
线-----向量#xff08;Vector#xff09;----1阶张量是向量----有大小和方向统一叫张量。
·点-----标量Scalar----0阶张量是标量----只有数值大小没有方向部分有正负之分
·线-----向量Vector----1阶张量是向量----有大小和方向如34。
·面-----矩阵Matrix----2阶张量是二维数组---- 如[[1,2],[3,4]]
·体-----张量Tensor----3阶张量是三维数组shape() #0阶张量是标量
shape(3) #1阶张量是向量
shape[2,3] # 2阶张量是二维数组
shape[2,1,3] # 3阶张量是三维数组深度学习的基本原理
深度学习的框架是神经网络模型但它研究多层隐藏层的深度神经网络。 神经网络的重要特性是他能够从环境中学习神经网络是一个学习过程在训练过程中不断调整网络各层的权值矩阵。
卷积神经网络
卷积神经网络Convolution Neutral Network CNN。
常用的模型评估指标
·Confusion Matrix混淆矩阵
·Precision精准率
·Recall召回率
·F1-score
·PRC
·ROC和AUC
·IOUPytorch 入门1
Pytorch中的所有操作都是基于Tensor张量的。
自动求导
在训练神经网络的过程中最常用的算法是反向传播算法。参数模型权重根据损失函数相对于给定参数的梯度进行调整。损失函数计算神经网络产生的期望输出和实际输出之间的差值目标是使损失函数的结果尽可能接近零。该算法通过网络方向反向遍历来调整权重和偏差以重新训练模型。
Pytorch神经网络
训练一个神经网络需要大量的数据称为数据集。数据集一般分为3类。训练集training set、验证集Validation set、测试集Test set。 一个Epoch就等于使用训练集中的全部样本训练一次的过程这个过程是指一次正向传播Forward Pass和一次反向传播Backward Pass。 当一个Epoch的样本也就是训练集数量太过庞大时。进行一次训练可能会消耗过多时间并且每次训练都是用训练集的全部数据也不是必要的因此我们需要把整个训练过程分成多个小块也就是分成多个Batch进行训练。 一个Batch训练指使用一部分数据进行训练。
数据加载和处理
·dataset加载数据集Dataset对象
·batch_sizebatch大小
shuffle是否每个Epoch都打乱数据。
num_workers使用多进程加载的进程数0表示不使用多线程。迁移学习
模型保存和加载
在深度学习的训练过程中我们经常需要保存模型的多个参数以便将来重新加载。这对于中断的训练恢复或者用于模型的分享和部署都是非常重要的Pytorch提供了简单的APi函数来保存和加载模型。最常见的方法是torch.save来保存模型的参数然后通过torch.load加载模型的参数。
# 保存
torch.save(model.state_dict(),PATH)
# 加载
model THEModelClass(*args, **kwargs(
model.load_state_dir(torch.load(PATH))
model.eval()k近邻
如果一个样本附近的k个最近特征空间中最邻近的k个样本的大多数属于某一个类别则该样本也附属这个类别。 即给定一个训练集对于新输入实例在训练集中找到与该实例最近的k个实例这k个实例中的多数属于某个类就把该输入实例分类到这个类中。