![](https://img-blog.csdnimg.cn/6c4385553e9f4235a9c9d173b3930849.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Deep Learning
文章平均质量分 85
主要介绍pytorch框架、基本算法等深度学习的相关技术
程序员陈子青
年少风流不看红飞翠舞
只把青春一炬
码得三行春 秋
展开
-
FPS游戏实战数据集|yolov8训练模型导出|C/C++项目|驱动鼠标模拟人工|加密狗USB硬件虚拟化
本文介绍了如何使用YOLO识别游戏人物。通过收集数据集、标注数据、训练模型和部署模型等步骤,可以快速准确地识别游戏场景中的人物。在实际应用中,需要根据游戏场景和需求进行调整和优化,以达到最佳的识别效果。原创 2023-03-24 16:14:41 · 3630 阅读 · 4 评论 -
Easy Deep Learning——加载数据集
PyTorch是一个广泛使用的深度学习框架,它提供了许多方便的函数和工具,用于加载和处理各种数据集。在本文中,我们将介绍PyTorch中加载数据集的步骤。原创 2023-03-17 13:50:48 · 1110 阅读 · 0 评论 -
Easy Deep Learning——全连接层
我们还是回到之前的草地场景中,假设现在的问题变成让机器判断该草地上是不是有一只猫存在,由于之前做的卷积操作,将草地分成了许多网格,如果场地上只有一只猫,那么只有一个网格是有猫的,而其他的网格都不存在猫,一个卷积核运算可以得到一个特征,如果按比例计算,显然存在猫的网格只有一个,大部分都是不存在的场景,那机器根据概率判断大概率会认定该草地上没有猫,这是不符合结果的。全连接层是这样做的好,那么接下来再用比较通俗的语言来总结,可以这样解释。原创 2023-03-10 14:34:42 · 775 阅读 · 0 评论 -
Easy Deep Learning——池化层
同时,由于池化操作的缩小特征图的空间大小,因此在池化操作之前,可以通过增加卷积层的数量或通道数来提高模型的表达能力,从而保持对目标的识别能力。池化(Pooling)是卷积神经网络中的一种常用操作,其目的是通过减小特征图的空间大小来降低模型的复杂度。在池化操作中,我们将特征图划分为多个子区域,然后对每个子区域进行聚合操作,生成一个较小的特征图。通常,池化操作的聚合操作可以是取最大值(Max Pooling)、取平均值(Average Pooling)等,其中最大值池化是最常用的一种。以下是python代码。原创 2023-03-10 11:26:02 · 681 阅读 · 0 评论 -
Easy Deep Learning——激活函数
ReLU(Rectified Linear Unit):是目前使用最广泛的激活函数之一,它将小于零的值设为零,大于零的值不变。可以通过来使用。Sigmoid:将实数映射到区间 (0,1) 内,对于二分类问题非常有用。可以通过来使用。Tanh:将实数映射到区间 (-1,1) 内,比 Sigmoid 函数的输出范围更广。可以通过来使用。Softmax:主要用于多分类问题,将实数映射到 (0,1) 区间内的概率值,且所有输出的概率和为1。可以通过来使用。以下使用pytorch的API 来实现这四种函数。原创 2023-03-10 11:01:23 · 509 阅读 · 0 评论 -
Easy Deep Learning——卷积层
由于卷积核尺寸可以远远小于输入尺寸,即减少需要学习的参数的数量,并且针对每个卷积层可以使用多个卷积核获取输入的特征映射,对数据(尤其是图像)具有很强的特征提取和表示能力,并且在卷积运算之后,使得卷积神经网络结构对输入的图像具有平移不变的性质。下面使用一张图像来展示经过卷积后,输出的特征映射的结果。在PyTorch中针对卷积操作的对象和使用的场景不同,有一维卷积、二维卷积三维卷积与转置卷积(可以简单理解为卷积操作的逆操作),但它们的使用方法比较相似,都可以从torch.nn模块中调用,需要调用的类如表所示。原创 2023-03-09 19:06:58 · 2313 阅读 · 2 评论 -
Easy Deep Learning——PyTorch中的自动微分
为什么选择这一章作为第一章而不是介绍深度学习的核心数据结构张量呢?原因在于张量运算实际就是矩阵的运算,另外PyTorch关于张量的数据处理函数很多,没必要逐个介绍,用到的时候去查文档即可,介绍过多张量的计算方式其实并无意义。在入门深度学习时,我相信初学者最关心的是什么是深度学习?它的基本原理是怎么样的,而不是上来就列一大堆代数式,然后去进行各种了数据计算。原创 2023-03-09 17:42:25 · 1189 阅读 · 1 评论 -
常用的深度学习优化方式
L2正则化通过对模型的权重向量的平方进行惩罚,鼓励模型使用所有的特征,但使权重向量中的值不会过大。全连接层的作用是将输入数据进行线性变换,并将其映射到一个新的空间中,从而得到更高层次的特征表示。总之,全连接层是神经网络中最基本的一种层,它可以将输入数据进行线性变换并将其映射到一个新的空间中。在深度学习中,我们通常将多个全连接层组合起来构成一个神经网络,从而得到更高层次的特征表示。全连接层将输入数据的每个元素与该层中的每个神经元相连接,输出结果是输入数据与该层的权重矩阵相乘,并加上该层的偏置向量。原创 2023-03-08 17:04:20 · 1114 阅读 · 0 评论 -
激活函数与Loss的梯度
因为:z0时,梯度是1。因为在向后传播时候,因为梯度是1,所以对于搜索最优解,梯度计算时候非常方便,也不会被放大和缩小,很难出现梯度弥散和梯度爆炸的情况。b)sigmoid的缺点:因为sigmoid函数在处于+∞和-∞时候,导数趋近于0,会使得数据处于更新非常缓慢(长时间loss保持不变的情况),即:梯度弥散问题。函数的自变量的方向,函数的自变量越多,偏微分就越多。有的快,有的准确率高。2)所有概率之和等于1。不断更新自变量,当偏导(梯度)趋近于0的时候,函数值也就趋近于极小值。转载 2023-03-06 18:17:57 · 556 阅读 · 0 评论 -
Python机器学习入门笔记(2)—— 分类算法
分类算法是机器学习中的一类常见算法,它通过学习已知类别的样本数据,建立分类模型,用来预测新样本所属的类别。本文对几种常用的分类算法进行了详细介绍。原创 2023-02-17 15:59:28 · 1668 阅读 · 1 评论 -
详解PyTorch Tensor 数据类型——张量
在PyTorch中,视频可以被表示为一个5维的张量,其中第0维表示批次数,第1维表示帧数,第2维表示通道数,第3维表示高度,第4维表示宽度。在PyTorch中,图片可以被表示为一个4维的张量,其中第0维表示批次数,第1维表示通道数,第2维表示高度,第3维表示宽度。例如,一个形状为(1, 3, 224, 224)的张量可以表示一张RGB格式的224x224的图片。总之,不同类型的数据在计算机中都有自己的存储方式和编码方式,而在PyTorch中,这些数据都可以被表示为张量,并且可以方便地进行各种张量操作。原创 2023-03-06 02:25:37 · 4884 阅读 · 0 评论 -
Python机器学习入门笔记(3)—— 线性回归
线性回归是一种基本的机器学习算法,它用于建立自变量和因变量之间的线性关系模型。它假设自变量和因变量之间存在线性关系,通过最小化误差平方和来找到最优的模型参数,包括截距和斜率,以使模型的预测值尽可能地接近真实值。在实际应用中,线性回归算法广泛用于预测房价、股票价格、销售量等连续性数值型数据的预测问题。原创 2023-02-20 12:47:40 · 1643 阅读 · 0 评论 -
Python机器学习入门笔记(1)—— Scikit-learn与特征工程
在Scikit-learn中,Bunch是一个类似于字典的对象,用于存储机器学习中的数据集和相关信息。Bunch对象的结构通常由以下三个属性构成:data:特征数据,是一个n_samples * n_features的矩阵。target:目标数据,是一个n_samples的数组,通常用于监督学习。feature_names:特征的名称,是一个长度为n_features的字符串列表。原创 2023-02-17 01:09:49 · 1345 阅读 · 1 评论