首页/文章/ 详情

开源代码推荐 | 面向大模型时代用于生成工业时序数据的时序增强条件扩散模型

2小时前浏览2

    本期给大家分享文章面向大模型时代用于生成工业时序数据的时序增强条件扩散模型》本文提出了一种元时间序列生成时序增强扩散模型,作者开源了完整代码,适合于研究扩散模型在故障诊断领域应用的学习者。(投稿方式点击这)

    论文链接:通过点击本文左下角阅读原文进行在线阅读及下载

    代码链接

    https://github.com/Dolphin-wang/Diff-MTS

    如果下载不了代码,文末有免费获取方法。

    论文基本信息

    论文题目:

    Diff-MTS: Temporal-Augmented Conditional Diffusion-Based AIGC for Industrial Time Series Toward the Large Model Era

    论文期刊:IEEE TRANSACTIONS ON CYBERNETICS

    论文日期:2024年

    论文链接:

    作者:Lei Ren, Haiteng Wang, et al.

    机构:

    School of Automation Science and Electrical Engineering, Beihang University, Beijing 100191, China; The State Key Laboratory of Intelligent Manufacturing System Technology, Beijing 100854, China

    作者简介:

    任磊,北航自动化学院教授,工业互联网与建模仿真系主任,智能制造与仿真技术实验室副主任,复杂产品智能制造系统技术全国重点实验室专委会副主任。研究领域包括工业互联网与工业软件、智能制造与云制造、新一代人工智能与大数据、工业人工智能与工业大模型。

    王海腾,北京航空航天大学三年级博士生,主要研究方向为工业大模型、工业AIGC、与工业时间序列建模预测。在IEEE TNNLS, IEEE TCYB, IEEE TIM, IEEE TII发表多篇论文,并担任IEEE TNNLS审稿人。获批首批国家自然科学基金青年学生基础研究项目。

    目录

    1 摘要

    2 引言

    时序增强条件自适应扩散模型

    3.1 去噪扩散概率模型

    3.2 条件Ada-MMD扩散方法

    3.3 时间分解重建UNet

    3.3.1 输入嵌入模块
    3.3.2 时序分解重构UNet模块
    3.3.3 训练和抽样程序

    实验

    4.1 实验和设置   

    5 总结

    1 摘要

    工业多变量时间序列(Industrial multivariate time series , MTS)是人们了解工业领域机器状态的重要视角。但由于数据采集难度和隐私的顾虑,用于构建智能维修研究和智能大模型的可用数据远远不够。因此,工业时序数据的生成具有重要意义。现有的研究多采用生成式对抗网络(Generative Adversarial Networks,GANs)来生成MTS数据。然而,由于生成器和鉴别器的联合训练,会使神经网络的训练过程不稳定。本文提出了一个基于时序增强的条件自适应扩散模型Diff-MTS,用于生成MTS。旨在更好地处理MTS数据复杂的时序依赖性和动态性。具体地说,提出了一种条件自适应最大均值差异(Conditional Adaptive -Maximum Mean Discrepancy, Ada-MMD)方法用于MTS数据生成。该方法提高了扩散模型的条件一致性。此外,建立了时间分解重构UNet (Temporal Decomposition Reconstruction, UNet, TDR-UNet),以捕获复杂的时序模式,进一步提高生成时序数据的质量。在C-MAPSS和FEMTO数据集上的实验表明,与基于GAN的方法相比,Diff-MTS方法在多样性、保真度和实用性方面都有明显的提高。

    关键词:人工智能生成数据,扩散模型,基础模型,生成模型,工业多变量时间序列 

    2 引言

    工业多变量时间序列(Industrial multivariate time series , MTS)在异常检测[1]、剩余寿命预测[2][3]和故障诊断[4]中起着至关重要的作用。它是训练具有高精度推理能力深度学习模型的基础。然而,不同的时间尺度,噪声水平和不同的潜在特征等因素,造成了MTS数据的异构性。再加上不同工业公司的数据隐私问题,特定场景的可用工业时序数据很少。数据短缺已成为阻碍智能维修研究和工业大模型构建的严重问题。
    之前的工业研究通常采用生成式对抗网络(Generative Adversarial Networks, GAN)来生成工业时序数据,但由于生成器和判别器的联合训练,以及GAN存在训练过程不稳定的问题,导致生成的工业时序数据可信度和可利用度不高。此外,工业数据涉及复杂的时间依赖性,这给生成模型提取趋势信息带来了挑战,从而降低了生成数据与原始数据之间的相似性。
    数据生成技术提供了一种缓解数据短缺和增强测试环境的手段。常用于生成时序数据的AI生成(AI-generated content, AIGC)方法包括变分自编码器(Variational Autoencoders, VAE)[5][6][7]和GAN[8][9][10]等。然而,由于其重建损失函数,导致VAE通常无法产生真实的样本。基于GAN的模型使用的是随机生成器和鉴别器的对抗过程来创建真实的数据。CVAE-GAN[10]是一种用于轴承故障诊断的条件变分GAN,它采用分类器来区分不同类别的故障数据。CPI-GAN [11]将物理信息集成到GAN以生成退化过程,从而提高下游任务的准确性。这些方法减少了手动数据收集所需的时间和精力,并提高了模型的准确性。虽然生成模型在一些生成任务中取得了成功,但MTS数据生成仍然存在一些挑战。
    首先,基于GANs的模型容易出现不收敛和不稳定的训练过程[12][13][14]。具体而言,MTS数据是低质量的,具有高采样频率和强噪声,这使得GAN中的生成器难以学习时序数据模式。因此,鉴别器可以很容易地区分真实的和生成样本。生成器和鉴别器之间的对抗性质要求研究者需要做出大量努力来稳定训练过程。
    其次,MTS数据具有不同的条件(例如,故障类别和健康指标),并且生成模型生成具有特定条件(输入条件信息和生成的数据之间的一致性)的数据是具有挑战性的。为了引导样本的生成,一些方法[9][10][15]利用鉴别器或分类器来实现MTS数据的可控生成。但这些方法都需要联合训练额外的网络结构,降低了受控生成的条件一致性。
    第三,MTS数据通常是不光滑的,并且具有复杂的时间依赖性,这会导致生成MTS数据很困难。也就是说,当前时刻的时序数据与先前时刻相关,但这种关系是非平稳的并且难以预测。这给生成模型提取趋势信息带来了挑战,从而降低了生成数据和原始数据之间的相似性。
    去噪扩散概率模型(Denoising Diffusion Probabilistic Models, DDPM)[16]被提出,通过模拟将输入数据向目标分布的扩散过程来对数据分布进行建模。虽然一些研究在生成具有连续像素值的图像方面取得了优异的效果[17][18][19],但它们缺乏足够的MTS生成能力,并且仍然难以解决上述问题。为了弥补这一研究空白,我们提出了一种时序增强的条件自适应模型,即Diff-MTS。该方法解决了以往研究中的不收敛和不稳定的训练问题,并证明了扩散模型生成传感器时间序列的能力较弱。具体而言,我们的贡献可以总结如下。
    1. 一种用于多元时间序列生成的增强扩散模型被提出,该模型结合了条件自适应和时间分解重构,解决了传统扩散模型在生成具有复杂时间依赖性的MTS时的不足。
    2. 一种无分类器的条件自适应最大均值差异(Adaptive Maximum-Mean Discrepancy, Ada-MMD)扩散方法被提出,用于控制MTS的生成,解决了联合训练分类器以控制生成的局限性。自适应MMD机制在潜在空间中自适应地学习互信息,增强了扩散模型的条件一致性。
    3. 一种时间分解重构UNet(Temporal Decomposition Reconstruction UNet, TDRUNet)被提出,用于去噪和恢复MTS数据。TDR机制被提出用于提取传感器时间序列的潜在模式和趋势信息,增强了扩散模型生成高保真MTS数据的能力。
    4. 进行了多种实验,以全面衡量在多个数据集上生成的MTS的多样性、保真度和实用性。结果验证了Diff-MTS的卓越性能以及扩散模型在生成MTS数据方面的巨大潜力。

    3 时序增强条件自适应扩散模型

    3.1  时序增强条件自适应扩散模型 

    图1 扩散过程和逆向过程示意图
    与基于VAE的方法相比,扩散模型由于扩散过程具有高维潜在变量,使其能够生成高质量的样本。此外,扩散模型采用固定的扩散学习过程,避免了基于GAN方法训练不稳定性问题。从本质上讲,我们的方法将DDPM建立的原理扩展到一维多元信号生成领域。该扩散模型由两个主要阶段组成,如图1所示:扩散过程和反向过程。在扩散过程中,对原始时间序列  加入高斯噪声。该噪声依赖于时间步长  ,从  范围内的均匀分布中采样。我们将这些有噪声的变量称为  。扩散过程可以用一个马尔可夫链来定义,这个马尔可夫链保持固定,从数据  开始,以潜在变量  结束,具体如下公式所示。    其中,  ,  是噪声阵列。  和  分别表示扩散总时间步长和当前时间步长。当  时,整个过程逐渐将  转换为高斯分布变量  。 我们采用重参数化技术对其中的扩散过程进行修改,时间步长处的值可计算如下:   其中,    是高斯噪声,    ,    。
    反向过程承担去噪的作用以恢复  到  ,以便它最终可以从高斯噪声中恢复数据样本。为了实现这一点,通过训练好的去噪模型来预测扩散过程中添加的噪声。与扩散步骤类似,反向步骤由马尔可夫链定义:   其中  为去噪模型的参数。
    在最初的DDPM工作中,使用了线性噪声表。尽管如此,在复杂的信号处理场景中,该调度未能产生最佳结果。强线性调度导致有噪声的时间序列迅速退化为纯噪声,导致在噪声引入阶段更快地丢失信息。为了缓解这个问题,我们实现了余弦调度。   其中,上式为线性调度函数,下式为余弦调度函数。S是一个偏移参数,设为S = 0.008余弦调度旨在在噪声处理步骤期间将噪声时间序列中的信息保存更长时间。

    3.2  条件Ada-MMD扩散方法

    要实现特定条件下工业时间序列的生成,需要将设备健康指标等条件信息纳入扩散模型。因此,我们开发了一种不需要显式分类器的条件扩散模型,并将设备的健康指标作为条件考虑。然后,为了保证扩散模型的条件一致性,引入Ada-MMD正则化损失自适应捕获互信息。这有利于在特定条件下生成样本与原始样本的对齐,促进它们的相似性。首先,我们将条件信息添加到反向过程中。逆过程的条件形式可以表述如:   那么,  和  的参数化可以用来定义:     其中,  表示估计的噪声,  为噪声时间表。根据上两式,可以通过估计的噪声恢复时间序列。

    与标准逆向过程类似,如果对原始信号进行预测,则可以从噪声分布中推导出原始信号。之后,我们将噪声变量  ,时间步长  和条件信息  输入到我们的去噪模型UNet中,以估计噪声分布。为了将条件纳入到去噪模型中,条件信息被包含在优化目标中。在条件反求过程中,我们的目标是通过以下方式最小化噪声估计损失:   

    其中,  表示数据分布。这个函数可以对应噪声估计误差。给定一对样本,使用DDPM方法训练后,采样模型中包含的引导,将噪声指向  的方向,从而实现降噪。
    为了提高真实时序与生成时序的相似性,我们的研究引入了条件Ada-MMD正则化损失。具体而言,从时间步长为    的扩散过程中导出噪声变量    ,然后计算具有条件信息的Ada-MMD正则化损失,以减少高斯分布与采样噪声分布之间的差异:   其中,  为带有条件信息的去噪模型预测的噪声。  表示一个正定核,旨在重现高特征维空间中的分布。虽然一般噪声估计损失  捕获来自欧式距离的信息,但条件MMD正则化将数据映射到高维特征空间以捕获分布之间的相似性。参数    作为自适应系数,校准MMD正则化损失在整体目标函数内的重要性,这种配置允许动态调整模型对捕获互信息的关注。

    3.3 时间分解重建UNet

    设计了一个TDR-UNet模型来处理生成任务。该模型主要包括两个部分:输入嵌入模块和TDR-UNet模块。具体来说,该模型嵌入了输入,包括潜在变量  、条件  和时间步长  。UNet编码器和解码器用于预测在整个扩散过程中添加到原始数据中的噪声。为了捕获工业时间序列数据的时间依赖性,在编码器和解码器之间执行分解重建机制。详细架构如图2所示。

    图2 TDR-UNet模型概述

    3.3.1 输入嵌入模块

    为了保留数据内的时间关系,我们对每个输入样本启动嵌入变换。首先,方便输入到为了更好地被后续的UNet学习,隐变量  使用1-D卷积层嵌入。   其中  表示卷积层,  表示嵌入的时间序列。
    接下来,离散时间步长    以正弦方式嵌入到连续特征  的两层全连接(Fully Connected, FC)网络中,使网络能够随着时间的推移理解数据:   其中,  表示正弦位置嵌入方法[30]。  表示时间步长  的初始位置嵌入,GeLU是一个激活函数。为了使输入信号包含目标信息,我们通过FC将条件信息转换成向量。   其中,  为全连接层。与离散特征的独热处理相比,我们采用FC网络在高维空间中进行连续嵌入。  是一个掩码编码函数。具体来说,我们设置一个参数来调整条件信息的影响程度。对于嵌入的条件向量,将其中的  设置为随机值。例如,  的值越大,则嵌入条件向量中的随机值就越大。这将导致更少的条件信息。
    3.3.2 时序分解重构UNet模块

    图3 UNet编码器和解码器的结构
    在所提出的UNet方法中,网络架构是基于U-Net框架[15]构建的,主要由三个编码器和三个解码器组成。每个编码器具有两个顺序的1-D卷积块,然后是下采样操作。在每个卷积块内,使用两个卷积层:第一层对输入信号进行卷积操作,然后通过GroupNorm变换处理并通过SiLU函数激活,如图3所示。
    该架构集成了残差连接,将输入信号信息直接添加到编码器的输出中,并在解码器中进行卷积。此外,条件和时间步长信息被馈送到每个编码器的第一个卷积块中。解码器由两个卷积块组成,它们通过卷积操作逐步将信号恢复到其原始维度。这些卷积层包含跳跃连接,将编码器中相应层的特征与解码器中的特征融合在一起。
    然后,在UNet编码器之后执行时间分解重构层。为了了解时间序列生成环境中复杂的时间模式,我们将时间序列分解技术应用于工业时间序列数据。给定输入    ,使用平均池化和最大池化对其进行分解,产生两组不同的特征:    和    。趋势部分有助于捕获数据中固有的平均趋势,而峰值部分的利用则有助于强调最大变化。每个部分都代表了更可预测的模式的潜在类别之一。随后,将这两个特征连接并馈送到一个卷积块中,以整合时间序列信息。   
    在时间序列分解后,对工业时间序列进行卷积注意力结构重构,首先对时间序列进行三个1-D卷积层处理,生成分离特征。然后,执行如下的注意机制:   其中,  、  、  为参数矩阵。  为比例因子。由于注意层能够突出显示有利于特征表示的重要字段,因此该层有助于学习平均部分和最大部分的细粒度信息。因此,网络更好地学习底层的模式。随后,该模型通过1-D卷积层重建时间序列信息。最后,通过UNet解码层和卷积层对重构信息进行处理,恢复原始尺寸。
    3.3.3 训练和抽样程序
    表1 条件扩散模型训练算法伪代码

    表2 条件扩散模型采样算法伪代码

    该方法首先构建一个神经网络模型用于工业时间序列数据的噪声估计。然后通过Adam算法最小化计算的损失函数来训练模型参数  。算法1中概述的这个训练过程,既提高了训练效率,又提高了收敛速度。该算法首先初始化模型参数并设置训练环境。首先,生成高斯噪声和选择扩散时间步长。然后,从条件数据集中得到相应的目标条件来引导扩散过程。计算潜变量,然后根据模型参数对添加的噪声进行估计。接下来,使用标准噪声估计和Ada-MMD损失的组合来计算模型的损失,并通过可学习因子进行加权。在处理完批处理中的所有实例后,基于损失的梯度,使用Adam优化算法更新模型参数。这个过程在所有epoch中重复,直到完全训练好的模型参数输出,准备部署或进一步验证。
    一旦训练过程完成,该方法就以迭代方式生成特定操作条件的MTS数据。该过程在算法2中给出。第一步是确定扩散步骤的总数并获得噪声时间表。接下来,从高斯分布中采样随机噪声样本  。选择与数据生成相关联的工业设备的典型HI作为条件输入  。沿着随机噪声和时间步长,该输入用于第上面章节中解释的模型。后续步骤包括基于模型的输出计算噪声数据  ,并迭代此过程直到  。此时,去噪数据  用作生成的时间序列。

    4 实验

    4.1 实验和设置

    数据集:我们在CMAPSS和FEMTO等工业时序数据集进行测试,与基于GAN的方法和其他扩散模型方法相比,所提出的Diff-MTS在多样性、保真度和实用性方面表现得更好。
    评估指标:为了全面评估生成模型的性能,我们使用各种指标[11][33]来评估生成数据的质量,重点关注三个关键标准:多样性、保真度、有用性。多样性:生成数据应广泛分布,以覆盖原始数据的范围。保真度:生成数据应与原始数据难以区分。有用性:当用于相同的预测目的时,生成数据应该是有用的,比如在生成数据上进行训练,在原始数据上进行测试。

    图4 可视化图
    可视化:我们对生成数据集和原始数据集进行了t-SNE和PCA分析,为定性评估生成样本的多样性提供了二维表示,如图4所示。
    判别分数:为了评估保真度,我们采用两层LSTM来训练时间序列的分类模型。我们将每个原始序列分类为“真实”,将每个生成的序列分类为“不真实”,然后训练一个两层LSTM分类器来区分这两个类别。我们将由生成时间序列和原始时间序列组成的数据集划分为70%用于训练集,10%用于验证集,20%用于测试集。测试集的分类精度提供了两个数据集之间相似度的数值度量。
    预测评分:为了评估有用性,我们利用生成数据集使用两层LSTM来训练时间序列预测模型。该模型预测了设备在每个输入序列上的HI。然后,我们使用均方根绝对误差(Root Mean Absolute Error, RMSE)作为度量来评估训练后的模型在原始测试数据集上的性能。通过利用这些方法,我们在多样性、保真度和有用性方面对生成数据的质量进行了彻底的评估。
    表3 与C-MAPSS数据集方法的比较结果

    5 总结

    本文把Diff-MTS作为一种时间增广的条件自适应扩散模型,用于工业MTS数据的生成。Diff-MTS算法有效地解决了GAN训练中遇到的不收敛和不稳定问题,能够从高斯噪声中恢复出高保真的信号。实验结果表明,Diff-MTS算法的性能优于基于GAN的方法,为工业大规模模型的训练提供了良好的解决方案,能够生成高质量的工业数据。
    在未来的工作中,我们计划研究大型语言模型(Large Language Models, LLM)与工业信号生成模型的集成。例如,通过将LLM与时间序列预测模型相结合,LLM可以增强其特征表示能力。此外,给定工业设备的MTS数据,LLM可以提供有关设备故障状态或健康指标的信息,并提供维护建议。

    编辑:曹希铭

    校核:李正平、陈凯歌、赵栓栓、赵学功、白亮、任超、海洋、冯珽婷、陈宇航、陈莹洁、王金

    该文资料搜集自网络,仅用作学术分享,不做商业用途,若侵权,后台联系小编进行删除
    点击左下角阅读原文,即可在线阅读论文。

    来源:故障诊断与python学习
    ACTSystem化学航空航天ANSAUG海洋UM电机数字孪生控制人工智能
    著作权归作者所有,欢迎分享,未经许可,不得转载
    首次发布时间:2025-01-11
    最近编辑:2小时前
    故障诊断与python学习
    硕士 签名征集中
    获赞 77粉丝 78文章 166课程 0
    点赞
    收藏
    作者推荐

    手把手教你安装GPU版Pytorch环境及手把手带大家跑通第一个故障诊断案例!!!(上)

    故障诊断方向而言,无论是信号处理、特征提取、故障分类还是寿命预测,所有的方法实现基本都依靠于Python代码,很多小白遇到的第一个拦路虎便是代码环境的配置。Pytorch是Python第三方库的一种,里面包含很多深度学习机器学习的函数,Pytorch本身有两个版本,一个是简便的CPU版本,一个是高速高效的GPU版本。另外代码编辑器可以直接用于编写、编辑和运行代码。它们提供了代码高亮、自动补全、代码调试、版本控制集成等功能,以提高开发效率和代码质量,也是故障诊断相关代码的必备工具之一。本期给大家带来Pytorch环境(Anaconda)安装教程,并附带代码编辑器配置过程。每一部分内容都附带推荐的视频教程以及教程链接,保证每一位故障诊断学习者都能搭建自己的代码平台。此外,后续文章还手把手带大家跑通第一个故障诊断案例,代码包含数据处理,1DCNN模型搭建,模型训练,以及模型评估等故障诊断完整过程,特别适合研一、研二小白入门。 本期涉及代码非常详细,所占篇幅也非常多,所以分三次呈现给大家,该文章是本期第1篇文章,主要介绍了Python环境以及各个软件环境安装。第2篇文章主要介绍西储大学数据集以及一些所需深度学习基础知识,文章后半部分讲解了本期代码的数据预处理以及数据切割等部分。第3篇文章主要构建1DCNN模型框架以及模型训练模型检测等内容。软件及环境链接:通过点击最左下角的阅读原文进行在线下载。目录1 引言2 安装Anaconda 2.1 Anaconda介绍 2.2 Anaconda安装3 配置Pytorch环境(CPU版) 3.1 Pytorch介绍 3.2 Pytorch配置教程(CPU版)4 配置Pytorch环境(GPU版) 4.1 两种Pytorch区别(看是否支持GPU) 4.2 CUDA安装 4.3 Pytorch配置教程(GPU版)5 配置代码编辑器 5.1 代码编辑器区别 5.2 VScode编辑器 5.3 Pycharm编辑器 5.4 JupyterNotebook编辑器注:以上为本篇内容,小编能力有限,如有不恰之处,请多多指正~6 故障诊断代码示例 (重中之重) 6.1 代码介绍 6.2 检验环境 6.3 故障诊断实战代码1 引言在学习故障诊断相关代码时,拥有一个强大且灵活的开发环境是至关重要的。Anaconda和Pytorch正是这样的工具,它们为我们提供了一个完整的生态系统,用于进行数据分析、模型训练和部署,是目前常用的工具软件资源。虽然网上Anaconda及Pytorch安装教程资源比较丰富,但对一些细节部分,比如在安装GPU版本的Pytorch时,是否需要安装CUDA、以及如何查看CUDA版本等问题上仍存在一些歧义。本文将用通俗易懂的语言及方法带大家了解这些概念,并选择自己最合适的方法。此外,本文提供了下载GPU版Pytorch的快捷方式,以及通俗易懂的视频教程链接,为读者朋友们在安装过程中尽可能带来更多的便利。本期第2篇、第3篇提供了故障诊断实例以及学习代码的必备基础知识,代码包含数据处理,1DCNN模型搭建,模型训练,以及模型评估等故障诊断完整过程,为读者朋友们提供了基本的代码框架。总的来说,本期文章旨在为初学者及入门小白提供一个全面的指南,第1篇科普一些基本概念的同时,提供详细操作过程,帮助大家安装和配置Anaconda环境,以及在该环境中配置Pytorch(包含CPU和GPU两种版本)。此外,本期第2篇、第3篇还带大家学习一个完整故障诊断代码示例,深入学习故障诊断代码的各个框架,为接下来学习打下夯实的基础。无论您是在寻找一个全新的开发环境,还是希望优化现有的工作流程,本期文章都将为您提供必要的指导和资源。2 安装Anaconda2.1 Anaconda介绍Anaconda是一个流行的开源Python配置环境集 合,它包含了大量的科学计算、数据分析和机器学习库。它通过Conda包管理器简化了环境管理和依赖关系,使得安装、运行和更新软件包变得异常简单。Anaconda的另一个显著特点是它提供了一个集成的IDE(集成开发环境),即AnacondaNavigator,这使得项目管理和工具集成变得更加直观。总的来说,不同故障代码的所需环境有可能不同,而使用Anaconda可以直接管理项目环境,特别适用于小白新手用于搭建所需的不同环境。2.2 Anaconda安装教程2.2.1 下载1)官网下载网站:https://www.anaconda.com/download图1 Anaconda官网2) 文末获取点击文末阅读原文,您将获得Anaconda安装包、清华镜像源文件,代码编辑器等本期文章涉及的相关文件。2.2.2 安装1) 双击程序管理员运行 图2 Anaconda安装步骤12) 点击Next图3 Anaconda安装步骤23) 点击同意图4 Anaconda安装步骤34)选择合适存储位置图5 Anaconda安装步骤45)选择全部选项图6 Anaconda安装步骤56)点击Next图7 Anaconda安装步骤67)点击Next图8 Anaconda安装步骤78) 取消全部选项,点击Finish图9 Anaconda安装步骤82.2.3 配置环境1)设置里选择系统图10 配置步骤12)选择高级系统设置图11 配置步骤23) 环境变量图12 配置步骤34) 清除之前的环境路径分别连续单击两下 Path 第一步、第二步,看自己的环境变量路径中是否Pythonanaconda\Scriptanaconda\Library\bin 等关于 Python 和 anaconda 的路径,如果有的话直接删除。5) 新建路径在系统变量中点击Path,点击新建,然后点击浏览,找到之前Anaconda安装文件(D:\Software\Anaconda\Anaconda)中Scripts文件,生成一条环境变量。继续点击新建,浏览,找到之前Anaconda安装文件(D:\Software\Anaconda\Anaconda)中的bin文件生成一条环境变量。图13 配置步骤46) 完成配置,一步一步点击确定退出即可。7) 检验环境变量是否配置成功Win+R后输入cmd,管理员运行进入命令提示符,然后命令输入conda --version图14 配置步骤5如果输出conda 24.1.2之类的就说明环境变量设置成功了。3 配置Pytorch环境(CPU版)3.1 Pytorch介绍Pytorch是一个开源的机器学习库,由Facebook的AI研究团队开发。它以其动态计算图和易用性而闻名,特别适合于研究和快速原型开发,也是故障诊断代码常用的框架之一。Pytorch提供了两个版本:CPU版和GPU版。GPU版可以显著加速深度学习模型的训练和推理过程,但需要相应的硬件支持和CUDA环境。在安装GPU版的Pytorch时,网上对CUDA的安装众口不一,经过小编查询如果只用Pytorch框架,可以不安装CUDA,安装GPU版的Pytorch会自带cuda,如果使用tensorflow框架则需安装CUDA,具体讲解链接如下。https://docs.infini-ai.com/posts/where-is-cuda.htmlhttps://blog.csdn.net/m0_61141741/article/details/134710343本章节首先介绍CPU版Pytorch安装,CPU版安装具有操作简单,速度快的特点,适合所有电脑安装,特别是没有独显的电脑。3.2 Pytorch配置教程(CPU版)3.2.1 常见Anaconda相关指令#查看 python 环境conda env list#安装 python 环境conda create -n python311 python=3.11# 卸载 python 环境conda remove -n python311 --all#激活环境activate python311#安装第三方包pip install numpy#卸载第三方pip uninstall numpy# 列出当前环境下的所有库 conda list # 安装NumPy库,并指定版本1.21.5 pip install numpy==1.21.5 -i https://pypi.tuna.tsinghua.edu.cn/simple # 安装Pandas库,并指定版本1.2.4pip install Pandas==1.2.4 -i https://pypi.tuna.tsinghua.edu.cn/simple# 查看当前环境下某个库的版本(以numpy为例) pip show numpy # 退出虚拟环境 conda deactivate3.2.2 安装教程1) Win+R后输入cmd,管理员运行进入命令提示符。2) 创建名为“环境名”的虚拟环境,并指定Python的版本。 conda create -n python311 python=3.11图15 创建环境名3) 进入名为“环境名”的虚拟环境 conda activate python3114) 安装Python第三方库在安装第三方库时,清华镜像源在国内服务器上提供了高速稳定的服务,这样可以加快安装第三方库的速度,并且在访问时更加稳定可靠。对于我们批量安装第三方库,相当于开了一个加速器,所以第一步要按照下面教程配好镜像源,然后按教程批量安装即可。a.点击文末阅读原文获得所需文件b.配置文件首先打开打开 C:\用户\你的电脑管理员名称文件(是自己的 用户名称 文件夹,不是公共,也不是Default),然后在此文件夹里面新建一个文件夹名称为 pip,把下载好的 pip.ini 文件 放进 pip 文件夹中即可,如下图所示。图16 配置Pip步骤1图17 配置Pip步骤2图18 配置Pip步骤3这样就配置好了清华镜像源,以后 pip命令下载第三方库的时候,就不需要每次都手动 添加镜像源命令了。5)批量安装把Pip.txt文件下载到自己电脑上,比如现在的文件位于D:\Software\ Anaconda目录下面。首先,Win+R后输入cmd,管理员运行进入命令提示符,输入activate DL激活Anaconda管理的Python环境,然后输入:d:定位到D盘,接着输入:cd Software\Anaconda定位到Pip.txt文件下。图19 批量安装步骤1最后,输入安装命令,进行批量安装。pip install -r Pip.txt图20 批量安装步骤26) 安装其他库上述文件覆盖了绝大多数库,如果需要安装其他库,则直接管理员运行命令提示符,然后激活环境,输入相应指令即可完成安装需要的库。此时,CPU版本的环境已经搭建完毕,可以运行相关代码开始故障诊断学习之旅。4 配置Pytorch环境(GPU版) 4.1 两种Pytorch区别(看是否支持GPU) Pytorch提供了两个版本:CPU版和GPU版。GPU版可以显著加速深度学习模型的训练和推理过程,但需要相应的硬件支持和CUDA环境。对计算机而言,中央处理器CPU是主板上的芯片,图形处理器GPU是显卡 上的芯片。每台计算机必有主板,但少数计算机可能没有显卡。目前显卡有三家厂商:Intel、Nvidia、AMD。深度学习所需要的显卡是Nvidia, 没有此显卡的同学无法进行GPU加速。查看自己的计算机的显卡的方法是:任务管理器——性能——左侧栏划到最下面。图21 查看显卡如图所示,CPU下方是Nvidia,由此支持GPU版本的Pytorch。 4.2 CUDA安装NVIDIA 显卡中的运算平台是CUDA,即使计算机有NVIDIA显卡,但显卡中也不一定含有CUDA,没有的话就要下载CUDA。而Pytorch 的下载组件里也会包含一个内置的cuda,所以如果仅使用Pytorch,也可以不下载CUDA。对于CUDA查看指令,网上也众口不一,通过查询资料,小编找到相对可信的代码查看指令,首先输入Win+R后输入cmd,进入命令提示符,输入nvcc -V查看安装版本。如果显示“nvcc -V不是内部或外部命令”,则说明需要安装CUDA。接着输入nvidia-smi查看支持的CUDA版本。图22 查看CUDA版本4.2.1 CUDA下载1)官网下载CUDA的下载链接:https://developer.nvidia.com/cuda-toolkit-archive图23 CUDA下载网站2) 文末获取4.2.2 CUDA安装1)下载好之后,点击exe文件,选择临时的解压文件夹。图24 CUDA安装步骤12)解压好后,进入如下图安装界面,同意并继续。图25 CUDA安装步骤23)点击“自定义”图26 CUDA安装步骤34)仅仅选择CUDA选项,并取消CUDA中关于VS的选项。图27 CUDA安装步骤45)完成后,按照默认的C盘路径进行安装。图28 CUDA安装步骤56)安装结束图29 CUDA安装步骤67) 输入nvcc -V查看安装版本图30 CUDA安装步骤74.3 Pytorch配置教程(GPU版)4.3.1 创建虚拟环境1) Win+R后输入cmd,管理员运行进入命令提示符。2) 创建名为“环境名”的虚拟环境,并指定Python的版本。 conda create -n 环境名 python=3.11图31 创建环境3) 进入名为“环境名”的虚拟环境 conda activate DL311 4) 安装Pytorch库进Pytorch官网:PyTorch,根据自己电脑情况选择合适的Pytorch安装包。图32 获取安装命令 复 制下方代码,并在DL311环境下运行。pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 5)安装其他库时,可以安装CPU方法直接安装。5 配置代码编辑器5.1 代码编辑器代码编辑器是用于编写、编辑和运行代码的工具。它们通常提供了代码高亮、自动补全、代码调试、版本控制集成等功能,以提高开发效率和代码质量。1) Jupyter Notebook用途:主要用于数据分析、科学计算和机器学习领域,支持交互式编程,可以方便地展示代码、计算结果、可视化图表和文档。特点:支持多种编程语言(主要是Python),允许将代码、输出结果和解释性文本整合在一个文档中,便于分享。2) Visual Studio Code (VSCode)用途:是一个轻量级但功能强大的源代码编辑器,支持多种编程语言,包括Python、JavaScript、C++等。特点:提供了丰富的插件生态系统,可以扩展其功能。它支持代码调试、版本控制集成(如Git)、代码高亮和自动补全等。3) PyCharm用途:是一个专为Python开发的集成开发环境(IDE),提供了许多针对Python开发的特性。特点:提供了代码分析、智能代码补全、项目结构导航、版本控制集成等功能。PyCharm有两个版本:免费的Community Edition和付费的Professional Edition,后者提供了更多高级功能,如Web开发和数据库支持。5.1.1 编辑器区别交互性:Jupyter Notebook以其交互性著称,适合于快速迭代和数据探索。VSCode和PyCharm则更侧重于完整的开发周期,包括代码编写、调试和版本控制。语言支持:Jupyter Notebook主要支持Python,而VSCode和PyCharm支持多种编程语言。集成度:PyCharm作为一个IDE,提供了更完整的集成开发环境,包括项目管理、调试和测试工具。VSCode虽然是一个编辑器,但通过插件也可以实现类似的功能。用户界面:Jupyter Notebook的界面更倾向于文档和笔记本风格,而VSCode和PyCharm则提供了更传统的代码编辑器界面。性能:对于大型项目,VSCode和PyCharm可能在性能上更优,因为它们对大型文件和复杂项目结构有更好的优化。社区和插件:VSCode拥有一个非常活跃的社区和大量的插件,这使得它在功能上非常灵活和强大。5.2 VScode编辑器安装1)官网下载安装包(文末也提供安装包)Visual Studio Code - Code Editing. Redefined2)双击安装图33 VScode安装步骤13) 选择安装地址图34 VScode安装步骤24)选择附加任务图35 VScode安装步骤35)安装汉化插件图36 安装汉化插件6)安装Jupyter插件图37 安装Jupyter插件7)安装Python插件图38 安装Python插件5.3 Pycharm编辑器5.3.1 Pycharm安装Pycharm安装教程,往期已发布。具体如下链接,本期在这里只讲如何加入我们所创的Python环境。初学者必看 | Python及PyCharm安装教程1) 打开Pycharm,点击文件,选择设置。 图39 Pycharm添加环境步骤12)点击项目:Pycharm代码,选择Python解释器。点击齿轮,选择添加。图40 Pycharm添加环境步骤23)点击conda环境,选择现有环境,添加所需环境。图41 Pycharm添加环境步骤34) 安装完成图42 配置完成5.4 JupyterNotebook编辑器Anaconda附带了数据分析常用的Jupyter Notebook,之前被称为 IPython notebook,是一个交互式笔记本。Jupyter Notebook 的本质是一个 Web应用程序,可以将代码、图像和文档全部组合到一个web文档中,便于创建和共享程序文档,支持实时代码,数学方程,可视化和markdown,在数据清理和转换,数据分析,统计建模,机器学习等方面应用广泛。具体使用过程,之前的文章有教学,这里不再赘述,小编推荐使用前两个编码器,而且二选一即可,如果对JupyterNotebook感兴趣,可以点击下方链接。基于Anaconda的Python及jupyter notebook编辑器的安装教程注:由于文章篇幅有限,代码部分见下一期内容,大家先根据步骤安装相应软件,下期内容首先带大家用代码检验自己环境Pytorch是否支持GPU加速,然后用安装的环境分别跑一个入门代码,学习故障诊断及深度学习基础知识,最后比较一下速度。注:上述相关安装可参考以下视频链接 【Python深度学习:安装Anaconda、Pytorch(GPU版)库与PyCharm】https://www.bilibili.com/video/BV1cD4y1H7Tk?vd_source=cae3d8d89802cd2ce396a8215379c3ca 编辑:赵栓栓校核:李正平、陈凯歌、曹希铭、赵学功、白亮、王金、陈莹洁、陈宇航、任超、海洋、Tina该文资料搜集自网络,仅用作学术分享,不做商业用途,若侵权,后台联系小编进行删除点击左下角阅读原文,即可在线阅读论文。 来源:故障诊断与python学习

    有附件
    未登录
    还没有评论
    课程
    培训
    服务
    行家
    VIP会员 学习计划 福利任务
    下载APP
    联系我们
    帮助与反馈