- 博客(34)
- 收藏
- 关注
原创 第N5周:调用Gensim库训练Word2Vec模型
jieba分词库的使用分词功能:通过jieba.cut方法对文本进行分词。函数用于添加一些特定的词汇,以提高分词的准确性。自定义停用词:通过函数过滤掉指定的停用词,这些词汇在文本处理中通常不携带有用的信息,如标点符号、换行符等。
2024-06-20 18:22:50 769
原创 第N4周:中文文本分类-Pytorch实现
本次将使用PyTorch实现中文文本分类。1.尝试根据第一周的内容独立实现,尽可能的不看本文的代码。2.根据文本内容(第1列)预测文本标签(第2列)2.构建更复杂的网络模型,将准确率提升至91%该文本的类别是: Travel-Query。1.学习如何进行中文本文预处理。模型准确率为:0.8996。
2024-06-14 19:33:06 693
原创 第N3周:Pytorch文本分类入门
是一个用于文本分类任务的简单神经网络模型,通常包括一个嵌入层和一个线性层。首先对文本进行嵌入,然后对句子嵌入之后的结果进行均值聚合。
2024-05-30 23:32:01 944
原创 第N2周:Embeddingbag与Embedding详解
词嵌入(Word Embedding)是NLP中的一个重要概念,用于将单词映射到一个连续的向量空间中,这样相似的单词在向量空间中距离更近。词嵌入是一种用于表示文本的向量化方法,它将单词或短语映射到一个固定大小的实数向量。例如,“猫”(cat)和“狗”(dog)这样的单词在语义上相似,因此它们的词嵌入向量在向量空间中会相距较近。Word2Vec:一种预测模型,训练目标是通过上下文预测中心词或通过中心词预测上下文词。:一种基于词共现矩阵的词嵌入方法,通过矩阵分解来获取词向量。FastText。
2024-05-24 21:12:48 892
原创 第N1周:one-hot编码案例
', '但是', ',', '这种', '编码方式', '存在', '一个', '问题', ',', '就是', '模型', '可能', '会', '错误', '地', '认为', '不同', '类别', '之间', '存在', '一些', '顺序', '或', '距离', '关系', ',', '而', '实际上', '这些', '关系', '可能', '是', '不', '存在', '的', '或者', '不', '具有', '实际意义', '的', '。': 6, '好': 7, '。
2024-05-16 22:23:34 1027
原创 第Y9周:重要模块解读
文件路径:\ultralytics-main\ultralytics\nn\modules\*本篇文章仅仅介绍YOLOv8中涉及的主要模块,其他可以查看我之前YOLOV5的文章。
2024-05-03 18:38:40 801
原创 第Y8周:yolov8.yaml文件解读
本周的任务:基于YOLOv8n和YOLOv8s模型的结构,手写出YOLOv8l的模型输出。为了完成这个任务,我首先深入分析了yolov8.yaml的参数配置,这让我对模型的细节有了更深入的理解。接着,我研究了backbone模块和head模块,这些是模型中至关重要的部分。通过分析YOLOv8n和YOLOv8s,我能够逐步构建出YOLOv8l.yaml文件的模型结构输出。这个过程不仅考验了我的技术能力,还锻炼了我的逻辑思维和问题解决能力。
2024-04-26 10:03:26 1770 2
原创 第Y7周:训练自己的数据集
运行 split train_va1.py文件后你将得到 train.txt、val.txt、test.txt和 trainval.txt 四个文件,结。运行voc label.py文件生成 train.txt、test.txt、val.txt 文件。这需要修改/root/.config/Ultralytics/settings.yaml文件。在paper_data下创建一个split_train_val.py文件。在主目录下创建paper_data文件夹,将自己的数据集放入此文件夹。
2024-04-19 21:44:55 1881 1
原创 YOLOv5白皮书-第Y6周:模型改进
目录一、本周任务:编辑二、更正前的yolov5s.yaml三、更正后的yolov5s.yaml 四、运行命令及结果命令:python train.py结果:📌 本周任务:我修改了YOLOv5s的网络结构图,请根据网络结构图以及第Y1~Y5周的内容修改对应代码,并跑通程序。
2024-04-05 17:25:13 409
原创 第Y5周:yolo.py文件解读
在整个过程中,我不仅加深了对YOLOv5模型的理解,还提升了自己在深度学习和模型架构修改方面的实践能力。在完成任务后,我成功运行了修改后的模型,并通过了基本的测试,验证了C2模块的正确性和模型的稳定性。通过这次经历,我对深度学习模型的设计和实现有了更深入的理解。
2024-03-29 14:43:31 931
原创 第Y4周:common.py文件解读
本次任务中,我先通读全篇,这先让我对common.py文件有了大致的理解,然后通过对C3模块的修改,让我更加清晰地明白代码内函数的使用及参数的设置。
2024-03-14 11:48:13 887
原创 第Y3周:yolov5s.yaml文件解读
YOLOv5配置了4种不同大小的网络模型,分别是YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,其中YOLOv5s是网络深度和宽度最小但检测速度最快的模型,其他3中模型都是在YOLOv5s的基础上不断加深、加宽网络使得网络规模扩大,在增强模型检测性能的同时增加了计算资源和速度消耗。出于对检测精度、模型大小、检测速度的综合考量,本文选择YOLOv5s作为研究对象进行介绍。
2024-03-06 11:12:44 932
原创 第Y2周:训练自己的数据集
在本周的学习中我清楚的了解了如何使用yolov5训练自己的数据集。在实现的过程中我也出现了许多问题,比如我是现在电脑上将数据集格式转换的,然后在通过租用服务器训练模型,结果运行中报错显示无法解析数据。通过不断思索,我明白了是因为路径不同,上面两个代码生成的以我的笔记本的路径生成的文件,而服务器的路径又是另一种名字,所以无法解析,通过重新运行上面两个文件后,我成功解决了这个问题。此外,我还尝试了调整batchsize的大小为24,这样可以更好的利用GPU并加快运行速度。
2024-02-23 12:36:00 900
原创 第Y1周:调用官方权重进行检测
本次我通过在官网下载YOLOv5的代码和与预训练文件yolov5s.pt实现图片检测和视频检测。这让我对yolov5实现目标检测有了一个切实的认识,接下来的学习我将逐步解读代码,训练自己的模型, 从一个小白变成一个高手。
2024-01-25 16:19:37 358
原创 第P9周:YOLOv5-Backbone模块实现
Backbone主要负责对输入图像进行特征提取。Neck负责对特征图进行多尺度特征融合,并把这些特征传递给预测层。Head进行最终的回归预测。下面是Backbone骨干网络的分析:骨干网络是指用来提取图像特征的网络,它的主要作用是将原始的输入图像转化为多层特征图,以便后续的目标检测任务使用。在Yolov5中,使用的是CSPDarknet53或ResNet骨干网络,这两个网络都是相对轻量级的,能够在保证较高检测精度的同时,尽可能地减少计算量和内存占用。
2024-01-19 17:19:36 970 1
原创 第P8周:YOLOv5-C3模块实现
C3模块是YOLOv5网络中的一个重要组成部分,其主要作用是增加网络的深度和感受野,提高特征提取的能力。C3模块是由三个Conv块构成的,其中第一个Conv块的步幅为2,可以将特征图的尺寸减半,第二个Conv块和第三个Conv块的步幅为1。C3模块中的Conv块采用的都是3x3的卷积核。在每个Conv块之间,还加入了BN层和LeakyReLU激活函数,以提高模型的稳定性和泛化性能。C3模块是在YOLOv5-6.0版本中使用的,它的出现替代了早期的BottleneckCSP模块。
2024-01-12 18:16:48 1807 1
原创 第P7周:咖啡豆识别(VGG-16复现)
卷积-卷积-池化-卷积-卷积-池化-卷积-卷积-卷积-池化-卷积-卷积-卷积-池化-卷积-卷积-卷积-池化-全连接-全连接-全连接。通道数分别为64,128,512,512,512,4096,4096,1000。卷积层通道数翻倍,直到512时不再增加。通道数的增加,使更多的信息被提取出来。全连接的4096是经验值,当然也可以是别的数,但是不要小于最后的类别。1000表示要分类的类别数。所有的激活单元都是Relu。用池化层作为分界,VGG16共有6个块结构,每个块结构中的通道数相同。
2023-12-29 20:39:59 932 1
原创 第P6周:VGG-16算法实现人脸识别
修改VGG-16网络中的全连接部分。减少了全连接层参数期间使用金字塔原则设置了一次参数又试了别人给出的参数增加dropout层,减少过拟合将初始学习率提高为1e-3,进一步提升模型的准确率同时不断更改学习率的衰减速度,从0.92到0.98和0.88,尝试不同的参数最后成功将准确率提高到50%以上。
2023-12-22 21:19:07 927
原创 第P5周:运动鞋识别
总结一下提高正确率过程和收获:本次任务首先是根据K同学提供的代码进行训练,最后训练结果中测试集准确率最高是78%。第一次优化,在K同学给的范例模型的基础上,在前面的每次池化层后面又增加了 Dropout。Dropout 层的丢弃率设置为0.3,并去除了全连接层前面的Dropout。40轮后,测试集准确率只达到了77%,还没有修改之前的正确率高。第二次优化,舍弃了第一次优化的改动,将初始学习率设置为2e-4。40轮后,训练集准确率达到了98.6%,测试集准确率达到了81.6%,效果还不错。
2023-12-08 21:25:14 56
原创 第P4周:猴痘病识别
当保存和加载模型时,TensorFlow和PyTorch使用了不同的函数和机制。下面是对以及函数的详细解释和区别:TensorFlow中的函数用于保存整个模型,包括模型的架构和权重参数。格式:默认情况下,TensorFlow将模型保存为SavedModel格式,它是一个包含模型架构、权重参数和计算图的文件夹。使用方式:可以通过来保存模型,其中filepath是保存模型的文件路径。PyTorch中的函数用于保存模型的状态字典(state_dict),即模型的权重参数。
2023-12-01 11:16:14 57 1
原创 第T11周:优化器对比实验
Adam优化器(Adaptive Moment Estimation)和随机梯度下降(SGD)是两种用于训练神经网络的常见优化算法,它们各自具有一些优点和缺点。Adam优化器和SGD优化器各自有各自的优点,在图像噪声比较多的时候更适合使用Adam优化器,同样,当损失出现陷入局部最小的问题时当然还是SGD优化器更能避免这个问题。
2023-10-27 19:33:03 109 1
原创 第T10周:数据增强
随机改变图像对比度TensorFlow 的数据集 API 中的 cardinality 函数来计算变量 val_ds 中数据集的大小(即样本数或批次数val_ds 应该是一个 TensorFlow 数据集对象。take函数用于从 val_ds 中获取前 val_batches // 5 个批次,然后将它们存储在 test_ds 中。用于创建测试集。使用skip函数从 val_ds 中跳过前 val_batches // 5 个批次,从而创建一个新的验证数据集 val_ds,该数据集应包含剩余的批次。
2023-10-20 10:50:28 54 1
原创 第T9周:猫狗识别2
是Matplotlib库中的一个函数,用于配置全局的绘图参数,以影响绘制的样式和外观。通过调用,你可以设置绘图时的各种参数,如字体、线条样式、颜色等,以定制图形的外观。这函数允许你在整个绘图会话中保持特定样式的一致性。plt.rcParams函数的调用1.使用圆括号()是一个函数,通常情况下,我们使用圆括号()来调用函数并传递参数。例如,如果要调用其中是函数的参数,是对应参数的值。这种调用方式将根据函数的定义执行相应的操作。2.使用[],以赋值的形式:然而,对于。
2023-10-06 21:33:01 62 1
原创 第T8周:猫狗识别
这段代码主要用于配置TensorFlow环境,支持GPU显存按需使用,并打印GPU信息。同时还配置了matplotlib以支持中文显示,隐藏了警告,然后统计了指定目录下的图片总数。1.1 TensorFlow配置:: 列出所有可用的物理GPU设备。: 设置GPU显存用量按需增长,避免一次性占用全部显存。: 设置使用指定GPU设备。: 打印GPU信息,确认GPU可用性。1.2 Matplotlib配置:: 设置Matplotlib的字体以支持中文显示。: 设置Matplotlib正常显示负号。
2023-09-29 19:27:47 94
原创 第T7周:咖啡豆识别
函数是 Python 中常用的函数之一,用于对可迭代对象(如列表、元组、集合等)中的每个元素应用一个指定的函数,并返回一个包含结果的迭代器。创建数据集时,默认情况下,图像对应的标签(labels)是整数,而且这些整数会自动从 0 开始递增,对应于子目录的索引值。VGG-16的卷积部分由13个卷积层组成,这些卷积层使用3x3的卷积核,步幅为1,填充为1,保持输入图像的尺寸不变。通过导入这两个模块,可以使用其中的类和函数来构建神经网络模型,定义层次结构,编译模型,进行训练和评估等操作。
2023-09-22 19:27:21 177 1
原创 第T6周:好莱坞明星识别
是 TensorFlow 中的一个学习率衰减策略,用于在训练神经网络时动态地降低学习率。学习率衰减是一种常用的技巧,可以帮助优化算法更有效地收敛到全局最小值,从而提高模型的性能。在此示例中,我们的 CNN 输入的形状是。使用VGG-16搭建模型后,验证集准确率基本在50%以上,提升了20多个点。卷积神经网络(CNN)的输入是张量 (Tensor) 形式的。相对应的损失函数,如果是one-hot编码,则使用。相对应的损失函数,如果是整数编码,则使用。相对应的损失函数,针对于二分类问题。
2023-09-14 22:13:01 96 1
原创 第T5周:运动鞋品牌识别
tf.keras.optimizers.schedules.ExponentialDecay 是 TensorFlow 中的一个学习率衰减策略,用于在训练神经网络时动态地降低学习率。在每一个epoch开始前,学习率(learning_rate)都将会重置为初始学习率(initial_learning_rate),然后再重新开始衰减。在此示例中,我们的 CNN 输入的形状是。ExponentialDecay 通过指数函数来减小学习率,其基本思想是随着训练的进行,学习率会按照指数函数的规律逐渐减小。
2023-09-03 18:38:40 68
原创 第T4周:猴痘病识别
卷积神经网络(CNN)的输入是张量 (Tensor) 形式的 (image_height, image_width, color_channels),包含了图像高度、宽度及颜色信息。color_channels 为 (R,G,B) 分别对应 RGB 的三个颜色通道(color channel)。在此示例中,我们的 CNN 输入的形状是 (224, 224, 3)即彩色图像。● 优化器(optimizer):决定模型如何根据其看到的数据和自身的损失函数进行更新。如果使用的是CPU可以忽略这步。
2023-09-01 18:35:16 56 1
原创 第T3周:天气识别
卷积神经网络(CNN)的输入是张量 (Tensor) 形式的 (image_height, image_width, color_channels),包含了图像高度、宽度及颜色信息。pathlib.Path 类提供了一个名为 glob 的方法,用于在指定路径中匹配符合特定模式的文件和目录。使用 Path 类,可以执行诸如构建、合并、解析、查询、比较等多种路径操作,而不必手动拼接字符串或使用不同操作系统的路径分隔符。使用 glob 方法可以在不需要手动遍历目录的情况下,快速找到匹配特定模式的文件和目录。
2023-08-23 20:42:21 48
原创 第T2周:彩色图片分类
可以通过 tf.config.experimental.set_memory_growth 将 GPU 的显存使用策略设置为 “仅在需要时申请显存空间”。通过 tf.config.set_visible_devices ,可以设置当前程序可见的设备范围(当前程序只会使用自己可见的设备,不可见的设备不会被当前程序使用)。这是第一个参数,位置是固定的,含义是过滤器个数,或者叫卷积核个数,这个与卷积后的输出通道数一样,比如下面filters为5的时候,卷积输出的通道数(最后一位)就是5。
2023-08-18 16:16:11 53 1
原创 实现mnist手写数字识别
MNIST手写数字数据集来源于是美国国家标准与技术研究所,是著名的公开数据集之一。(下载后需解压)。MNIST手写数字数据集中包含了70000张图片,其中60000张为训练数据,10000为测试数据,70000张图片均是28*28。
2023-08-05 12:09:57 75 1
空空如也
树莓派使用opencv报错
2022-12-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人