- 博客(52)
- 收藏
- 关注
原创 【VS中Git同步提交 报错:访问.vs/FileContentIndex/xxx.vsidx权限不允许】
修改本机用户的权限:添加“修改”权限。
2024-10-28 17:47:02 278
原创 C++源代码封装成dll动态链接库,并在WPF项目中使用的步骤说明(c++函数封装)
在项目内手动新建文件夹,命名为“Costura64”(代表64位),将第一步生成的My_C++_DLL.dll文件拷贝到该路径下,修改dll的属性,点“生成解决方案”,会生成。“生成”–>“Build My_C++_DLL”,成功后可以在项目路径中的Debug/文件夹中查看到.dll文件。右键项目名称–>管理NuGet程序包–>搜索栏搜索“fody”,选择“Costura.Fody”进行安装。在My_CS_Class.cs中添加My_C++_DLL库的引用,以及在。中添加My_C++_DLL库,编译。
2024-09-18 10:58:52 892
原创 【Week-G9】ACGAN实践
本周任务:用教案提供的代码,跑通ACGN(上周自行尝试复现ACGN代码,但失败了)数据集:MNIST数据集(在线下载)
2024-08-22 21:47:33 417
原创 【Week-G8】结合前面所学,尝试写出ACGAN的代码【本周任务主要为个人尝试复现ACGAN,不保证正确性】
修改思路:结合CGAN和SGAN,可在SGAN代码中增加条件变量c,并将条件变量c、噪声z作为判别器的输入:在生成器的输入成分中加入随机噪声z。
2024-08-15 17:04:43 322
原创 【Week-G7】Semi-Supervised GAN 实践,使用MNIST数据集
本次学习使用到的SGAN将GAN扩展到半监督学习方式,通过强制判别器D来输出类别标签。具体结构如下图:输入数据集:N类中某一个生成器G:输出第N+1个类判别器D:充当分类器C的效果训练时:判别器D被用于预测输入时属于N+1类中的哪一个SGAN可以用于训练效果更好的判别器D,并且比普通的GAN产生更加高质量的样本。2.2 初始化权重2.3 定义算法模型2.4 配置模型2.5 训练模型2.6 训练结果下载MNIST数据集:训练过程:训练输出的图像:
2024-08-08 20:51:46 451
原创 【Week-G5】适用于图像翻译的pix2pix模型-Pytorch版本
本次主要学习Pix2Pix网络,常用于图像翻译,它的核心技术包括三点:(1)基于CGAN的损失函数:通过DropOut在生成模型中引入随机噪声z(2)基于U-Net的生成器:包含编码-解码结构,可以学习浅层到深层的特征(3)基于PatchGAN的判别器:输入图像被划分成块(Patch)
2024-07-24 18:42:55 761
原创 【Week-G4】手势图像生成(CGAN)- PyTorch【使用生成好的生成器生成指定手势】
本文环境:系统环境:语言:Python3.7.8编译器:VSCode深度学习框架:torch 1.13.1是否GPU训练:CPU本周代码基本和G3周一致,个别地方有修改:(2)绘制Loss图(3)选择训练好的epoch=300时的生成器模型来生成手势(4)数据集可视化部分选择显示第一个批次的图片训练持续时间:7.17日23:00-7月18日08:12,耗时9h12min。
2024-07-18 20:20:15 851
原创 【Week-G2】人脸图像生成(DCGAN)--pytorch版本
本文环境:系统环境:语言:Python3.7.8编译器:VSCode深度学习框架:torch 1.13.1输出结果:训练结果打印:这里总是报错,不知道怎么回事?网络结构:通过查看网络结构中包含的生成器和鉴别器,前半部分是提取输入图像的特征,后半部分根据已知新的特征形成新的特征。后半部分像前半部分的逆过程。比如本文输入 人脸图片,先通过生成器,提取构成人脸的要素,然后输入到鉴别器,发展新的人脸。以上是个人理解。更详细的说明参考:【pytorch】DCGAN实战教程(官方
2024-07-04 00:11:18 481
原创 【Week-G1】调用官方GAN实现MNIST数字识别,Pytorch框架
print("***********2. 创建模型********************")print("***********2.1 定义鉴别器*****************")print("***********2.2 定义生成器*****************")nn.Tanh()【详解1】【详解2】机器学习的模型大体分为两类:判别模型(Discriminative Model)和生成模型(Generative Model)。判别模型:输入变量,使用模型进行预测。
2024-06-27 10:04:54 603
原创 【Week-R3】天气预测,引入探索式数据分析方法(EDA)
本次学习引入了,可用于分析数据表内各数据之间的关系本次学习使用的数据集:来自澳大利亚许多地点的大约10年的每日天气观测数据。本次学习的任务:根据提供的数据,对明天是否下雨()进行预测。语言环境:Python 3.12编译器:VSCode深度学习框架:Tensorflow 2.11.0。
2024-06-11 21:51:09 947
原创 【Week-R2】使用LSTM实现火灾预测(tf版本)
LSTM是一种特殊的RNN,能到学习到长期的依赖关系,可以理解为升级版的RNN。传统的RNN在处理长序列时存在着“梯度爆炸(/梯度消失)”和“短时记忆”的问题,向RNN中加入遗忘门、输入门及输出门使得困扰RNN的问题得到了一定的解决;关于LSTM的实现流程:(1、单输出时间步)单输入单输出、多输入单输出、多输入多输出(2、多输出时间步)单输入单输出、多输入单输出、多输入多输出;
2024-06-07 20:21:08 939
原创 【Week-R1】RNN实现心脏病预测,基于tensorflow框架
RNN:Recurrent Neural Network,用于处理序列数据。和传统神经网络不同的点在于,当前一层的输出会被当做输入,带到下一个隐藏层中,进行训练,于是除了第一层,RNN中每一个隐藏层的输入都包含两个部分【上一层的输出和当前层的输入】,如教案中给出的简易示意图,每个单词用一种颜色表示,01~05为不同的隐藏层,到达最后一层得到的输出为 05,也是神经网络需要判断的层。
2024-05-26 21:50:54 663 1
原创 【Week Y9】yolo-v8网络结构的主要模块学习
Focus 类是 YOLOv8 中的一个关键组件,它通过将图像分割成四个部分并沿通道维度拼接,有效地减少了图像的分辨率,同时增加了通道数。Focus类实现了一个特殊的操作,将宽度和高度信息“聚焦”到通道空间中,这通常用于减少图像的分辨率同时增加其深度。通过自动计算填充大小,它简化了卷积层的实现过程。:定义了数据通过层的传播方式。它首先应用卷积,然后是批量归一化,最后是激活函数。)组合在一起,简化了模型构建过程,并提高了代码的可读性和可维护性。:定义了默认的激活函数,这里使用的是 SiLU 激活函数。
2024-05-15 23:16:23 966
原创 【Week-Y8】学习yolov8x.yaml文件,了解模型的输出数据
👉 本周任务:● 请根据YOLOv8nYOLOv8s模型的结构输出,手写出YOLOv8l的模型输出。
2024-05-08 21:52:03 1314 2
原创 【Week-Y7】使用自己的数据集训练YOLO-v8
本次学习的模型为YOLO-v8,先调用官方模型测试,检查源码环境配置是否正确,其次使用本地数据集进行训练。
2024-05-01 15:20:34 839
原创 【Week Y6】修改yolov5s的网络结构
修改要求:(1)原第4层的修改为(2)原第6层的修改为(3)原第7、8层删除(注意删去这两层后的层索引值的变化)原YOLOv5s结构:修改后的结构:注意仔细观察网络结构的内容,以及每一层的索引号,都是有关联的,修改时要结合网络结构图,一一对应。还需要注意head的第一个卷积层的输入size,要和前面层数对齐。执行:得到:训练正常:
2024-04-18 09:31:16 263
原创 【Week Y5】yolo.py文件解读,插入C2模块到指定位置
模块结构如下:【Y4】周直接在C3的模块中减少了一次Conv,本次需要还原C3模块,并重新定义一个C2模块。
2024-04-09 22:16:14 426
原创 【Week-Y4】修改yolov5s中C3模块的结构,common.py文件解读
如左图,有3个conv模块,需要为右图,右图只包含2个conv模块。📕步骤:(1)首先找到coomom.py中定义C3模块的地方;(2)然后将代码与上图的左图对应起来,观察需要改动的位置,结合结构,更容易看懂代码;(3)找到之后按照要求修改,并运行train.py,看是否能跑通。中,保存的是v5s各个模块的实现,包括基本模块(如autopad、Conv、Bottleneck、BottleneckCSP、
2024-04-04 22:04:09 556
原创 【Week-Y3】修改yolov5s的backbone的第4层和第6层中C3的理论循环次数
(1)比较了本次学习和【week Y2】学习所打印的训练网络结构,本次学习打印出的网络layers为200,而【week Y2】学习所打印的层数为214,说明修改有效。
2024-03-29 07:47:43 820
原创 【Week Y2】使用自己的数据集训练YOLO-v5s
本文使用水果数据集、CPU进行训练,包含200张图像,水果类别分为4类,。本文先列出执行过程中遇到的问题以及解决办法,再将执行步骤一一说明,给出的代码是我修改过后的最终的代码。
2024-03-19 23:02:20 1252
原创 【Week Y1】调用官方权重进行检测
(1)本文下载YOLO-v5s源码,对其进行编译,并输入本地图片查看检测效果;(2)本文编译环境构成:单独下在python3.12安装包,直接安装;打开VSCode,打开所在的文件夹,然后创建虚拟环境,python版本选择刚安装的3.12,环境路径选择所在的文件夹路径;
2024-03-10 17:42:26 1009
原创 【Week-P9】YOLOv5-Backbone模块实现天气识别
本文使用的网络结构详细说明可以参考:(1)【YOLOv5】Backbone、Neck、Head各模块详解(2)【目标检测 YOLOv5_6.0版本总结】
2024-02-29 10:59:38 976
原创 【Week-P8】YOLOv5-C3模块实现天气识别
增加C3模块,forward()函数内部无变化C3模块个数test_acc187.1%291.6%392.0%增加C3模块,forward()函数内部也相应增加C3模块C3模块个数test_acc187.1%23。
2024-02-22 16:31:35 1024
原创 【Week-P7】VGG16识别咖啡豆
(1)本次学习分两次执行,第一次是优化器为Adam时,使用Jupyter Notebook运行;第二次修改优化器为SGD,PIPEERRORDataLoader;(2)本次学习在jupyter运行时,需要安装,因为时第一次用到,之前也没有安装过,后续在VSCode里运行,不需要重复安装;(3)Adam优化器训练后,。而SGD优化器训练后,。(4)
2024-02-01 13:33:04 939
原创 【Week-P6】VGG16-好莱坞明星识别,设置动态学习率
说明:(1)本次学习使用VGG-16模型完成,调用官方接口得到VGG-16预训练模型,然后修改classifier模块的第6层;(2)本次学习调用官方动态学习率接口完成训练;(3)本次学习需要调整调整参数,使test_accuracy的值达到60%或以上(当前训练40个epoch的test_accuracy是16.7%);(4)本次学习使用的数据集与的数据集是一致的,共有17位好莱坞明星的脸部照片;
2024-01-25 20:54:14 947
原创 【20240123】唠一下
需要注意的是,防止模型过拟合与提高模型的泛化能力是两个密切相关但又有区别的概念。防止模型过拟合可以提高模型的泛化能力,但仅仅防止模型过拟合并不能保证模型具有良好的泛化能力。要提高模型的泛化能力,还需要考虑其他因素,如模型的结构、训练数据的质量和数量等。的同时,兼顾模型的训练速度和推理速度是可能的,但需要权衡取舍。这些优化技术或算法可以与解决问题中提到的方法结合使用,以进一步提高VGG-16模型的准确率、训练速度和推理速度。网格搜索是一种超参数调整方法,它通过在超参数网格上评估模型的性能来找到最优的超参数。
2024-01-23 15:01:49 867
原创 【Week-P5】CNN运动鞋品牌识别,设置动态学习率
说明:根据自己定义的函数更新学习率。关键参数详解:●:是之前定义好的需要优化的优化器的实例名称●:更新学习率的函数用法示例:lambda1 = lambda epoch: (0.92 ** (epoch // 2) # 第二组参数的调整方法scheduler = torch.optim.lr_scheduler.LambdaLR(optimizer, lr_lambda=lambda1) #选定调整方法。
2024-01-19 00:44:32 1057
原创 【Week-P4】CNN猴痘病识别(修改网络结构的部分,即6.2,待修改)
训练结果如下:训练结果表明:修改网络结构之后,test_accuracy反而从85.3%降低到82.5%,说明此次修改结构不能提升test_accuracy的值。训练结果表明:与6.2.1的修改方法相比,test_accuracy从82.5%提升到84.4%。
2024-01-04 00:01:44 995
原创 【Week-P2】CNN彩色图片分类-CIFAR10数据集
本文采用CIFAR10数据集,通过简单CNN来实现彩色图片识别。导入数据的方式和【Week P1】中的方法是一致的,都是通过下载数据集、通过加载数据集。等待漫长的4h35min后:对于一般的CNN网络来说,都是由特征提取网络和分类网络构成,其中特征提取网络用于提取图片的特征,分类网络用于将图片进行分类。用到的运算主要有:卷积、池化。网络结构:可以看到,训练10个epoch后的效果是非常差的,训练准确率和测试准确率都不到60%。函数原型:关键参数说明:函数原型:关键参数说明:函数原型:torc
2023-12-21 22:52:46 2802
原创 【Week-P1】 MNIST手写数字识别
(1)本文使用Pytorch 的 CPU版本,安装过程比较简单。在【官网】设置自己的配置,本文选用CPU版本,所以直接安装即可,下载时间比较久。漫长的等待之后,安装好了:打开确认安装情况,如下图运行情况,表示已经安装好CPU版本的Pytorch使用下载MNIST数据集,并划分好训练集与测试集。使用加载数据,并设置好基本的batch_size。对于一般的CNN网络来说,都是由特征提取网络和分类网络构成,其中特征提取网络用于提取图片的特征,分类网络用于将图片进行分类。是Pytorch自带
2023-12-12 22:12:43 1005
原创 Week-T10 数据增强
print("--------# 自定义增强函数---------")# 这是大家可以自由发挥的一个地方# 随机改变图像对比度# Q: 将自定义增强函数应用到我们数据上呢?# 请参考上文的 preprocess_image 函数,将 aug_img 函数嵌入到 preprocess_image 函数中,在数据预处理时完成数据增强就OK啦。# 从本地路径读入图像数据print("--------# 从本地路径读入图像数据---------")# 划分训练集。
2023-11-19 12:17:55 1543
原创 Week-T9 猫狗识别2
二、准备数据2.1 获取数据集三种配置数据集的方式:: 打乱数据,关于此函数的详细介绍可以参考:https://zhuanlan.zhihu.com/p/42417456:预取数据,加速运行,其详细介绍可以参考我前两篇文章,里面都有讲解。:将数据集缓存到内存当中,加速运行2.2. 可视化数据3.2 编译模型在准备对模型进行训练之前,还需要再对其进行一些设置。以下内容是在模型的编译步骤中添加的:● 损失函数(loss):用于衡量模型在训练期间的准确率。● 优化器(op
2023-11-13 01:51:21 132
原创 WeekT8 - 猫狗识别1(VGG-16),训练方法与之前有所区别
● 难度:夯实基础⭐⭐● 语言:Python3、TensorFlow2🔎 探索(难度有点大)其他说明:这篇文章中放弃了以往的model.fit()训练方法,改用model.train_on_batch方法。两种方法的比较:● model.fit():用起来十分简单,对新手非常友好● model.train_on_batch():封装程度更低,可以玩更多花样。此外也引入了进度条的显示方式,更加方便我们及时查看模型训练过程中的情况,可以及时打印各项指标。
2023-11-01 21:46:58 115
原创 Week T7 - 咖啡豆识别(VGG-16)
● 难度:夯实基础⭐⭐● 语言:Python3、TensorFlow2● 时间:9月5-9月9日🔎 探索(难度有点大)
2023-10-22 23:24:21 149
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人