- 博客(12)
- 问答 (3)
- 收藏
- 关注
原创 关于对知乎作者“曾伊言”LSTM入门 “客流量预测”代码纠正
关于对知乎作者“曾伊言”LSTM入门“客流量预测”代码纠正(可直接运行)①在构建batch数据时只使用了前48个月数据。②在预测生成时,源代码test_x[train_size+1,0,0]=test_y[-1],这里为什么是从train_size+1开始,而不是从train_size开始。下面是我修改后的源码(只修改了run_train_lstm()函数)
2025-01-19 03:11:39
137
原创 android-yolo11s-ncnn param文件的out与yolo11.cpp文件的out不匹配问题解决方案
使用ultralytics导出的onnx文件,使用onnx2ncnn工具转化后得到param文件,param文件只有out0,而目前github提供的yolo11.cpp都是out0,out1,out2。亲测ultralytics训练得到的pt文件经过该工具转换后得到具有out0,ou1,ou2的param文件。致谢作者wg521125。
2024-12-20 22:07:17
322
原创 关于使用pyinstaller打包基于Ultralytics开发的软件时出现的问题,pandas的DLL not found
然后我查看dist的_internal发现,这些dll都存在,于是我将他们全复制下来,贴到与.exe同目录下就成功解决了。这段报错我只截取了部分,具体意思是在检测过程中,Ultralytics内部自行调用了pandas,而在import pandas._libs.window.agregations时缺少了pandas对应了DLL,我去StackOverflow查看了该问题。在解决这些问题后,exe能够成功运行,但在进行监测识别时,出现如下错误。该问题表明,是缺少了。
2024-06-07 06:39:30
884
1
原创 如何理解交叉熵损失函数与最小对数似然函数的联系
1.什么是信息量2.什么是熵3.什么是相对熵(KL散度)4.什么是交叉熵(由KL散度推出)5.用例子来理解交叉熵损失函数使用交叉熵时,其预测结果必须是概率值,所以CrossEntropy函数才会内置softmax对结果进行概率化1.最小化负对数似然是为了得到最可能满足当前预测结果分布的参数2.交叉熵损失函数是为了最小化预测分布与真实分布的差距(从KL散度来理解)3.对于单标签多分类问题,最小化负对数似然等价于交叉熵损失函数(公式推得)这里我们只给出了单个样本的示例:
2023-04-23 17:54:16
891
1
原创 深度学习--matplotlib语法介绍
plt.figure()函数参数说明figsize指定画布的大小,(宽度,高度),单位为英寸。dpi指定绘图对象的分辨率,即每英寸多少个像素,默认值为80。facecolor背景颜色。dgecolor边框颜色。frameon是否显示边框。from matplotlib import pyplot as plt #创建一个图形对象 fig = plt . figure()我们用add_axes()函数方法将轴域 添加到画布fig中。
2022-09-06 22:10:39
1108
1
原创 动手学深度学习--计算性能篇
前言:在DL中,通常dataset与net 较大 会导致计算量很大,因此计算性能非常重要,因为接下来我们将讨论影响计算性能的主要因素:①命令式编程②符号编程③异步计算④自动并行与多GPU计算通过以上方法,我们可以在不影响accuracy的前提下,大大减少 training time可以理解为解释性执行代码,即按步进行编译 并计算可以理解为 编译性编程。 即code 通常只在完全定义了 过程之后才会执行计算。步骤如下:这种编程允许进行大量的优化: 1.在大多数情况下跳过解释器,从而消除因为多个更快的GPU与
2022-08-05 22:36:36
1385
1
原创 动手学深度学习---从全连接层到卷积层篇
到目前为止,我们的kernel只有一个输出通道,即输出为单通道的2维tensor。用 ci和co表示 输入和输出通道的数目,kh和kw为kernel的w和h。为获得多个channel的三维tensor ,我们在每个输出channel 创建一个形状为 ci X kh X kw 的三维kernel tensor ,相当于 卷积核的shape 为 co X ci X kh X kw(四维)。在互相关运算中,每个输出通道先获取所有输入通道,再以对应该输出通道的三维 kernel 进行 多输入通道的计算,最后将多
2022-07-13 17:04:11
1965
1
原创 动手学深度学习---深度学习计算篇
事实证明,研究讨论**‘’比单个层大‘’但’‘比整个模型小’'**更有价值。**块(block)**可以描述单个层、由多个层组成的组件或整个模型本身使用块的好处:可以将多个块组合成为更大的组件,如下图从编程角度来看,block由class表示。它的任何子类都必须定义一个将其输入转化为输出的前向传播函数,并且必须存储任何必须的参数,最后,为了计算梯度(gradient),块必须具有反向传播函数。在自行定义block时,因为自动微分提供了一些后端实现,所以我们只需要考虑①前向传播函数②必须的参数在构造自定义块之
2022-07-13 09:38:33
1121
1
原创 动手学深度学习--多层感知机篇(MLP)
前言:本章分为8小章具有单调性:即W增大 output增大,W减小 output减小,而现实中存在许多违反单调性的例子:①体温预测死亡率 ②收入变化与还款可能性将前 L-1层看作表示,把最后一层看作线性预测器,这种架构 常称为多层感知机 (此处线性存疑)缺点: 具有全连接层的多层感知机的参数开销过大多层感知机公式(H:Hidden O:output),经化简可发现 所谓多层感知机仍可蜕变为:O=XW+b ,摆脱不了其单调性因此:我们引入激活函数,增强网络的非线性表征能力,公式如下:为了构建更通用的多层感
2022-07-09 20:04:25
4806
8
原创 动手学深度学习--线性神经网络篇
前言:该大章分为7小章节, 本章我们将介绍神经网络的整个训练过程 :如下图顺序所示:定义简单的神经网络架构数据处理指定损失函数如何训练模型1. linear-regression(线性回归)NOTE:展开:①LOSS FUNCTION 损失函数 :能够 量化目标的实际值与预测值之间的差距选择非负数作为损失最常用的是平方误差函数......
2022-07-05 01:27:06
1410
原创 数组定义格式
int A[][]={{1,2,3},{4,5,6},{7,8,9}} 报错int A[3][]={{1,2,3},{4,5,6},{7,8,9}} 报错int A[][3]={{1,2,3},{4,5,6},{7,8,9}} 运行成功结论:行数可以由初始值中的内层大括号的个数确定,列数必须指定。值得一提的是,我们的C语言中没有字符串的数据类型,因此字符串的实现主要是依靠字符数组来实现的...
2021-11-25 11:17:24
556
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人