python
文章平均质量分 91
E寻数据
擅长数据分析、机器学习、深度学习相关技术。
展开
-
kaggle竞赛系列基于图像对水稻分类代码案例
代码实现了一个完整的水稻图像分类任务,涵盖数据预处理、数据加载、模型定义、训练和评估等步骤。首先,通过安装和导入必要的库来准备环境,并使用 splitfolders 库将水稻图像数据集划分为训练集、验证集和测试集。接着,定义了数据增强和预处理的变换操作,并加载了数据集,创建相应的数据加载器。代码还包括数据可视化部分,用于检查数据加载和预处理是否正确。然后,定义了一个卷积神经网络模型,并使用交叉熵损失函数和Adam优化器对模型进行训练,同时实现早停机制以防止过拟合。并通过绘制准确率和损失图来评估模型的性能。原创 2024-05-31 16:36:29 · 1383 阅读 · 0 评论 -
kaggle使用深度学习的logistic回归方法实现疟疾细胞图像分类
import os这段代码是一个典型的Python导入语句集,涵盖了在进行机器学习和图像处理项目中常用的库和模块。numpy (np: 一个强大的数学库,提供高效的多维数组对象和大量操作这些数组的函数,是科学计算中广泛使用的工具。pandas (pd: 提供高性能、易用的数据结构和数据分析工具,非常适合用来处理结构化数据。os: 用于与操作系统进行交互,比如读取文件路径、管理目录。plt和seaborn (snsmatplotlib是Python中的一个绘图库,非常适合创建静态、动态和交互式的可视化。原创 2024-04-22 16:57:33 · 897 阅读 · 0 评论 -
太卷了,Meta最强开源大模型Llama 3开源了,不要错过
在AI的快速发展中,大型语言模型如雨后春笋般涌现,它们正在重塑我们处理数据和生成语言的方式。Meta Llama 3 是最新一代的语言模型,它不仅在技术上有显著的进步,更以其易于获取和使用性质,使得个人和企业都能够利用这些先进工具来推动创新。一旦您的请求获得批准,您将通过电子邮件收到一个包含下载链接的邮件。这是一个自动化的过程,旨在减少用户操作的复杂性,确保下载过程的顺利进行。这条命令将安装所有必要的 Python 依赖,并将您的项目目录设置为 Python 模块,这样您就可以从任何地方调用它。原创 2024-04-19 14:56:43 · 558 阅读 · 0 评论 -
kaggle咖啡销售分析案例侧重可视化折线图条形图扇形图柱状图
这段代码是用于导入进行数据分析和可视化所需的Python库的标准代码。numpy (np): 提供了支持大量维度数组与矩阵运算的函数库,是科学计算的基础包。广泛用于数据处理中的各种数学运算。: 是Python的一个数据分析库,提供了高效地操作大型数据集所需的工具和数据结构,如DataFrame。: 是一个非常流行的绘图库,提供了一种类似于MATLAB的绘图系统。用于创建静态、动态、交互式的图表。: 基于matplotlib的数据可视化库,提供了一种高级接口,专注于统计图形的绘制。原创 2024-04-19 11:22:56 · 1117 阅读 · 0 评论 -
kaggle电子邮件分类xgboost建模可视化模型评估混淆矩阵范例
在这篇博客中,我们将探索使用机器学习技术对电子邮件进行分类的任务,即将电子邮件分类为“垃圾邮件”或“正常邮件”。所谓“垃圾邮件”,指的是未经请求或不受欢迎的电子邮件;而“正常邮件”则指合法的电子邮件。我们将采用强大的XGBoost分类器,构建一个健壮的模型来执行此分类任务。这篇博客将详细介绍从数据预处理到模型训练及评估的整个过程,使用Kaggle竞赛中的代码示例,帮助小伙伴们理解如何实现一个电子邮件分类系统。原创 2024-04-19 10:14:25 · 1869 阅读 · 0 评论 -
趣味python系列:如何批量的给图片加水印
本文介绍了一个Python脚本,用于批量添加文字水印到PNG图片中。该脚本允许用户指定图片目录、水印文本、水印位置及其透明度。通过此脚本,用户可以轻松地在多个图片上添加自定义的文字水印,这在处理版权保护或个性化图片时非常有用。不过这里仅仅是写了一个简单的demo。导入所需模块import os导入os模块来处理文件和目录,PIL库用于图像处理。获取用户输入path = input('请输入要添加水印的图片所在路径:')text = input('请输入水印文字:')原创 2024-04-18 15:42:27 · 362 阅读 · 0 评论 -
huggingface实现Bark模型
方法是模型的核心,定义了模型的前向传播过程。方法定义了模型的前向传播过程,接受多个参数,包括输入 ID、过去的键值对、注意力遮罩、位置 ID、头遮罩、标签、输入嵌入、是否使用缓存、是否输出注意力和隐藏状态以及是否返回字典形式的输出。方法定义了模型的前向传播过程,接受多个参数,包括码本索引、输入 ID、注意力遮罩、位置 ID、头遮罩、标签、输入嵌入、是否输出注意力和隐藏状态以及是否返回字典形式的输出。配置的类,它定义了模型的架构,包括语义子模型、粗糙声学子模型、细致声学子模型和编解码子模型的配置。原创 2024-03-10 11:41:40 · 1051 阅读 · 0 评论 -
YOLOv8加入AIFI模块,附带项目源码链接
YOLOv8" 是一个新一代的对象检测框架,属于YOLO(You Only Look Once)系列的最新版本。YOLOv8中提及的AIFI(Attention-based Intrascale Feature Interaction)模块是一种用于增强对象检测性能的机制,它是对YOLO架构中的SPPF(Spatial Pyramid Pooling-Fast)模块的替代或改进。: 这是一种快速且准确的对象检测方法,它只需单次查看("You Only Look Once")即可检测图像中的对象。原创 2024-01-22 12:03:30 · 1479 阅读 · 0 评论 -
使用AFPN渐近特征金字塔网络优化YOLOv8改进小目标检测效果(不适合新手)
这张图是一个气泡图,用于比较不同的特征金字塔网络(Feature Pyramid Networks,简称FPNs)在目标检测任务中的平均精度(Average Precision,简称AP)和模型参数数量(以百万为单位)。X轴(Params (M)):表示模型的参数数量,单位是百万(M)。参数越多,可能意味着模型更复杂,能够捕获更多细节,但也可能导致过拟合,并需要更多的计算资源。Y轴(Average Precision):这是评价目标检测器在特定数据集(通常是MS COCO数据集)上准确度的一个指标。原创 2024-01-20 12:13:41 · 2509 阅读 · 2 评论 -
超越yolo系列的RT-DETR目标检测原理与简介
T-DETR是第一个实时端到端目标检测器。具体而言,我们设计了一个高效的混合编码器,通过解耦尺度内交互和跨尺度融合来高效处理多尺度特征,并提出了IoU感知的查询选择机制,以优化解码器查询的初始化。此外,RT-DETR支持通过使用不同的解码器层来灵活调整推理速度,而不需要重新训练,这有助于实时目标检测器的实际应用。原创 2024-01-20 10:39:59 · 1446 阅读 · 0 评论 -
PyTorch视觉工具箱:图像变换与上采样技术详解(2)
在这篇博客中,我们探讨了PyTorch中几个关键的视觉函数,它们在进行图像和视频处理时扮演着重要的角色。和用于上采样操作,通过最近邻和双线性插值方法来增加输入张量的空间尺寸;用于更复杂的空间变换,允许根据提供的网格对输入张量进行采样和变换;生成用于空间变换的采样网格,通常与结合使用来构建空间变换网络。所有这些函数都支持多种插值和填充模式,提供了对图像的高级操作能力。原创 2024-01-19 16:20:49 · 1003 阅读 · 0 评论 -
PyTorch视觉工具箱:图像变换与上采样技术详解(1)
这些函数的使用依赖于精确的参数设置和对应用场景的理解。每个函数都有其独特的应用范围和参数要求,如填充大小、缩放因子、插值模式等。在使用这些函数时,重要的是要注意它们在不同模式和参数下的行为,以及它们如何影响最终的输出结果。这些视觉函数为处理图像和视频数据提供了灵活而强大的手段,从基本的像素操作到复杂的空间变换,都是现代计算机视觉和深度学习应用不可或缺的部分。原创 2024-01-19 15:51:31 · 1385 阅读 · 0 评论 -
PyTorch各种损失函数解析:深度学习模型优化的关键(2)
本文提供了对 PyTorch 中多种损失函数(Loss functions)的详细解析,包括其用途、使用方法、重要注意事项和数学理论公式。这些损失函数涵盖了从回归问题(如mse_loss和huber_loss),多标签分类(如和),到复杂的相似度学习(如和)等多种机器学习任务。每种损失函数都有其特定的应用场景和优化目标,例如mse_loss用于计算预测值和真实值之间的均方误差,适合于回归任务;而则用于学习数据点之间的相似度,常用于特征嵌入和相似度学习。原创 2024-01-18 16:06:49 · 1391 阅读 · 0 评论 -
PyTorch各种损失函数解析:深度学习模型优化的关键(1)
本博客介绍了PyTorch中多种损失函数的应用和原理,包括二元交叉熵损失(BCE和BCE with logits)、泊松负对数似然损失、余弦嵌入损失、交叉熵损失、连接主义时序分类(CTC)损失、高斯负对数似然损失、铰链嵌入损失、Kullback-Leibler(KL)散度损失和L1损失。每种损失函数都有其特定的应用场景,从简单的二分类问题到复杂的序列对齐和概率分布比较,这些损失函数在深度学习模型的训练过程中发挥着关键作用。原创 2024-01-18 10:35:44 · 1900 阅读 · 0 评论 -
PyTorch 中的距离函数深度解析:掌握向量间的距离和相似度计算
和pdist。这些函数在深度学习和机器学习中非常重要,用于计算向量之间的距离和相似度,从而支持各种算法如聚类、k-最近邻、特征相似度度量等。每个函数都有其特定的应用场景和数学原理。计算两组向量间的成对欧几里得距离,计算两个张量间的余弦相似度,而pdist则计算一个张量内各行向量间的 p 范数距离。通过这些函数,我们能有效地分析和处理数据,特别是在高维空间中。原创 2024-01-18 09:28:45 · 2570 阅读 · 0 评论 -
PyTorch 稀疏函数解析:embedding 、one_hot详解
本篇博客探讨了 PyTorch 框架中几个关键的稀疏函数,包括embedding和one_hot。这些函数在处理自然语言处理(NLP)任务和其他需要高效、灵活处理大量类别或序列数据的应用中至关重要。embedding函数用于从预定义的嵌入矩阵中检索指定索引的嵌入向量,支持自定义嵌入矩阵大小、填充索引和范数限制。提供了一种高效的方法来处理变长序列,通过聚合(如求和、均值或最大值)嵌入向量,而无需单独处理每个序列。one_hot。原创 2024-01-17 11:20:41 · 1741 阅读 · 0 评论 -
Pytorch各种Dropout层应用于详解
本文解析了 PyTorch 框架中的几种关键的 dropout 函数,包括dropoutdropout1ddropout2d和dropout3d。每种方法都针对不同的数据维度和网络特点,提供了有效的过拟合防止和模型正则化策略。原创 2024-01-17 11:01:15 · 2762 阅读 · 0 评论 -
掌握 torch.nn.functional 中的 Linear 和 Bilinear 函数
介绍了这两个函数的基本用途、参数详解、使用技巧,还通过具体的代码示例展示了如何在实践中应用这些函数。linear函数用于实现基本的线性变换,适用于神经网络的构建和特征变换;而bilinear函数则用于处理两个输入数据的交互,特别适合于更复杂的场景,如图像处理或推荐系统。原创 2024-01-17 09:31:55 · 2278 阅读 · 0 评论 -
深入理解 PyTorch 激活函数:从基础到高效实用技巧(4)
这个公式表示输入值的指数减去其负指数,然后除以这两个指数的和。结果是一个在 -1 和 1 之间的输出,提供了一个平滑的非线性变换。这个公式表示计算输入值的负指数,加 1 后取其倒数。结果是一个在 0 和 1 之间的输出,提供了平滑的非线性变换。如果x ≤ -3,则。如果x ≥ +3,则。否则,。这个公式将输入值分为三个区域:小于等于 -3 的区域输出为 0,大于等于 +3 的区域输出为 1,介于这两者之间的区域输出为。其中σ(x)是逻辑 Sigmoid 函数。这意味着每个输入值x。原创 2024-01-16 14:58:09 · 1453 阅读 · 0 评论 -
深入理解 PyTorch 激活函数:从基础到高效实用技巧(3)
在数学上,这相当于取 Sigmoid 函数的输出并对其应用自然对数。对数 Sigmoid 函数平滑地将每个元素映射到负无穷大到零的区间,提供了一种平滑的方式来处理接近于0和1的极端值。如果,则保持x不变。如果,则将x设为 0。这种方法通过硬阈值将输入张量中绝对值较小的元素设置为零,而保持其它元素不变。这个公式表示每个元素的值减去其双曲正切值。函数的输出是输入值和其双曲正切的差值,这种设计在输入值较小(接近零)时,输出接近零,而在输入值较大时,输出趋于饱和。原创 2024-01-16 10:27:45 · 1601 阅读 · 0 评论 -
深入理解 PyTorch 激活函数:从基础到高效实用技巧(2)
α(alpha)是一个预定的常数,约为 1.6732632423543772848170429916717。scale是另一个预定的常数,约为 1.0507009873554804934193349852946。exp(x)表示x的指数函数 e^x(e 是自然对数的底数)。函数中的max(0, x)和组合保证了当 x 为负时有一个平滑的负饱和状态,而 x 为正时的行为类似于线性函数。这里的exp(x / α)表示x / α的指数函数 e^(x/α)。对于正值输入,CELU 函数的行为类似于线性函数。原创 2024-01-16 09:50:43 · 1434 阅读 · 0 评论 -
深入理解 PyTorch 激活函数:从基础到高效实用技巧(1)
当 x ≤ -3,HardSwish(x) = 0当 x ≥ +3,HardSwish(x) = x否则,HardSwish(x) = x * (x + 3) / 6这意味着,如果输入 x 小于 0,输出为 0;如果输入 x 大于 6,输出为 6;否则输出为 x 本身。当 x > 0 时,ELU(x) = x当 x ≤ 0 时,ELU(x) = α * (exp(x) - 1)这个函数的目的是在保持 ReLU 正值特性的同时,为负输入值提供一个平滑的饱和转换。原创 2024-01-16 09:26:18 · 1181 阅读 · 0 评论 -
了解PyTorch中的缩放点积注意力及演示
是一个强大的PyTorch函数,用于实现缩放点积注意力机制。它通过计算查询、键和值之间的关系,为深度学习模型提供了一种有效的方式来捕获和关注重要信息。适用于各种序列处理任务,此函数特别适合于复杂的自然语言处理和计算机视觉应用。其高效的实现和可选的优化内核使其在处理大规模数据时表现卓越。原创 2024-01-11 10:02:21 · 1439 阅读 · 0 评论 -
PyTorch 各种池化层函数全览与用法演示
在 PyTorch 中,池化层函数是卷积神经网络(CNN)中的重要组成部分,用于降维、特征提取和防止过拟合。这些函数包括不同类型和维度的池化操作,如平均池化、最大池化和自适应池化,适用于处理一维、二维和三维数据。每种池化操作都有其特定的应用场景和参数设置,提供了灵活性以适应不同的深度学习需求。原创 2024-01-11 09:34:08 · 1812 阅读 · 1 评论 -
pytorch详细探索各种cnn卷积神经网络
PyTorch 的子模块提供了一系列功能强大的函数,用于实现卷积神经网络中的关键操作。这些函数涵盖从基本的卷积操作到高级数据变换技术,使其成为处理和分析图像、音频和视频数据的重要工具。这些函数的灵活性和多样性使其在深度学习领域中具有广泛的应用,如图像处理、音频分析、时间序列预测等。它们的高效实现和易用性进一步加强了 PyTorch 在科学研究和工业应用中的地位。原创 2024-01-10 10:34:08 · 1291 阅读 · 1 评论 -
nn.modules.lazy.LazyModuleMixin用法详解
是 PyTorch 中的一个混合类(mixin),它用于创建那些延迟初始化参数的模块,也就是“懒加载模块(lazy modules)”。这些模块从它们的第一次前向传播输入中推导出参数的形状。在第一次前向传播之前,它们包含,这些参数不应被访问或使用;在之后,它们包含常规的。原创 2024-01-10 09:50:17 · 477 阅读 · 0 评论 -
PyTorch: torch.nn 子模块及其在循环神经网络中的应用
本文介绍了 PyTorch 框架中torch.nn子模块的关键组成部分及其功能。这个模块提供了多种用于构建神经网络的预定义层,如全连接层、卷积层和循环神经网络层。特别强调了中的几个重要类和函数,如,它们在处理变长序列时特别有用。此外,还介绍了Flatten和Unflatten模块,这两个模块在处理多维数据时非常有用,前者将数据展平为一维,而后者则将一维数据还原为多维格式。整体上,本文提供了对 PyTorch 中重要网络构建模块的全面理解,强调了它们在实际应用中的重要性和灵活性。S_%7Bi%7D。原创 2024-01-10 09:44:05 · 1344 阅读 · 0 评论 -
torch.nn.utils.stateless.functional_call用法
是 PyTorch 中的一个函数,用于在不更改模块(如神经网络层)本身状态的情况下,暂时性地用提供的参数和缓冲区执行该模块的调用。这种方法特别适用于需要评估或测试模型在不同参数配置下的性能时,提供了一种高效、灵活的方式来进行无状态调用。该函数支持权重共享控制和严格性检查,但需要注意的是,这个 API 在 PyTorch 2.0 中已被弃用,建议使用其替代品。此功能适用于模型评估和测试,尤其是在需要频繁变更参数的场景中。原创 2024-01-09 10:30:37 · 905 阅读 · 0 评论 -
PyTorch 参数化深度解析:自定义、管理和优化模型参数
本篇博客探讨了 PyTorch 中子模块的强大功能和灵活性。它详细介绍了如何通过自定义参数化()来改变和控制模型参数的行为,提供了移除参数化()的方法以恢复模型到原始状态,并探讨了如何利用缓存机制(cached)来提高参数化参数在前向传播中的计算效率。此外,文章还解释了如何检查模型或其属性的参数化状态(),并深入了解了类在内部如何管理参数化参数。原创 2024-01-09 10:25:31 · 1687 阅读 · 0 评论 -
用pytorch给深度学习加速:正交与谱归一化技术
这篇博客探讨了PyTorch中的两种关键参数优化技术:正交参数化和谱归一化。正交参数化用于优化神经网络的权重矩阵,以保持其正交或酉性质,从而提高网络的训练稳定性和泛化能力。谱归一化则主要用于生成对抗网络(GANs),通过控制权重矩阵的谱范数来稳定判别器的训练。两种技术都是提高模型性能和训练效率的有效工具,适用于多种网络结构和应用场景。博客通过具体的代码示例,展示了如何在PyTorch中实现这些高级参数优化技术。原创 2024-01-09 09:07:45 · 2333 阅读 · 0 评论 -
零基础也可以探索 PyTorch 中的上采样与下采样技术
这篇博客深入探讨了 PyTorch 深度学习框架中的几个关键的图像上采样和下采样子模块,包括, 和。每个模块的用法、用途、关键技巧和注意事项都进行了详细的说明。和分别用于图像的超分辨率提升和降采样处理,而Upsample提供了多种上采样方法,包括最近邻和双线性插值等。和则专注于 2D 图像的最近邻和双线性上采样。原创 2024-01-08 10:45:50 · 1869 阅读 · 0 评论 -
探索PyTorch优化和剪枝技术相关的api函数
本文介绍了 PyTorch 深度学习框架中的子模块,重点关注优化和剪枝技术。我们探讨了如何通过各种方法,包括梯度裁剪 (和)、参数向量化 (和) 和剪枝技术(如等),来提高模型的训练效率和性能。此外,我们还探讨了如何应用和移除权重归一化 (和) 和谱归一化 (和) 来进一步优化模型,以及如何使用skip_init在不进行参数初始化的情况下实例化模块。原创 2024-01-08 18:20:50 · 1224 阅读 · 0 评论 -
PyTorch简单理解ChannelShuffle与数据并行技术解析
和。通过重排通道来提高网络性能,尤其在 ShuffleNet 架构中显著。和分别提供了模块级数据并行的实现。适用于单节点多GPU训练,而不仅在单节点多GPU训练中表现更佳,也支持大规模的分布式训练。这些模块共同使 PyTorch 成为处理复杂、大规模深度学习任务的强大工具。原创 2024-01-08 11:10:20 · 2017 阅读 · 0 评论 -
简单易懂的PyTorch 损失函数:优化机器学习模型的关键
目录torch.nn子模块Loss Functions详解nn.L1Loss用途用法使用技巧注意事项代码示例nn.MSELoss用途用法使用技巧注意事项代码示例nn.CrossEntropyLoss用途用法使用技巧注意事项代码示例使用类别索引使用类别概率nn.CTCLoss 用途用法使用技巧注意事项代码示例有填充的目标未填充的目标nn.NLLLoss用途用法使用技巧注意事项代码示例一维损失示例二维损失示例(例如,用于图像)nn.PoissonNLLLoss用途用法使用技巧注意事项代码示例nn.Gaussia原创 2024-01-07 10:35:50 · 1392 阅读 · 1 评论 -
PyTorch 简单易懂的实现 CosineSimilarity 和 PairwiseDistance - 距离度量的操作
和。模块专注于计算两个高维数据集之间的余弦相似度,适用于评估文档、用户偏好等在特征空间中的相似性。而模块提供了一种计算两组数据点之间成对欧几里得距离的有效方式,这在聚类、近邻搜索或预测与实际值之间距离度量的场景中非常有用。这两个模块共同构成了在多种机器学习和数据科学应用中处理和比较数据集的基础工具。原创 2024-01-07 09:49:04 · 2601 阅读 · 1 评论 -
PyTorch 简单易懂的 Embedding 和 EmbeddingBag - 解析与实践
本篇博客探讨了 PyTorch 中的和两个关键模块,它们是处理和表示离散数据特征的强大工具。提供了一种有效的方式来将单词或其他类型的标记映射到高维空间中,而以其独特的方式处理变长序列,通过聚合嵌入来提高计算效率。这两个模块不仅在自然语言处理中发挥关键作用,也适用于其他需要稠密特征表示的任务。此外,这些模块支持从预训练权重初始化,使其在迁移学习和复杂模型训练中极为重要。综上所述,和是理解和应用 PyTorch 中嵌入层的基础。原创 2024-01-07 09:42:43 · 2181 阅读 · 2 评论 -
PyTorch简单易懂的解析 Dropout Layers应用,代码示例
本篇博客全面详细地解析了 PyTorch 框架中的 Dropout Layers 系列,包括nn.Dropout和。这些模块是深度学习中重要的工具,用于提高模型的泛化能力并防止过拟合。文章不仅讲解了每种 Dropout 的用途和应用场景,还提供了相关的使用技巧、注意事项和代码示例。原创 2024-01-07 09:34:58 · 1946 阅读 · 1 评论 -
简单易懂的PyTorch线性层解析:神经网络的构建基石
本篇博客探索了 PyTorch 中torch.nn子模块中的几种关键线性层,包括IdentityLinearBilinear, 和LazyLinear。每个类别都被详细解析,强调了它们在神经网络中的独特角色和应用场景。从基础的Linear层,负责标准的线性变换,到更复杂的Bilinear层,用于建模两组输入特征间的交互关系,再到灵活而方便的LazyLinear层,自动推断输入特征大小,每种层都提供了不同的机制来处理和学习数据。原创 2024-01-05 11:08:03 · 1854 阅读 · 0 评论 -
简单易懂的理解 PyTorch 中 Transformer 组件
本篇博客深入探讨了 PyTorch 的torch.nn子模块中与 Transformer 相关的核心组件。我们详细介绍了及其构成部分 —— 编码器 () 和解码器 (),以及它们的基础层 ——和。每个部分的功能、作用、参数配置和实际应用示例都被全面解析。这些组件不仅提供了构建高效、灵活的 NLP 模型的基础,还展示了如何通过自注意力和多头注意力机制来捕捉语言数据中的复杂模式和长期依赖关系。原创 2024-01-05 10:41:46 · 3298 阅读 · 0 评论 -
简单易懂深入PyTorch中RNN、LSTM和GRU使用和理解
RNNBaseRNNLSTMGRU及其对应的单元格版本RNNCellLSTMCellGRUCell。每个类的功能、作用、参数和使用方法都得到了详细的解释和示例代码的支持。从基础的 RNN 架构到更复杂的 LSTM 和 GRU 结构,本文提供了深入了解这些强大的序列模型工具的机会,同时也展示了如何在实际场景中应用这些模型。这些类不仅对于理解序列数据的基本动态至关重要,而且在许多先进的深度学习应用中发挥着核心作用。原创 2024-01-05 10:24:16 · 2323 阅读 · 1 评论