- 博客(17)
- 收藏
- 关注
原创 (解决)报错Cause: org.springframework.jdbc.CannotGetJdbcConnectionException:Could not get JDBC Connection
这里提一下,之前我用的SpringBoot是3.2.4版本的,引发了NoSuchBeanException,换成了2.7.3后才解决这个报错,但是又出现了CannotGetJdbcConnectionException。但是奇怪的是,如果此时你把&allowPublicKeyRetrieval=true去掉后,再运行Test,居然不会报错了。在test包下自己写了一个UserMapper测试刚写的mapper接口是否正确,出现标题所示的错误。每个人情况可能不一样,我寻找到的解决办法是在下述配置信息后面。
2024-03-29 14:54:44
1070
1
原创 【课程笔记】深度学习网络 - 5 - MobileNet v3
特指网络模型中计算复杂度较高、耗费大量时间的层或模块。耗时层通常是指那些计算量较大的层或模块,它们在网络的前向传播过程中会消耗较多的时间和计算资源。具体而言,常见的耗时层包括深度可分离卷积(如 MobileNet 中使用的层)、卷积层、循环神经网络(如 LSTM、GRU)、注意力机制等。对于训练任务而言,耗时层意味着更长的训练时间,而对于推理任务而言,耗时层意味着更长的推理时间。因此,在设计和优化深度学习模型时,通常需要考虑如何减少耗时层的数量和计算复杂度,以提高整体的效率和速度。
2023-09-12 14:32:39
3065
原创 【课程笔记】深度学习网络 - 4 - MobileNet v1v2
卷积 + BN + 激活(ReLU6)三层合一封装,注意是要继承于nn.Sequential# 这样做的原因是许多卷积层的定义都需要进行这三种相同的操作,故封装起来方便调用# Conv2d中的groups选项用于指定卷积操作的分组数,分组数默认为1,即不分组,用于3*3DW层中使用自动分组,减少参数运算量# padding操作是为了保证输入shape与输出shape一致# 封装的具体内容:Conv - BatchNorm - ReLU6。
2023-09-09 21:32:20
1679
2
原创 【课程笔记】深度学习网络 - 2 - VGGNet
六、设置想要使用的模型型号 - vgg16# 七、设置损失函数与优化器此处对网络实例化对象的创建有所不同,由于在(二)段中已经写了一个可以创建VGG网络模型的方法:create_vgg_model(),该方法要传入features和num_classes变量,所以在这里创建实例化对象的途径可以直接调用该方法创建。
2023-09-08 16:08:29
224
1
原创 【课程笔记】深度学习网络 - 1 - AlexNet
六、创建AlexNet的实例化对象# 七、创建损失函数与优化器该数据集是一个五分类的数据集,内容是:{'daisy': 0, 'dandelion': 1, 'roses': 2, 'sunflower': 3, 'tulips': 4}。
2023-09-08 14:15:53
315
1
原创 (课程笔记)深度学习入门 - 11 - CNN_Advanced
我们可以先看一下GoogleNet的具体模型结构:输入在左,输出在右,且有多个可能的输出路线(经过Softmax层处理后的就是输出,可以从图中看出有经过相对少量中间层处理的输出,也有经过大量中间层处理的输出,具体采用什么路线输出结果要根据实际情况选择)。我们可以看到中间用到了大量的分支结构,以此来共同完成对某一个中间输入的处理。而且我们可以注意到这个网络大部分时候都在重复的使用着一个相同的模块,也就是图中框选的Inception Module。
2023-08-31 18:14:14
186
原创 (课程笔记)深度学习入门 - 10 - CNN_Basic (附显卡训练模型操作)
当一个5*5的输入,碰上了一个3*3的卷积,它们的操作是这样进行的:找一个 3*3 矩形中的数据,与卷积中的数据,对应元素相乘再相加。以此类推。对单通道而言,当知晓卷积是如何运算的时候,我们需要思考一个问题,就是 5*5 的输入,经过卷积之后,为啥会是 3*3,如果我给个100*100的输入,那么卷积结果是多少*多少呢。根据卷积运算的思想,我们需要记住一个公式就可以得知卷积出来的结果是什么样子了。(1)先看卷积核(Kernel)的Size,在本例中Kernel_Size是3,即3*3的卷积核;
2023-08-30 23:30:29
275
1
原创 (课程笔记)深度学习入门 - 9 - Softmax Classifier
前面我们提到了多输入问题,二分类问题,都是基于以下这种流程图来展示的:但在现实生活中,有较多的场景它的输出也是多输出的,比如我写一个数字,让模型来猜测这个数字到底是哪一个,此时,模型就有十种可能的输出(0~9)。这里需要提到一个数据集MNIST,以下是GPT的解析:MNIST(Modified National Institute of Standards and Technology)数据集是一个广泛使用的手写数字图像数据集,常用于机器学习和计算机视觉的实验和基准测试。
2023-08-29 17:23:15
298
1
原创 (课程笔记)深度学习入门 - 8 - DataLoader
定义:DataLoader是 PyTorch 提供的一个数据加载器,用于对数据进行批量加载和处理。它在训练神经网络时起到了重要的作用。它存在于 torch.utils.data 包下,需要的时候应该在该包下导入DataLoader。神经网络的训练过程通常需要大量的数据,而将所有数据一次性加载到内存中是不可行的。这时候就需要使用 DataLoader 将数据分成小批次进行加载。DataLoader 可以自动完成数据的批量加载、随机洗牌(shuffle)、并发预取等操作,从而提高模型训练的效率。
2023-08-29 02:15:51
6149
1
原创 (课程笔记)深度学习入门 - 7 - MultiDimension Input
步骤2:定义模型# self.linear1 = torch.nn.Linear(8, 6):创建一个输入维度为 8,输出维度为 6 的线性层,并将其赋值给 self.linear1 变量。# self.linear2 = torch.nn.Linear(6, 4):创建一个输入维度为 6,输出维度为 4 的线性层,并将其赋值给 self.linear2 变量。
2023-08-28 21:34:25
181
1
原创 (课程笔记)深度学习入门 - 6 - Logistic Regression
BCELoss(Binary Cross Entropy Loss)是一种二分类问题常用的损失函数。它通常用于训练模型,使其能够输出一个介于0和1之间的概率值,表示样本属于正类的概率。BCELoss的定义如下:其中,y 是真实的标签(0或1),p 是模型预测的概率值(范围在0和1之间)。这个损失函数通过比较真实的标签和模型的预测值,计算出模型的误差。当 y=1 时,对应的第一项 -y * log(p) 贡献较大;当 y=0 时,对应的第二项 -(1 - y) * log(1 - p) 贡献较大。
2023-08-28 16:49:30
164
1
原创 (课程笔记)深度学习入门 - 5 - LinearRegression
线性回归(Linear Regression)是统计学和机器学习中常用的一种预测模型,用于建立连续变量之间的线性关系。它通过寻找最佳拟合直线(或超平面),将自变量与因变量之间的关系进行建模和预测。线性回归的特点包括:线性关系:线性回归假设自变量与因变量之间存在一个线性的关系,即可以用一条直线(或超平面)进行拟合。单一输出:线性回归模型适用于只有一个输出变量的情况,它试图通过输入变量来预测该输出变量的值。可解释性:线性回归模型对结果的解释性较好,可以通过各个自变量的系数来理解它们对因变量的影响程度。
2023-08-28 13:44:15
184
1
原创 (课程笔记)深度学习入门 - 4 - BackPropagation
LossFcn对网络参数的偏导数的大小有什么含义?LossFcn对网络参数的偏导数大小,是用于表示哪个参数对损失值的贡献敏感度较大。如果某个参数的偏导数较大,说明网络在这个参数上对损失值的影响具有较高的敏感性。换句话说,这个参数对于调整误差和提高网络性能起着更重要的作用。LossFcn需要对哪些网络参数进行偏导数的计算?总的来说,需要计算3个:权重,偏置,输入。【 GPT解析 】反向传播(Backpropagation)是一种用于计算神经网络中各层参数的梯度信息的方法。
2023-08-27 20:56:36
187
原创 (课程笔记)深度学习入门 - 3 - Gradient Descent
【 GPT解析:什么是随机梯度下降算法?随机梯度下降(Stochastic Gradient Descent,简称SGD)是一种用于训练机器学习模型的优化算法。它是梯度下降算法的一种变体,主要应用于大规模数据集和高维参数空间的情况。与传统的梯度下降算法不同,随机梯度下降每次更新参数时只使用一个样本(或者一小批样本)的梯度信息,而不是使用整个训练集的梯度。随机选择一个样本(或者从训练集中选择一个小批量样本);计算该样本对应的损失函数关于模型参数的梯度;根据梯度信息更新模型参数;
2023-08-27 17:41:35
162
原创 (课程笔记)深度学习入门 - 2 - Linear Model
这里我们将(1,2),(2,4),(3,6)这三个数据称之为训练集,用于训练和更新模型里面的参数,而(4,?)称之为测试集,用于测试这个预测模型是否能够最大可能的反映实际模型。如果我们可以暂时使用这个简单的线性模型来进行思考w和b取值应该是多少,才能让线性模型尽可能的去反映真实的数据规律。在本问题中,为了简化模型,我们现在开始,变更为使用这个模型。图1 真实的数学规律线图2 模型可能预测的规律线。
2023-08-27 16:00:05
567
原创 (课程笔记)深度学习入门 - 1 - OverView
定义:神经网络(Neural Network)是一种模仿人脑神经系统结构和功能的计算模型,用于解决各种机器学习任务。它由多个节点(神经元)以及连接这些节点的权重组成。光看定义对于入门者和初学者是枯燥的,因为它是经过大量的历史沉淀下来较为精炼的语句。而我们需要搞懂一个问题,为什么深度学习的发展选择了神经网络,为什么神经网络就能够满足我们人类生活中的需求,为什么它这么强大?
2023-08-27 01:47:44
456
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人