![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
PHM项目实战--建模篇
文章平均质量分 96
此专栏主要是对信号或图片进行分析处理,从而进行机器或元件的寿命预测和故障分类任务,也包括对优质论文的代码复现与内容说明等,另外也记录了在撰写论文时解决的问题,包括数据集划分以及复杂度指标计算等。
优惠券已抵扣
余额抵扣
还需支付
¥79.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
cofisher
这个作者很懒,什么都没留下…
展开
-
【PyTorch】实现迁移学习框架DANN
DANN(Domain Adversarial Neural Network)是最经典的迁移网络框架之一,于2016年被提出。目前网络上有很多关于DANN的介绍,比如知乎:戴璞微说AI的博文等。因此,在此文中,该网络的架构不再赘述,而将重点置于如何利用PyTorch深度学习框架实现DANN上。另外,在代码中也会对PyTorch中的关键语句进行详细解释,以便读者学习。原创 2024-02-06 11:25:43 · 1716 阅读 · 1 评论 -
【PyTorch】实现迁移学习框架DaNN
DaNN是最经典的迁移网络框架之一,于2014年在Pacific Rim International Conference on Artificial Intelligence会议上被提出。目前网络上有很多关于此网络的介绍,比如王晋东老师的《小王爱迁移》系列博文等。因此,在此文中,该网络的架构不再赘述,而将重点置于如何利用PyTorch深度学习框架实现DaNN上。另外,在代码中也会对PyTorch中的关键语句进行详细解释,以便读者学习。原创 2024-02-05 22:44:25 · 772 阅读 · 0 评论 -
Matlab 轴承信号仿真+分析
文章目录项目说明1、信号仿真1.1 仿真公式1.2 信号参数设置1.3 代码实现2、仿真信号分析2.1 小波变换2.2 快速谱峭度项目说明本文主要解决两个问题:1、仿真包含周期性冲击信号、随机干扰冲击信号、调制干扰信号以及随机噪声四个成分的故障轴承信号;2、使用小波变换以及快速谱峭度对该仿真信号进行分析。1、信号仿真1.1 仿真公式这里的仿真信号公式主要参考了包文杰学者的硕士论文《加权谱峭度故障诊断方法研究与应用》,列举公式如下:周期性冲击信号仿真随机干扰冲击信号仿真调制原创 2021-07-12 09:21:15 · 8374 阅读 · 2 评论 -
轴承故障诊断之快速谱峭度法 Matlab 代码说明
文章目录文章介绍代码说明1、主程序2、Fast_Kurtogram(快速谱峭度主函数)3、kurt(计算峭度)4、max_IJ(搜索最大峭度对应的信号子带)5、K_wpQ(计算峭度矩阵)6、DBFB(信号通过1/2树状滤波器)7、TBFB(信号通过1/3树状滤波器)8、K_wpQ_local(计算每层的峭度)level=3----xlevel=2----a_level3level=1----a_level2_from_a_level3level=1----d_level2_from_a_level3leve原创 2021-06-17 14:08:47 · 9558 阅读 · 11 评论 -
Tensorflow2.0 梯度反转层(GRL)的实现
项目介绍在对抗学习中,我们常常需要将某一层的梯度乘上-1再进行梯度下降的操作(即梯度上升),就像【深度域适配】一、DANN与梯度反转层(GRL)详解一文中所介绍的那样。代码实现@tf.custom_gradientdef grad_reverse(x): y = tf.identity(x) def custom_grad(dy): return -dy return y, custom_gradclass GradReverse(tf.keras.la原创 2020-12-10 16:03:39 · 2129 阅读 · 0 评论 -
Tensorflow2.0 自定义余弦退火学习率衰减策略
项目说明余弦退火学习率衰减的学习率曲线如下图所示:除了在训练过程中进行学习率衰减以防止求得的最优解不断震荡之外,余弦退火衰减策略规定,学习率每次衰减到0之后,会迅速回升至初始值,这样可以避免陷入局部最优解。关于余弦退火学习率衰减策略的详细介绍可以参考文章:学习率衰减之余弦退火(CosineAnnealing)。代码实现在 Tensorflow2.0 中自定义学习率衰减策略其实很简单,可以参考文章:Tensorflow2.0学习率衰减详细汇总。import tensorflow as tfimp原创 2020-12-10 14:25:51 · 2667 阅读 · 1 评论 -
基于帕累托的多目标遗传算法优化的原理与 Python 实现
文章目录帕累托多目标遗传算法代码实现排序函数查找所需索引函数Pareto 法得到帕累托前沿函数拥挤度计算从父代和子代中选择下一个父代帕累托多目标遗传算法在优化领域,遗传算法绝对占得上一席之地,但由于在染色体选择阶段,俄罗斯轮盘赌法常被使用,因此遗传算法主要被用来解决单优化问题。对于多目标优化问题,我们常常不知道如何判断两个解孰优孰劣从而难以在遗传算法的选择阶段进行合适的选择,帕累托优化应运而生解决了这一问题。首先,需要对一下概念进行说明:支配、非支配:当A所有目标都优于B时,就说A支配了B,否原创 2020-11-02 19:35:51 · 4802 阅读 · 4 评论 -
Word 自动更新编号(插入题注、交叉引用)
文章目录项目说明步骤一:插入题注点击引用--插入题注新建标签将新建的标签插入补充图片标题步骤二:交叉引用点击插入--交叉引用选择引用格式项目说明在撰写论文时,我们一般会使用方便的 Word,但跟 LaTex 不同,删除 Word 中的几个图片(或表格、公式等)时,剩下的图片编号不能自动更新,文中引用的图片编号也不会改变,而手动更新十分麻烦,这时,我们可以用以下方法实现编号的自动更新。步骤一:插入题注首先要先点到需要插入标签的地方,如下图:点击引用–插入题注新建标签如果在现有标签中找不到需要原创 2020-11-02 15:55:58 · 8185 阅读 · 0 评论 -
将大量图片或其数组导入 TFRecord 文件
文章目录项目介绍实例一:现有图片1、写入 TFRecord 文件1.1 导入需要的库1.2 导入图片1.3 写入2、读取 TFRecord 文件2.1 初步读取 TFRecord 文件2.2 生成描述文件2.3 定义解码器2.4 展示图片实例二:图片数组1、写入 TFRecord 文件1.1 导入需要的库1.2 定义文件位置1.3 写入2、读取 TFRecord 文件2.1 初步读取 TFRecord 文件2.2 生成描述文件2.3 定义解码器2.4 查看数据项目介绍在做深度学习项目时往往涉及到大量图片原创 2020-09-05 17:55:45 · 361 阅读 · 0 评论 -
卷积、可分离卷积的参数量、计算量与 MACC 的对比
卷积、可分离卷积的参数量与计算量的对比原创 2020-06-21 15:27:13 · 1650 阅读 · 0 评论 -
使用 OpenCV 将单通道图片转化成多通道图片
项目介绍将一个文件夹下的所有单通道图片转换成每个通道像素值相同的三通道图片。代码实现PATH = r'E:\code\train'image = []for dirname, _, _ in os.walk(PATH): # 遍历 PATH 路径下所有文件夹的路径 if dirname != PATH: # 除去返回的 PATH 文件夹 for each_dirname, _, filename in os.walk(dirname): # each_dirname原创 2020-06-21 13:26:08 · 3299 阅读 · 0 评论 -
Tensorflow2.0 查看网络中每层的名称、权重及特征图绘制
Tensorflow2.0 查看网络中每层的名称、权重及特征图绘制原创 2020-07-08 20:04:32 · 5694 阅读 · 0 评论 -
Tensorflow2.0 在迁移学习到的模型中间添加新层
这是一个尝试用 Tensorflow2.0 在迁移学习到的模型中间添加新层的记录。原创 2020-07-08 12:13:09 · 1386 阅读 · 0 评论 -
用 python 合并不同传感器返回的轴承信号小波变换时频图
在用深度学习对故障信号进行分类时,有时我们是通过时频图作为神经网络的输入的。另外,通常来说在一个实验中会安放超过一个传感器输出信号,那么如何从几段信号中利用小波变换输出几个不同的时频图、合并这些图片并把所有合并的图片保存起来制作数据集将是我们的第一步任务。原创 2020-08-18 13:08:33 · 2182 阅读 · 18 评论 -
Tensorflow2.0:CNN 解决凯斯西储大学轴承数据集的分类问题
文章目录项目介绍代码实现1、导入需要的库2、参数设置3、归一化4、定义滑窗函数5、取样本6、划分训练集和测试集7、得到 Dataset 类型数据集8、建立模型9、初始化优化器10、定义损失函数11、定义梯度下降函数12、模型训练项目介绍在此文章中,主要是对分类凯斯西储大学轴承数据的代码进行讲解,关于数据集的介绍可以参考:美国西储大学轴承数据解读,在此文章中,我们只对 12K 采样频率下的驱动端轴承故障数据进行分类。另外,当提及外圈故障时,我们只考虑中心方向 @6:00 的外圈故障,且因为故障直径为 0原创 2020-08-14 11:28:52 · 8057 阅读 · 55 评论 -
用深度卷积迁移学习网络来分类无标签数据
对 Deep Convolutional Transfer Learning Network A New Method for Intelligent Fault Diagnosis of Machines with Unlabeled Data 一文进行了讲解,用在一个数据集上训练的网络对另一数据集的无标签数据进行分类。原创 2020-08-14 10:28:31 · 4273 阅读 · 12 评论 -
Tensorflow2.0:基于循环卷积网络预测剩余寿命
文章目录项目介绍RCNN 网络介绍RCNN 优点RCNN 结构循环结构总体框架变分推理量化 RCNN 的预测不确定性1、假设变分分布2、最小化 KL 散度3、将 L 分成两项分别处理3.1 第一项:蒙特卡洛积分3.2 第二项:L2L^2L2 正则化4、得到目标函数项目代码实现1、导入需要的库2、DDL3、优化器4、损失函数5、梯度下降6、模型训练项目介绍在 Multi-Scale Convolutional Attention Network for Predicting Remaining Usefu原创 2020-08-11 14:10:39 · 6894 阅读 · 77 评论 -
Tensorflow2.0:基于多尺度卷积注意力网络预测剩余寿命
文章目录项目介绍MSCAN 网络介绍1、Representation learning subnetwork1.1 卷积块(Block)1.2 自注意力模块1.3 多尺度卷积2、RUL estimation subnetwork2.1 动态高斯失活2.2 Maxout 激活函数MSCAN 网络实现1、Representation learning subnetwork2、DDLMSCAN 网络训练1、优化器2、损失函数3、梯度下降4、模型训练项目介绍在 Multi-Scale Convolutional原创 2020-08-07 23:33:38 · 4685 阅读 · 82 评论 -
Tensorflow2.0:实现 C-MAPSS 数据集的剩余寿命预测
文章目录项目介绍数据集介绍代码实现1、导入需要的库2、导入训练集、测试集与测试集剩余寿命3、计算训练集中每个发动机的剩余寿命3.1 计算训练集中每个发动机的最大寿命3.2 根据最大寿命和运行时间计算剩余寿命4、训练集归一化5、测试集归一化6、计算测试集标签(剩余寿命)6.1 计算训练集中每个发动机的最大寿命6.2 根据训练集中每个发动机的最大寿命和运行时间计算剩余寿命7、提取网络输入7.1 定义滑窗函数取特征7.2 选择要输入神经网络的特征7.3 滑窗提取训练集的输入7.4 滑窗提取测试集的输入8、提取标签原创 2020-08-06 10:52:15 · 8941 阅读 · 53 评论 -
使用 Python 从故障轴承振动信号序列判断故障出现时间
从故障轴承振动信号序列判断故障出现时间原创 2020-08-05 16:54:08 · 6429 阅读 · 37 评论 -
Tensorflow2.0 评价模型复杂度:参数量、FLOPs 和 MACC 计算
文章目录项目介绍代码实现1、迁移学习不带分类层的简化版 MobileNet V2 网络2、查看网络结构3、提取需要分析的层4、计算 FLOPs 和 MACC项目介绍在论文写作时,我们经常会对所提出模型的复杂度进行分析,主要用到的评价指标包括参数量、FLOPs 和 MACC,它们的计算原理可以参考《卷积、可分离卷积的参数量、计算量与 MACC 的对比》一文,在此文章中,我们着重介绍如何在 Tensorflow2.0 中计算这些参数。代码实现我们使用迁移学习到的 MobileNet V2 网络举例。1原创 2020-07-27 15:28:10 · 5771 阅读 · 4 评论 -
将自己的图片数据集分成训练集和测试集并用 Tensorflow2.0 导入
在下载完一个数据集后,很多朋友会为如何划分出训练集、验证集和测试集而烦恼,这篇文章将详细介绍如何划分数据集并将其用于模型训练。原创 2020-07-18 01:25:02 · 5921 阅读 · 5 评论 -
Tensorflow2.0 对自己的图片数据集进行分类
这是一套完整的使用自己的图片数据集进行训练的模板文件。原创 2020-06-21 12:51:45 · 5151 阅读 · 25 评论