- 博客(31)
- 问答 (3)
- 收藏
- 关注
原创 目标检测YOLO系列改进点
以YOLOX的结构图为例,谈谈最近的网络改进点输入图像部分预处理:mosic、mixup等数据增强;卷积可部分更换成denseConv,特征提取部分可做轻量化:mobile、ghost、shuffle一般是这三个轻量化还可以将卷积更换为DWConv优化器可互换:sgd、adam、ASGD等注意力机制:CA、SE、ECA、CBAM等可用空洞卷积替换下采样反卷积或者双线性插值替换上采样增强感受野SPP可换成ASPP、RFB等BaseConv结构种的激活函数可换成ELU非极大值抑制NMS.
2022-05-25 21:17:15 954
原创 运行YOLOX报错 ValueError: invalid literal for int() with base 10: ‘Unspecified‘解决办法
运行YOLOX的时候报错:ValueError: invalid literal for int() with base 10: 'Unspecified’根据位置打开voc.py文件的第56行修改如下: if difficult is not None: # difficult = int(difficult.text) == 1 difficult = difficult.text == 'Unspecifie
2022-02-11 18:27:29 2192 3
原创 ModuleNotFoundError: No module named ‘pycocotools._mask‘ 解决办法
直接在终端输入即可:pip install pycocotools-windows
2022-02-11 17:45:46 3297 3
原创 YOLO训练时Tensorboard打不开的解决办法
几天前,用yolov5训练数据的时候,tensorboard还能打开,现在打不开了,奇怪,奇怪,真奇怪。用了很多网上的办法还是打不开,最多的坑是一直提示没有运行的程序。最后发现是自己才疏学浅,仅此记录。解决办法:cmd打开命令提示符进入虚拟环境(训练yolo时用的torch环境,但是看tensorboard用tensorflow环境,坑)输入pycharm控制台中tensorboard提示的一行然后复制http://localhost:6006/到谷歌浏览器...
2022-01-05 18:38:56 2211
原创 YOLOv5 模型剪枝RuntimeError: Given groups=1, weight of size [512, 1024, 1, 1], expected input[1, 512, 8
在github上直接下载的YOLOv5模型剪枝的代码,修改成自己的数据集后,运行train.py出现:RuntimeError: Given groups=1, weight of size [512, 1024, 1, 1], expected input[1, 512, 8, 8] to have 1024 channels, but got 512 channels insteadparser.add_argument('--cfg', type=str, default='models/yolov
2021-12-06 11:35:48 6690 9
原创 力扣——二分法总结(python)
二分法:假如存在一个数组[1,9],这个数组是1到9有序排列,不重复的9个数。给出一个target,假设target=8,输出target在数组中的索引值。通过二分法来解决:确定数组的左右边界,以及中间点比较中间点和target的大小如果中间点=target:返回中间点的索引值如果中间点>target:right = mid -1,更新mid位置如果中间点<target:left = mid +1,更新mid位置这就是整个二分法的算法思路了,就是不断的对半缩短检索区域。
2021-11-24 11:43:25 879
原创 pyinstall打包多个.py文件成应用程序
**Pyinstall打包多个.py文件成应用程序的方法:**这里成功打包了两个.py文件,一张图片,一个.h5文件如图所示:第一步:生成.spec文件pyinstaller -c -D main.py -p image_handler.py这里main.py文件是主文件,通过main.py可以调用image_handler.py文件里的内容。同理,如果有更多.py文件,在后面加上 -p ××.py即可。第二步:修改.spec文件a = Analysis(['main.py'],
2021-11-16 14:58:55 915
原创 解决办法:TypeError: Tensor is unhashable. Instead, use tensor.ref() as the key.
问题:TypeError: Tensor is unhashable. Instead, use tensor.ref() as the key.原因:This is caused by version incompatibility.解决办法:Adding the code below may be helpful:import tensorflow.compat.v1.keras.backend as Kimport tensorflow as tftf.compat.v1.disable_
2021-09-28 15:15:09 3285 2
原创 python实现Fibonacci数列 f(n-1)+f(n-2)
题目:(1)当n=0时,f(n)=0;当n=1时,f(n)=1;(2)当n>1时,f(n)=f(n-1)+f(n-2).def F(x): if x<=1: return x else: return F(x-1) + F(x-2)x=int(input("x="))print("f(%d)= %d " %(x,F(x)))
2021-09-23 22:03:02 587
原创 python绘制中文柱状图+显示数字
python绘制中文柱状图+显示数字import numpy as npimport matplotlib.mlab as mlabimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei'] # 显示中文X = ['意大利', '法国', '美国', '英国', '中国']Y = [827, 647, 611, 369, 155.72]fig = plt.figure()plt.bar(X, Y,
2021-08-21 10:21:43 17957 1
原创 李宏毅 - 卷积神经网络(CNN)
李宏毅 - 卷积神经网络(CNN)卷积神经网络主要用于图像分类。一张图片通过我们的卷积神经网络也就是Model计算出概率值,通过Cross entropy (交叉熵)归一化到0和1,概率最大的显示为1,其余显示为0。那么一张图片是怎么输入到Model里面的呢?我们知道图片是一个三维的tensor(张量),张量可以理解为超过二维的矩阵。以下图举例我们可以写成(100,100,3)的形式,我们需要把这样的图片转化成一维的形式,也就是一个巨大的向量。这个巨大的向量才可以输入到我们的Model里。Mode
2021-07-29 11:19:32 1340
原创 李宏毅 - 神经网络训练不起来怎么办(五)
Batch Normalization:对于每个样本的特征做归一化。Feature Normalization 会让梯度收敛的更快。目前我们对输入的x 做了feature normalization,那么z 和 a 也要做 feature normalization.那么这就是一个 network,但是我们一般会有上百万的数据,我们不能让cpu一次处理那么多的数据,需要把数据分成一个个的batch ,将一个 batch 输入到这样的 network中 就叫 Batch Normalization
2021-07-28 10:51:45 184
原创 李宏毅 - 神经网络训练不起来怎么办 (四)
损失函数Loss也会有影响:首先对回归和分类做一下简单的了解。现在看一下分类的损失函数 e 怎么计算的。当然 Cross-entropy 相较于 MSE更常用于分类问题上。 Softmax 和 Cross-entropy 通常也是绑定在一起的。...
2021-07-28 10:09:20 242
原创 李宏毅 - 神经网络训练不起来怎么办(三)
Learning Rate:Learning Rate :决定梯度是否能收敛到最低点。学习率过大,梯度可能无法收敛;学习率过小,梯度收敛速度缓慢。下面这两行式子是学习率固定时的参数调整。我们目前只看一个参数 θ(i),在第 t 次迭代的情况 。g(i) 表示在第t次迭代时的 gradient . η 目前是一个固定的学习率。θ(i)在第 t 次迭代减去 η 乘于 g(i) 表示在第t次迭代得到θ(i)在 t+1 次迭代的结果,也就是θ(i)进行了一次参数更新。现在我们需要一个随着参数变换,能自动
2021-07-28 09:54:41 242
原创 李宏毅 - 神经网络训练不起来怎么办(二)
Batch and Momentum:Batch:使用训练集中一小部分样本对模型权重进行一次反向传播对的参数更新,这一小部分样本被称为“一批数据”。Epoch:使用训练的全部数据对模型进行一次完整训练,被称为“一代训练”。Iteration:使用一个Batch数据为模型进程一次参数更新的过程,被称为“一次训练”。我们每次计算的梯度和损失都是计算一个Batch中的梯度和损失。batch设置的大小对模型训练有很大影响,根据需要选择自己的Batch。Momentum梯度下降:首先在物理的世界里面,假
2021-07-27 15:44:16 158
原创 李宏毅 - 神经网络训练不起来(一)
Gradient为零,loss不下降的三种情况1.local minima2.local maxima3.saddle point这三种情况统称为critical point.随着训练次数增加,loss值不再下降,gradient趋近于零,训练到达瓶颈。通过上图可以看出,如果训练的处于 saddle point ,是值得开心的,毕竟这种情况是有解的。那么怎么判断是那种情况呢?这里用一个例子来说明。假设一个network只用两个参数w1,w2,输入为1,输出也尽量和1靠近。通过开始设定的f
2021-07-27 11:25:35 332
原创 WordCloud 实现词云(升级版)
WordCloud 实现词云(升级版)1.读取图片text = open('xinhuawang.txt','r',encoding='utf8').read()2.提取关键字和权重freq = jieba.analyse.extract_tags(text, topK=200, withWeight=True)print(freq[:20])freq = {i[0]: i[1] for i in freq}使用 jieba 中文分词,打印前20个权重。3.生成对象mask = np.
2021-07-23 21:29:58 368
原创 WordCloud 实现词云
**WordCloud 实现词云**1.复制某个网页,生成.txt格式文档,读取文件text = open('xinhuawang.txt','r',encoding='utf8').read()'r’对文档只读模式,encoding='utf8’对字符得编码方式2.生成对象wc = WordCloud(font_path='Hiragino.ttf', width=800, height=600, mode='RGBA',background_color=None).generate(te
2021-07-23 21:09:30 528
原创 MNIST手写数字识别_CNN 06
MNIST手写数字识别_CNN该程序相对于上一篇程序仅修改了创建模型的部分:def create_model(): model = Sequential() model.add(Conv2D(filters=30, kernel_size=(5, 5), activation='relu', input_shape=(28, 28, 1))) # 最大池化层,池化窗口 2x2 model.add(MaxPooling2D(pool
2021-07-16 15:32:36 106
原创 MNIST手写数字识别_CNN05
MNIST手写数字识别_CNN加载数据集得到训练集和测试集:mnist = input_data.read_data_sets('D:\pythonProject1\MNIST\MNIST_data',one_hot=True) # 热编码train_X = mnist.train.imagestrain_Y = mnist.train.labelstest_X = mnist.test.imagestest_Y = mnist.test.labels数据预处理:train_X = tra
2021-07-15 22:26:23 158
原创 MNIST手写数字识别_MLP04
**MNIST_手写数字识别_MLP**其实现在很多的代码都是重复的了哦。加载数据集得到训练集和测试集:mnist = input_data.read_data_sets('D:\pythonProject1\MNIST\MNIST_data',one_hot=True) # 热编码train_X = mnist.train.imagestrain_Y = mnist.train.labelstest_X = mnist.test.imagestest_Y = mnist.test.lab
2021-07-15 17:09:35 173
原创 MNIST手写数字识别_softmax简单线性回归03
MNIST手写数字识别_softmax简单线性回归加载数据集,得到训练集和测试集:mnist = input_data.read_data_sets('D:\pythonProject1\MNIST\MNIST_data',one_hot=True) train_X = mnist.train.imagestrain_Y = mnist.train.labelstest_X = mnist.test.imagestest_Y = mnist.test.labels数据归一化处理:#数据归一
2021-07-15 16:12:37 820
原创 MNIST手写数字识别_数据读取02
MNIST手写数字识别_数据读取基于已经下载好本地数据集或是通过keras成功导入数据集:1.本地数据集# 导入数据mnist = input_data.read_data_sets('D:\pythonProject1\MNIST\MNIST_data',one_hot=True)#路径为存储MNIST数据集的地址#one_hot=True 设置热编码One-Hot编码,又称为一位有效编码,主要是采用位状态寄存器来对个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。
2021-07-15 11:11:40 341
原创 MNIST手写数字识别_数据集获取与环境01
**MNIST手写数字识别_数据集获取与环境**MNIST数据集中的所有图片都是28×28像素的文件。因数据集的大小统一,只需很少的数据准备工作就可以用于模型的训练。一.数据集获取1.MNIST数据集本地读取:链接:https://pan.baidu.com/s/1bbZikfDpbs-On4Kk67M6tQ提取码:b4nq解压出来的数据集为四个.idx-ubyte文件,图片文件为.idx3-ubyte,标签文件为.idx1-ubyte。2.MNIST数据集keras导入:from k
2021-07-15 10:22:26 301
空空如也
修改yolov5后训练的准确率振荡,有什么办法让准确率高于原yolov5网络?
2022-01-14
HRSC2016数据集提问,下载的和网上说的不相符
2021-08-24
qt中如何将函数的结果输出到label中?
2021-01-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人