- 博客(85)
- 资源 (17)
- 收藏
- 关注
原创 ResNet-RS 乳腺癌识别
ResNet-D型Stem块,StemBlock 作为网络的起始层,用3个卷积层对输入图像进行初步处理。channel = int(channel_out / 2) # 输出通道数的一半# 定义初始层的结构nn.Conv2d(channel_in, channel, kernel_size=(3, 3), stride=2, padding=1, bias=False), # 第一层卷积nn.BatchNorm2d(channel), # 批归一化。
2024-10-23 15:16:33 702
原创 ResNet-50算法实战与解析
🍨 本文为🔗365天深度学习训练营中的学习记录博客K同学啊|接辅导、项目定制难度:夯实基础⭐⭐语言:Python3、Pytorch3🍺要求:1.根据本文的Tensorflow代码,编写Pytorch代码2.了解残差网络3.是否可以将残差模块融合到C3中残差网络是为了解决神经网络隐藏层过多时,而引起的网络退化问题。退化(degradation)问题是指:当网络隐藏层变多时,网络的准确度达到饱和然后急剧退化,而且这个退化不是由于过拟合引起的。拓展:深度神经网络的"两朵乌云"
2024-08-28 09:39:18 946
原创 第T10周:数据增强
这是大家可以自由发挥的一个地方# 随机改变图像对比度那么如何将自定义增强函数应用到我们数据上呢?请参考上文的函数,将aug_img函数嵌入到函数中,在数据预处理时完成数据增强就OK啦。
2024-08-16 21:55:53 1008
原创 决策树 和 集成学习、随机森林
决策树是非参数学习算法,可以解决分类问题,天然可以解决多分类问题(不同于逻辑回归或者SVM,需要通过OVR,OVO的方法),也可以解决回归问题,甚至是多输出任务,并且决策树有非常好的可解释性。决策树功能强大,能够拟合复杂的数据集。在线dot转换pnghttps://onlineconvertfree.com/zh/对于二分类:H=−p⋅log(p)−(1−p)⋅log(1−p)...
2024-07-24 22:22:32 766
原创 【1】Python机器学习之基础概念
1、什么是机器学习最早的机器学习应用——垃圾邮件分辨传统的计算机解决问题思路:编写规则,定义“垃圾邮件”,让计算机执行对于很多问题,规则很难定义规则不断变化图像识别二分类:机器学习在图像识别领域的重要应用:人脸识别:数字识别(MNIST数据集):机器学习算法:深入理解算法基本原理实际使用算法解决真实场景的问题对不同算法进行对比试验对同一算法的不同参数进行对...
2024-07-24 22:22:02 770
原创 第T8周:猫狗识别
这篇文章中放弃了以往的model.fit()训练方法,改用model.train_on_batch方法。使用image_dataset_from_directory方法将磁盘中的数据加载到tf.data.Dataset中。此外也引入了进度条的显示方式,更加方便我们及时查看模型训练过程中的情况,可以及时打印各项指标。VGG的结构非常简洁,整个网络都使用了同样大小的卷积核尺寸(3x3)和最大池化尺寸(2x2)。我们可以通过class_names输出数据集的标签。,这个错误是由于版本问题引起的。
2024-07-24 22:17:36 904
原创 第T7周:咖啡豆识别
关于卷积的相关知识可以参考文章:https://mtyjkh.blog.csdn.net/article/details/114278995。使用image_dataset_from_directory方法将磁盘中的数据加载到tf.data.Dataset中。VGG的结构非常简洁,整个网络都使用了同样大小的卷积核尺寸(3x3)和最大池化尺寸(2x2)。在官方模型与自建模型之间进行二选一就可以了,选着一个注释掉另外一个。官网模型调用这块我放到后面几篇文章中,下面主要讲一下VGG-16。🔎 探索(难度有点大)
2024-07-13 22:56:11 652
原创 第T6周:好莱坞明星识别
1.直接调用VGG16添加BN层:有效Drop层:卷积层无效,甚至有反效果,全连接层有效L2正则化:有效,但参数不能设置很高减少全连接层神经元数量调整图片尺寸,224x224------256x256上述操作结束,已经可以达到0.5左右,最高大概0.562. 加载预训练参数自己搭建的VGG16有BN层,无法直接加载参数,只能含泪注释掉。
2024-07-13 22:53:14 626
原创 第T5周:运动鞋品牌识别
学习率衰减是一种常用的技巧,可以帮助优化算法更有效地收敛到全局最小值,从而提高模型的性能。在每一个epoch开始前,学习率(learning_rate)都将会重置为初始学习率(initial_learning_rate),然后再重新开始衰减。这样做不仅可以最大限度地缩短训练的单步用时(而不是总用时),而且可以缩短提取和转换数据所需的时间。在此示例中,我们的 CNN 输入,fashion_mnist 数据集中的图片,形状是。因此,训练所用的时间是 CPU 预处理时间和加速器训练时间的总和。
2024-07-13 22:49:53 644
原创 第T4周:猴痘病识别
将训练步骤的预处理和模型执行过程重叠到一起。当加速器正在执行第 N 个训练步时,CPU 正在准备第 N+1 步的数据。这样做不仅可以最大限度地缩短训练的单步用时(而不是总用时),而且可以缩短提取和转换数据所需的时间。在此示例中,我们的 CNN 输入,fashion_mnist 数据集中的图片,形状是。相反,当加速器正在训练模型时,CPU 处于空闲状态。因此,训练所用的时间是 CPU 预处理时间和加速器训练时间的总和。此外,还可以使用学习率衰减策略,如指数衰减、阶梯衰减或余弦退火等,来帮助模型更好地收敛。
2024-07-10 22:13:11 816
原创 第T3周:天气识别
当加速器正在执行第 N 个训练步时,CPU 正在准备第 N+1 步的数据。这样做不仅可以最大限度地缩短训练的单步用时(而不是总用时),而且可以缩短提取和转换数据所需的时间。在此示例中,我们的 CNN 输入,fashion_mnist 数据集中的图片,形状是。因此,训练所用的时间是 CPU 预处理时间和加速器训练时间的总和。较上篇文章,本文为了增加模型的泛化能力,新增了Dropout层并且将最大池化层调整成了平均池化层。此外,还可以使用学习率衰减策略,如指数衰减、阶梯衰减或余弦退火等,来帮助模型更好地收敛。
2024-07-03 22:37:53 1016 1
原创 第T2周:彩色图片分类
池化层对提取到的特征信息进行降维,一方面使特征图变小,简化网络计算复杂度;另一方面进行特征压缩,提取主要特征,增加平移不变性,减少过拟合风险。但其实池化更多程度上是一种计算性能的一个妥协,强硬地压缩特征的同时也损失了一部分信息,所以现在的网络比较少用池化层或者使用优化后的如SoftPool。池化层包括最大池化层(MaxPooling)和平均池化层(AveragePooling),均值池化对背景保留更好,最大池化对纹理提取更好)。● 使不同量纲的特征处于同一数值量级,减少方差大的特征的影响,使模型更准确。
2024-06-23 22:26:28 1134 1
原创 第T1周:实现mnist手写数字识别
MNIST手写数字数据集来源于是美国国家标准与技术研究所,是著名的公开数据集之一。数据集中的数字图片是由250个不同职业的人纯手写绘制,数据集获取的网址为:http://yann.lecun.com/exdb/mnist/(下载后需解压)。我们一般会采用(train_images, train_labels), (test_images, test_labels) = datasets.mnist.load_data()这行代码直接调用,这样就比较简单.
2024-06-16 21:25:00 742
原创 第P10周:Pytorch实现车牌识别
在之前的案例中,我们多是使用datasets.ImageFolder函数直接导入已经分类好的数据集形成Dataset,然后使用DataLoader加载Dataset,但是如果对无法分类的数据集,我们如何导入,并进行识别呢?本周我将自定义一个MyDataset加载车牌数据集并完成车牌识别。
2024-06-13 22:06:07 1062 3
原创 第P9周:YOLOv5-Backbone模块实现
Yolov5算法是目前应用最广泛的目标检测算法之一,它基于深度学习技术,在卷积神经网络的基础上加入了特征金字塔网络和SPP结构等模块,从而实现了高精度和快速检测速度的平衡。YOLOv5 模型主要由 Backbone、Neck 和Head 三部分组成,网络模型见下图。backbone:进行特征提取。常用的骨干网络有VGG,ResNet,DenseNet,MobileNet,EfficientNet,CSPDarknet 53,Swin Transformer等。
2024-06-07 21:28:46 717
原创 第P8周:YOLOv5-C3模块实现
将优化器换为SGD后,收敛明显变快,数据里还是比较少。loss_fn = nn.CrossEntropyLoss() # 创建损失函数...Done#隐藏警告warnings.filterwarnings("ignore") #忽略警告信息# plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号。
2024-05-30 22:22:32 1116
原创 第P7周:咖啡豆识别(VGG-16复现)
优化器修改为SGD,保持学习率不变,结果很奇怪,有待调整参数后再重新训练一下。loss_fn = nn.CrossEntropyLoss() # 创建损失函数...#隐藏警告warnings.filterwarnings("ignore") #忽略警告信息# plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号。
2024-05-20 23:06:01 1006
原创 第P6周:VGG-16算法-Pytorch实现人脸识别
在PyTorch的ImageFolder数据加载器中,根据数据集文件夹的组织结构,每个文件夹代表一个类别,函数会遍历模型的所有参数,通过内置方法截断反向传播的梯度流,再将每个参数的梯度值设为0,即上一次的梯度记录被清空。为True,则w的所有上层参数(后面层的权重w)的.grad_fn属性中就保存了对应的运算,然后在使用。,所有的梯度就会自动运算,tensor的梯度将会累加到它的.grad属性里面去。后,会一层层的反向传播计算每个w的梯度值,并保存到该w的.grad属性中。
2024-05-16 23:12:53 757 1
原创 第P5周:Pytorch实现运动鞋识别
torch.nn.Flatten()与TensorFlow中的Flatten()层类似,前两者则仅仅是一种数据集拉伸操作(将二维数据拉伸为一维),torch.flatten()方法不会改变x本身,而是返回一个新的张量。函数会遍历模型的所有参数,通过内置方法截断反向传播的梯度流,再将每个参数的梯度值设为0,即上一次的梯度记录被清空。为True,则w的所有上层参数(后面层的权重w)的.grad_fn属性中就保存了对应的运算,然后在使用。后,会一层层的反向传播计算每个w的梯度值,并保存到该w的.grad属性中。
2024-05-07 21:51:07 702
原创 第P4周:猴痘病识别
本周的代码相对于上周增加指定图片预测与保存并加载模型这个两个模块,在学习这个两知识点后,时间有余的同学请自由探索更佳的模型结构以提升模型是识别准确率,模型的搭建是深度学习程度的重点。
2024-05-01 17:00:31 847
原创 第P3周:Pytorch实现天气识别
🍺 要求:学习如何编写一个完整的深度学习程序手动推导卷积层与池化层的计算过程难度:新手入门⭐语言:Python3、Pytorch🍺要求:本地读取并加载数据。测试集accuracy到达93%语言环境:Python3.8编译器:jupyter notebook深度学习环境:Pytorch。
2024-04-26 15:59:26 992
原创 【Python 上手 GRPC】(一)初体验
1 什么是 grpcgrpc 是一个高性能、通用的开源RPC框架,Google主要面向移动应用开发基于HTTP/2协议标准而设计的,基于ProtoBuf(Protocl Buffers)序列化协议开发。grpc 提供一种简单的方法来精确地定义服务和ios、Android 和后台支持服务自动生成可靠性很强的客户端功能库。2 什么是 protobufprotobuf 是一个具有高效的协议数据交换格式工具库(类似json),但是和Json相比,Protobuf有更高的转化效率,时间效率和空间效率都
2021-07-02 15:51:46 971 2
原创 Python 多线程定时任务(threading+apscheduler)
1、代码实现# -*- coding:utf-8 -*-import osimport sysimport threadingfrom apscheduler.schedulers.blocking import BlockingSchedulerfrom datetime import datetimeimport timedef timer(n): while True: print(datetime.now().strftime("%Y-%m-%d %H:%
2020-09-02 14:59:00 6279
原创 vim 自动格式化代码快捷键
vim 自动格式化代码1、原始vim编辑代码经常在复制配置文件或者代码时格式没有了,还得手动按空格、Tab,很不方便,下下面这样:2、自动格式化方法希望在 vim 中,像IDEA等软件中可以通过按如快捷键Ctrl + Shift + F 自动格式化代码。需要如下两步就可以实现:1 添加 vim 配置编辑 vim ~/.vimrc 配置文件(没有就创建),加入如下代码:file...
2019-11-28 14:20:12 14516 2
原创 Navicat 连接 MySQL 失败 : 1130 - Host xxx is not allowed to connect to this MySQL server
解决Navicat 报错: 11301、报错信息1130 - Host xxx is not allowed to connect to this MySQL server截图:2、报错原因报错原因: 是mysql未开启mysql远程访问权限导致。3、解决办法授予远程登录权限:(1)、改表法:mysql -uroot -ppasswordmysql>use ...
2019-11-28 10:31:08 1699
原创 Python 获取当前路径几种方法
Python 获取当前路径的几种方法绝对路径1、os.path 方法# -*- coding: utf-8 -*-# !/usr/bin/pythonimport osimport syscurrent_directory = os.path.dirname(os.path.abspath(__file__))print(current_directory)输出:...
2019-11-27 14:24:45 58908
原创 Python 动态定义变量名
目的:实现根据传入的参数,如 n=6,动态的生成6个变量名,可以在后续程序中调用使用Python 动态定义变量名1、利用命名空间利用命名空间动态赋值在Python的命名空间中,将变量名与值存储在字典中,可以通过locals(),globals()函数分别获取局部命名空间和全局命名空间。示例:names = locals()listTemp = for i in rang...
2019-11-22 13:55:16 17302 1
原创 CentOS7 安装 MariaDB 10.2.4
MariaDB[root@master ~]# yum -y install MariaDB-server MariaDB-clientLoaded plugins: fastestmirror, langpacks(1/7): epel/7/x86_64/updateinfo ...(7/7): pgdg95/7/x86_64/primary_dbLoading mirror spe...
2019-11-19 13:40:35 1225 1
原创 IDEA中自动补全变量名及类型
IDEA中自动补全变量名及类型IDEA中自动补全变量名如写入了如下代码: mapDataStream.keyBy { freshness => (freshness.channelId + freshness.date) }下面要为该代码段自动生成变量名:选中代码段,再按 Ctrl + Alt + v完成之后点击回车键...
2019-10-31 22:09:20 18915 2
原创 【Python机器学习】之 SVM 支持向量机算法(二)
SVM 支持向量机(二)1、支持向量机 这样,由于w,x\mathbf{w,x}w,x初始值的不同,最后得到的分割超平面也有可能不同,那么一定存在一个最优的超平面,这种方法就是支持向量机。 由上述可知感知机模型,即在数据集线性可分的条件下,利用分割超平面wT⋅x+b=0\mathbf {w^T \cdot x} + \mathbf b = 0wT⋅x+b=0 把样本点划分为两类,通过计算...
2019-08-31 15:07:35 1261
原创 【Python机器学习】之 PCA 算法(一)
PCA 原理1、PCA 原理推导 假设有 M 个样本 x1,x2,...,xmx_1, x_2, ..., x_mx1,x2,...,xm ,每个样本点 xix_ixi 含有 N 个特征,则每个样本数据可以表示为: xi=(xi(1),(xi(2),...,(xi(n))x_i =( x^{(1)}_i, (x^{(2)}_i,..., (x^{(n)}_i)xi=(xi(1),...
2019-08-13 20:59:12 485
原创 【Python机器学习】之 PCA 算法(二)
PCA 算法1、主成分分析1.1、主成分分析介绍 主成分分析(PCA)是一种非常重要的无监督降维学习方法。其基本思想:找出原始数据最主要的方面来替代原始数据,使得在损失少部分原始信息的基础上极大地降低原始数据的维度。 这一方法利用正交变换把由线性相关变量表示的观测数据转换为由少数几个由线性无关变量表示的数据,线性无关的变量称为主成分。主成分的个数通常小于原始变量的个数,所以主成分分...
2019-08-12 21:46:40 1093 1
原创 【Python机器学习】之 Boosting算法
Boosting1、Boosting1.1、Boosting算法 Boosting算法核心思想:1.2、Boosting实例 使用Boosting进行年龄预测:2、XGBoosting XGBoost 是 GBDT 的一种改进形式,具有很好的性能。2.1、XGBoosting 推导 经过 k 轮迭代后,GBDT/GBRT 的损失函数可以写成 L(y,fk...
2019-08-03 12:40:11 5388
原创 【Python机器学习】之 梯度下降法
梯度下降法1、梯度下降法1.1、梯度下降 梯度下降是一种非常通用的优化算法,能够为大范围的问题寻找最优解。梯度下降的中心思想就是:迭代地调整参数从而使成本函数最小化。特点:梯度下降法不是一个机器学习算法梯度下降法是一种基于搜索的最优化方法作用:最小化一个损失函数梯度上升法:最大化一个效用函数使用梯度下降方法的原因:很多机器学习的模型是无法直接求到最优解。...
2019-07-30 22:45:18 1359
最新hyperledger fabric-实战视频教程-下载地址.rar
2020-09-09
numpy-1.14.0+mkl-cp37-cp37m-win_amd64
2018-07-19
Huawei LiteOS_STM32_DEMO
2018-01-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人