自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 问答 (1)
  • 收藏
  • 关注

原创 重新学习的Flag

一切为了快速出程序和写论文,在以前的学习中没有好好打基础。所以真的很有必要重新认真学过,这次不求快,但求认真和扎实。之前学习的时候以TensorFlow为主,pytorch只是实现了基本的功能。第一个要学习的是Numpy。有些以前的代码写的不是很规范,方法也不是很好,导致代码看起来既繁琐,运行速度又慢。现在感觉TensorFlow真的要渐行渐远了,兼容性总是有不好搞的地方,所以重新学习的内容以pytorch为主,还有一些经典的深度学习文章。很多经典论文只是引用过,没有细读,也没有认真记录,现在也得补上。

2023-05-30 23:18:34 245 2

原创 使用相同的随机状态python

很多时候我们需要随机打乱或者随机生成一些数字,但是对于同一批次产生的数据,我们又希望他们之间保持随机前的对应关系,这个时候就需要使用 np.random.get_state()这个函数。在这之前我考虑过设定随机种子,但是随机多次时,随机种子的数值你还要另行设置,还是不好用。最近考虑到数据处理的严谨性,我需要确保原始训练集和噪声训练集完全对应,但是训练集本身是需要随机打乱顺序的,这时候就非常适合用np.random.get_state()获取随机状态:这样就能保证数据是对齐的。当希望训练样本和标签在随机

2022-12-05 18:03:24 596 1

原创 细数入坑深度学习时踩的那些坑

自从进入这个领域,惊奇的发现大家都在坑里,回想这段时期还是走了很多弯路,这些踩过的坑分享出来大家可以借鉴一下。一开始总想着有点时间还是系统的学习一下好,也过于迷信教材了,有一种错觉就是看了教材以为自己会了,实际上还是什么都没懂。一是这个领域代码很重要,我却一直在脑补,浪费了大量时间;二是教材的知识其实很旧,篇幅有限,很多知识点不需要掌握那么细了;三是一定不要相信什么一本书学会,几十天速成那种,真不如自己好好读一篇大神的文章,自己跑几遍代码来的有用。这里大概浪费了3个月时间。。。。。当时自己的电脑是没有显卡的

2022-12-04 10:54:23 760

原创 轴承图片数据集分类效果测试

前面展示了很多将一维数据二维图片化的方法,但是具体效果如何还待定,今天我把简单测试的结果放出来供大家参考。还有一种灰度图我觉得价值不大,因为它本质上是把一维数据乘以255后转化为图片,读取以后再除以255转换为原始二维数据。这是何苦呢,大家都只有一个通道,直接读取不就行了,何必换来换去的折腾。以上几种图我在之前的文章里都单独列举了,首先直观的看,小波和短时傅里叶的特征是最明显的,其他图片的特征目测已经不是一般人类能把握的了。

2022-11-29 09:53:18 1660 5

原创 关于轴承故障分类方法CNN+SVM和ELM的补充

上一篇文章里主要讲了CNN+SVM的实现方法,但是还有2个问题没有涉及,一是这种方法到底有没有改善的效果,二是ELM方法效果如何。通过这篇文章我进行具体展示。

2022-11-28 21:42:15 1235 6

原创 轴承故障分类方法之CNN+SVM和ELM

一直想写这个方法,CNN+SVM是我一开始学习的时候想复现的,结果学了很久才达到目标。主要还是太急于求成了,而且现成的资料很难查到,等对CNN和SVM模型以及训练方法有了一定了解以后,我才真正复现。但是实际上这个方法效果一般,只是给大家提供一种思路而已。

2022-11-27 16:08:07 1680

原创 一维数据二维化的办法汇总(二)

上次写了2种方法,分别是格拉米角场GAFs和马尔可夫变迁场 MTF,这次还有2个,分别是递归图 Recurrence Plot和短时傅里叶变换STFT。

2022-11-26 22:57:47 2979 2

原创 python:No module named ‘pywt‘和cv2的解决办法

【代码】python:No module named ‘pywt‘和cv2的解决办法。

2022-11-24 20:37:19 1829

原创 关于硕士论文盲审的一些感受

至少在中文论文里,相关实验数据细节我算是描述的最完整的那一批,创新点也是最多的,更关键的是同类研究中我的最终结果是明显最好的。拿到这个结果后,我的心情是复杂的,我想和大家说的是,无论你对自己的论文有多大的自信,盲审之前一定要下功夫去修改,因为个人的视野永远是狭隘的、能认真修改问题的好状态也是非常短暂的,一旦提交盲审,你就没有回旋余地了。整个过程大概经历了2周之久,正是这次大修,让我的论文在行文逻辑、语句、图表、格式等方面有了翻天覆地的变化,字数也成32000左右,增加到了42000。

2022-11-23 22:59:43 2691

原创 Image data of dtype object cannot be converted to float 问题解决

出现Image data of dtype object cannot be converted to float报错,在网站内搜了很多都不对症,经过仔细排查,发现是自己在生成数据时未定义数据的类型。加上这个就恢复正常了。

2022-11-12 22:59:21 8386 1

原创 一维数据二维化的办法汇总(一)

在轴承故障诊断中,除了对模型进行改进,很多人也会对数据集进行变换。常见的比如说小波时频图,思路是将一维时序信号变换为二维图像,而后便于使用各种图像分类的先进技术。实际上还有很多方法可以进行这种类似的变换,相关的论文我也看到过,但是具体效果如何不好说。最近正在生成相关的数据集,比较耗时,所以先把大概类别贴出来,后续有了数据集以后会进行测试。

2022-11-12 21:36:48 2941

原创 西储大学数据集小波时频图的分类验证结果

上次生成了三个工况的小波时频图数据集。基本上电脑跑了一个小时的功夫,文件体积也不大。又花了点时间写了多工况的分类结果程序进行测试,结果出乎意料的好,当然运行时间也和想象的差不多长。以上是取128×128尺寸后的2次运行的平均结果,效果好的有点不敢相信,将尺寸缩小到64×64后效果略有下降。但是这个结果依然算很高了。怪不得用小波时频图进行诊断的那么多,确实是更好用一些,比较有潜力。

2022-11-11 23:09:18 944 4

原创 西储大学轴承数据小波变换

除小波变换外,还有格拉米角场 GAFs、马尔可夫变迁场 MTF、递归图 、短时傅里叶变换STFT,具体原理大家在其他地方都能很方便的找到,我这儿就不放了,我自己掌握的也有限,只是把相关方法展示出来,供大家参考。如果你在别的地方看到的图片不太一样,可能是小波种类的原因,或者cmap也就是色彩模式的设置以及levels=np.linspace的设置不一样,也就是说plt.contourf对于最终图像的表现形式影响比较大,大家可以自行测试。小波变换中可以有各种各样的小波类型可选,每种生成的图都是不一样的。

2022-11-05 23:05:04 1777 5

原创 二维频域数据轴承故障分类的几个保留模型

像我这种换一个模型就一篇论文的做法虽然也是灌水行为,但是如果能把模型机理写清楚,再把实验过程做的严谨一些,也绝对是好论文了。前面写过几个处理二维频域数据的模型,如ResNet、ResNeXt、ShuffleNetV2、VIT,效果都不错,尤其是VIT,速度快,准确率高。我想说的是,这些都是比较新的卷积模型,大家在其他地方找到以后要认真调参数,这个过程比较费劲,但是结果绝对是可以期待的。这几个模型我都还没见过有使用的论文,如果有急需的,可以私信我,有偿。速度同样很快,而且准确率更高,好像高的有点假了。

2022-11-04 20:04:00 486

原创 保存图片时速度越来越慢的问题

最近批量保存图片,大概有几千张,发现在运行初期速度特别快,但是很快就会有内存使用过大,CPU反而使用率不足,速度急速下降的现象。查了许多优化办法,发现最大的问题在于图片使用plt.savefig()这个函数的时候没有即使清理掉缓存,因此只需要使用plt.clf()进行清理就可以了。

2022-11-02 23:57:48 877

原创 噪声对轴承故障诊断影响的测试(一)

考虑实际情况,我们需要测试的数据肯定不会很干净,因此测试集中包含噪声是肯定的。我认为都可以,添加噪声的时候,我们考虑的情况是我实际拥有的训练数据本身就是包含噪声的,在不进行降噪的情况下就是这种方式;而不添加噪声对应的是没有实际数据进行训练,模型是由比较干净的公开数据集训练而成的。因此效果确实不尽人意。下图中上面是添加噪声6的图,下面是-6,可见差别还是挺大的,噪声的影响确实非常显眼。区分度不高,间接也说明了真实数据的重要性,也就是说如果我们有足够的同类数据,哪怕它充满噪声,我们一样可以做出比较准确的分类。

2022-10-31 21:36:21 1157 5

原创 轴承故障诊断领域的论文到底有多水

这个是最让人困惑的,就好像你说自己证明了某个方法更好,但是你却没有交代自己怎么做的,或者说你交代的过程有外行话或者逻辑上的缺陷,但是你就这么给出个结果完事了。由于自己没有足够大的学术交流圈子,为了尽量避免误判,我在原来13篇论文的基础上又读了18篇,这些论文至少都出自中文核心,有一些还有EI的title,事实上近几年能找到的文章也不算多,这些基本能说明问题了。当然,还有更多细节,比如说损失函数你得交代吧,模型超参数得介绍全吧,至少数据集是哪个工况下的得说吧,当你想复现这些论文,关注点在这些地方的时候。

2022-10-30 16:45:12 1992 3

原创 有关ELM和SVM在使用过程中的问题

最近在看别人使用ELM和SVM连接CNN的时候发现一点问题,这个组合我自己以前做过,没有查到多少资料,但是有一点是可以确认的。就是ELM和SVM无法进行反向传播,无法和CNN一起同步进行梯度下降的参数优化过程。然而貌似有几篇论文在介绍自己方法的时候写的好像能一起训练一样,不知道是他们理解的问题还是我真的搞错了。另外,ELM的方法好像争议很大,而且我自己用起来确实效果很一般,没那么神奇。正好看到一个帖子专门讨论这个,贴出来供大家参考。

2022-10-26 23:35:26 326

原创 论文中常见的混淆矩阵和T-SNE聚类图

混淆矩阵和TSNE

2022-10-25 19:01:45 2030 17

原创 TensorFlow 2.X获取Flops和参数量(parameters)的方法(2022年)

但是每个人的电脑配置不一样,光靠运行时间比较也不好做,一般见得比较多的就是比较Flops和parameters。我之所以在标题上标明年份,是不想让大家浪费时间,很多帖子讲的都是1.X版本的做法,实在是太难用了,好多试了也不行,都是三四年前的帖子了,以下我的方法最近自己刚刚测试完,是可用的。这个查了不少,发现都是1.X版本的,需要想办法去兼容,但是这样一来搞不好又会有其他问题,而且我试了几个,一下子也没搞定,也不值得花太多时间。首先是使用的模型,就选个比较常见的吧。结果比较全面,有各层的数据。

2022-10-24 10:17:09 3376 6

原创 fig.set_size_inches函数中的一点细节

这下就清楚了,如果你想让分辨率 高一些,直接在plt.savefig里设置就可以,fig.set_size_inches里的默认分辨率也会跟着改变,目前看来/100是个多此一举的数值。这个函数是用在最后生成图片时的,如果不设置,dpi默认为100,与fig.set_size_inches对应,第一段代码其实等同于以下代码。fig.set_size_inches函数是用来设置生成图片大小的,常见的一般是这种。上面代码中的100指的是dpi,也就是与最终生成图片时的plt.savefig相关。

2022-10-22 23:00:31 1920

原创 西储大学轴承二维频域数据应用效果

之前说的还都是一维数据作为输入进行的测试,但是既然是卷积神经网络,怎么能一直在一维领域转悠呢,很多新模型可都是二维卷积。于是,很多人自然而然的想到了将一维数据二维化。转换为二维的方法非常多,我也有计划都试一试,这次先使用我使用最多最熟悉的直接二维化。

2022-10-22 11:04:05 958 1

原创 记录一下NotImplementedError: Cannot convert a symbolic Tensor的解决办法

这个报错之前应该出现过,最近重新跑VIT的时候又出现了,我以为是自己不小心动了代码,查了一下才想起来,numpy的版本不匹配,不知道什么时候重新装上了更高的版本。在我自己查看pycharm数据库时发现numpy已经是1.19.5,但是还有一个numpy-base版本过高,估计就是它的问题。在输入conda install numpy==1.19.5后发现不行,找不到。于是改成pip install numpy==1.19.5,安装完毕后程序正常。解决办法是在虚拟环境里安装。

2022-10-21 18:19:25 1219

原创 报错信息cv2.error: OpenCV(4.5.4) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\resize.cpp:

发现有博主写的很细,分了几个类别,但是都不对我的症状。最后发现是路径里有中文名称,之前这样建立路径是没问题的,但是这次给报错了,看来还是要更加规范才行,避免麻烦,在此做一下记录。

2022-10-19 21:58:13 4366

原创 轴承数据频域信号的生成与效果测试

从结果看,准确率出现了反转,原来的CNN_1D模型反而轻松超越了WDCNN,后者反而表现很差,主要是因为WDCNN针对的是时域调的参数,换成了频域数据,尤其是输入大小变化以后效果受影响最大,如果稍微调一调参数的话,相信效果也不会差多少。从图中可以看出,频域的数据确实比时域的要直观一些,而且长度从2048变成了1024,这是由傅里叶变换的对称特性决定的,同时傅里叶变换也消除了时序数据的时间特性,不过在故障分类问题中,时间信息应该是没那么重要的,毕竟我只需要判断某个样本的类型,而不是时间相关的长短期的特征。

2022-10-14 16:45:03 847 3

原创 西储大学轴承数据一维时序方法基础测试

在单一工况下的故障分类准确率已经难以区分好的模型和方法,利用不同工况之间的直接预测,而后取均值是一种思路。

2022-10-07 21:07:42 1020 16

原创 关于西储大学轴承数据集的一些基本结论

研究生阶段基本都在研究这个数据集了,其实也是很无奈的事,没有导师指导也没有师兄弟和实验室,这个数据集用的人多,网上资源也不少,所以就以它为准了,下面是一些基本结论,我先写出来,抽空会把验证过程重新展示出来,主要是防止大家在一些基本问题上多耗费时间吧。以上这些只是粗浅的结论,相关证明过程我会花一些时间贴出来,供大家参考讨论,如果有希望我试一试的,也可以留言,一个星期以后论文交了就有时间了~

2022-10-06 11:56:39 1293 2

原创 如何给数据添加高斯白噪声?

首先测试集应该是加噪声的,至于训练集需不需要加噪声就见仁见智了。我个人测试的结果是,训练集如果不加噪声的话效果特别差,如果加噪声的话效果就比较好接受,大家可以自己试试看。在轴承故障研究中免不了要涉及到给数据主动加入噪声的情况,一般我们加的是高斯白噪声。由于热噪声是由大量自由电子的运动产生的,其统计特性服从高斯分布,故常将热噪声称为高斯白噪声。的频谱是均匀分布的,好像白光的频谱在可见光的频谱范围内均匀分布那样,所以热噪声又常称为。定义一:如果一个噪声,它的瞬时值服从。又是均匀分布的,则称它为高斯白噪声。

2022-10-05 14:52:02 4454 7

原创 关于刚开始学习aardio遇到的坑

失败的问题,学python的大家当然知道这是没有python的包嘛,仔细一看,却是在软件的基础库里没有python。想学习怎么把python写好的代码打包成应用程序,找了很多资料找到了aardio。当然,我很快就被自己的无知打脸了,也很快决定了学习它。左下角就是标准库,刚下载时是没有python的,这里我已经下载过了。点击右下角的工具,就会出现新的栏目,在右上角栏目里双击扩展库,你就可以找到python了。然而一开始我就瞎了,在调用python时候遇到了一个最基础的问题,以至于在网上连答案都不好搜。

2022-09-29 23:01:28 2810

原创 如何给自己的论文免费查重

查重是写论文一个必须经历的过程,对资深理工科的研究人员来说,基本上查之前是心里有数的。其实查重本身不难,关键是你随便一搜,全都是攻略,这里头广告太多了,不翻个遍、看个十来个帖子根本分不清楚去哪儿查、怎么查等等。好多网站提供免费查重的功能,这个估计大家都试过,好多papper打头的,我用过几个。之后基本上都在用papper YY,每天一次查重基本就够了,主要是它出的查重报告比较细吧,可以顺序比对和更改。然后是重复率的问题。看查重细节的时候你会发现它还是非常严格的,因此这样查重的结果比实际知网这些要好一些。

2022-09-28 22:04:03 418

原创 记录自己的中文核心投稿经历

可惜时间利用的也一般,今年3月份才写出自己的第一篇论文,投了一个据说比较块,也比较好中的期刊。6月份写了第二篇,投到了另外一个期刊,算是个双保险吧。不同期刊的标准差挺多,我自认为不错的论文,在有些期刊几乎就是2天内被秒拒,还有专家评审被拒,理由我实在不敢恭维,有时间我打算专门写篇文章“杠一杠”,让大家评判一下。C期刊难度未知,应该很难吧,论文模板一直没找着,我投了3篇,都是2天内在小编那里就被拒了。D刊难度未知,首投只需要论文,很快会进入专家评审,专家意见很快,回复很认真,很遗憾我被拒了,大家可以试试。

2022-09-25 15:12:54 930

原创 tensorflow训练中常见的几种学习率调参方式

刚开始学习tensorflow时觉得最麻烦的就是训练调参了,有时候一不小心就梯度爆炸,有时候因为拟合不够的问题,本来很有潜力的模型或方法,没有得出好的结果,导致了很多错误和时间的浪费。其中学习率的调参机制非常重要,在这里总结一下。主要涉及几个方法,分别是最佳模型保存、指数学习率衰减、余弦退火和早停机制。

2022-09-24 22:58:17 2252

原创 使用Python 绘制双Y轴和误差棒柱状图

用python生成双Y轴加误差棒的柱状图,科研论文用

2022-09-07 09:57:36 2607

原创 tensorflow和pytorch的一些区别

最近开始学习pytorch,之前我用的是tensorflow2.4,体验实在是一言难尽,现在有时间了,还是决定转到pytorch上感受一下,以下是我在分类问题中的一些总结,供大家参考。下面是我在轴承故障分类任务中感受比较深的几个点。

2022-08-22 21:16:15 1876

原创 经典模型WDCNN中的AdaBN pytorch复现

在测试的时候通过设置BN中的track_running_stats=False可以直接将BN里源域的均值方差替换为目标域的均值方差,实际效果其实是很明显的,提升了4.53%,但是这个是6次迁移学习准确率的均值,因此实际的准确率提升要更明显。另外,在我之前的测试中发现,只要模型中含有BN,使用AdaBN的方法均有较好的表现,其中一个shufflenet模型的准确率从96%提升到了98%,如果对性能更强的模型使用的话,99%也可能不是问题。如果模型中没有BN,我觉得也未必不能用,这种思路还是很有借鉴意义的。

2022-08-21 23:15:39 2409 4

原创 参加2022年全国设备监测诊断与维护学术会议感想

大佬们有心在工程实践中做出成绩,实力也绰绰有余,但是多方因素制约下,想做出实际的系统很难,我个人总结有几个因素:一是真实数据太难获取,即使有,用户方出于保密也不愿共享。这个会议算是这个研究方向顶尖的了,业内的大佬也有很多参加的,如果大家熟悉这个领域的话,陈雪峰、雷亚国等等这些名字估计叫的不少(本人文章看的少,就这两位的书和综述看的多点…专家经验和人工特征提取的方法确实受到了深度学习方法的冲击,对于可解释性,有人觉得必须知其所以然,有人则更看重实用,这或许是个哲学问题,也许是实际中面临的管理问题。......

2022-08-16 16:45:17 732 1

原创 故障分类中的特征提取效果浅见

首先说明基本情况,本人入坑轴承故障诊断一年多,对于很多问题可定认识还不到位,研究的也不够彻底,所以这篇文章算是自己的阶段性认知,不一定正确,希望各位道友批评指正。当初之所以选择这个方向,第一是因为我之前的工作就是机械方向,二是人工智能比较热门,三是我认识到这个方向的门槛可能没有那么高。第三点其实很重要,因为我本身不是学机械的,学校和导师这边也没有支持,靠自学想毕业的话只能找自己力所能及的方向。...

2022-08-09 12:16:35 2416 2

原创 经典模型WDCNN中的AdaBN复现

WDCNN中的AdaBN复现

2022-06-19 10:59:41 3370 17

原创 深度学习与西储大学轴承数据集(三)

接着上一节所说的,这一节主要还是分享有关数据集的分割组合。目前,我们已经明确了自己的目的,有以下几个:进行10分类;时域、频域、时频都要有条件实现;样本大小设定为2048个点;使用滑窗取值法,训练集、验证集、测试集的比例为7:1.5:1.5.话不多说,先上一段代码(这段代码是我从别处参考的,有点找不到具体出处了),这段代码用来进行滑窗取值,返回值是序列的起始和结束位置。接下来要完成3个步骤,按照2048的样本大小分块、随机打乱顺序和划分训练集、验证集、测试集。我个人的理解,如果先划分训练集、验证集、测

2022-06-19 00:58:47 2383

原创 深度学习与西储大学轴承数据集(二)

西储大学数据的处理其实不复杂,在网上用心搜索的话可以找到几个版本,但是在实际使用过程中多少都还会遇到一些问题。事实上,实现数据集的基础功能比较容易,但是如果在使用过程中有一些细节注意不到的话,很可能你后续的实验会白做,这里我也走过一些弯路。大致来说,数据集制作一步到位比较难,因为后续你可能要在多种情况下应用,比如说加噪声、做FFT、维度变换、小波变换、选小样本进行迁移学习等。如果数据集搞不好,可能你的结果就不受控,到时候排查起问题来特别麻烦。对于数据集的处理,我这里把它分为3个部分详细进行说明。数据的读取数

2022-06-18 09:36:25 4366 15

CMAPSS 涡扇发动机数据集

CMAPSS 涡扇发动机数据集,亲测可用,用于寿命预测入门

2022-11-12

西储大学轴承故障数据集小波变换图

区分3个工况,DE端数据按照2048个点一个样本,128个点步长进行滑窗取值获得,而后使用小波变换形成时频图,图片大小192×192

2022-11-11

西储大学轴承数据集(已经按照3种工况进行了10分类)

按文件夹整理好的数据集,适合10分类,方便程序读取

2022-09-28

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除