自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

木梓油

工作学习记录

  • 博客(106)
  • 收藏
  • 关注

原创 英伟达软硬件生态全景系列2:300 万美元的 120kW 狂热

英伟达在GTC 2024发布革命性AI超算GB200 NVL72系统,单机柜集成72颗Blackwell GPU和36颗Grace CPU,采用全液冷设计。其核心规格包括:1.44万PFLOPS的FP8算力、13.4TB HBM3E显存(576TB/s带宽)以及130TB/s的NVLink全域互联,将分散算力融合为统一计算域。该系统专为万亿参数大模型设计,通过第五代NVLink技术将72GPU构建成超低延迟的"虚拟巨型GPU",单柜售价达300万美元,年耗电费用约14.2万美元,重新定义了AI超算的集成密度

2026-08-10 17:08:51 217

原创 英伟达软硬件生态全景系列1:从五层蛋糕了解英伟达产品矩阵与战略

英伟达AI五层蛋糕模型:从能源到行业的全栈布局 黄仁勋提出的AI五层蛋糕模型(能源→芯片→基础设施→模型→应用)已成为英伟达的战略框架,完整描绘了其AI全产业链布局。该模型强调底层能源是AI发展的硬约束,而各层级形成供需闭环:上层应用需求驱动底层算力升级。英伟达通过硬件产品矩阵(消费级/数据中心GPU、边缘计算、车载芯片等)和DGX/HGX等基础设施,构建了从芯片到AI工厂的完整能力。更关键的是以CUDA为核心的软件生态,通过开发者网络形成竞争壁垒。同时,英伟达已向上延伸至基础模型研发(如Nemotron、

2026-08-03 13:26:15 406

原创 监督学习算法 之 多项式回归

本文介绍了线性回归在处理非线性数据时的局限性,并提出了多项式回归的解决方案。通过房价预测案例说明线性回归无法准确拟合真实业务中的非线性关系。多项式回归通过对特征进行高次幂变换(如x²、x³)构造新特征,再使用线性回归拟合,从而能够刻画非线性关系。文章详细阐述了多项式回归的公式和原理,强调其核心在于将高次项视为新特征。应用时关键在于选择合适的多项式阶数:阶数过低会导致欠拟合,过高则会引起过拟合,推荐2-3阶适用于大多数业务场景。多项式回归扩展了线性模型的应用范围,但仍需注意模型复杂度控制。

2026-07-29 11:00:45 178

原创 监督学习算法 之 随机森林

摘要:随机森林通过集成多棵决策树提升预测准确性,弥补单棵决策树的不稳定性。其核心机制包括:1)有放回随机采样生成多样化的训练子集;2)节点分裂时随机选取特征子集。这种双重随机性确保每棵树独立学习不同数据视角,最终通过投票或平均方式整合群体智慧。相比单棵决策树,随机森林利用"集体决策"显著提高容错能力和泛化性能,是典型的"三个臭皮匠顶个诸葛亮"的机器学习实现。(149字)

2026-07-23 16:33:49 191

原创 监督学习算法 之 决策树

本文介绍了机器学习中的决策树算法。决策树模仿人类决策思维,通过分层判断规则(如挑选西瓜的步骤)进行预测,包括根节点、内部节点和叶节点。其核心是通过量化数据混乱度(使用熵或基尼系数)筛选最优划分特征,目标是降低数据混乱度、提升纯度。决策树生长策略是每次选择能最大降低混乱度的特征进行分裂,直到数据纯净或达到预设条件。决策树具有可解释性优势,适用于需要透明决策的场景,如金融风控、医疗诊断和设备故障预警等传统行业。

2026-07-22 14:56:30 219

原创 监督学习算法 之 逻辑回归

本文介绍了监督学习中的逻辑回归算法,用于解决分类问题。逻辑回归通过在线性回归结果上套用Sigmoid压缩函数,将输出值限定在0-1之间,对应事件发生的概率。Sigmoid函数将线性结果转化为S型概率曲线,0.5作为分类阈值。逻辑回归特别适合二分类场景(如疾病诊断、金融风控),具有模型简单、可解释性强、计算成本低、迭代快速等优势,尤其适用于监管严格的金融和医疗领域。文章包含Sigmoid函数图示及生成该曲线的Python代码示例。

2026-07-14 15:07:38 248

原创 监督学习算法 之 线性回归

本文介绍了线性回归这一基础机器学习算法。线性回归通过寻找特征与连续标签之间的线性关系进行预测,具有简单直观、计算高效的特点。文章从概念入手,用生活化例子解释"线性"和"回归"的含义,并详细说明了其数学模型(一元和多元线性回归)及优化目标(最小化均方误差损失函数)。文中分析了MSE损失函数的特性与适用场景,列举了房价预测等典型应用。最后提供了一个完整的Python实现示例,包括数据生成、模型构建和可视化展示,帮助读者直观理解线性回归的工作原理。该算法既是机器学习入门基础,也是许多复杂模型的构建基石。

2026-06-18 14:50:13 334

原创 机器学习之 定义与三大范式

本文系统梳理了机器学习的定义演变与三大学习范式。从历史发展看,机器学习概念始于1952年塞缪尔的跳棋程序,经多位学者不断完善:塞缪尔提出"不依赖显式编程的学习能力"(1956)、兰利强调"通过经验改善算法性能"(1996)、米切尔建立"任务-经验-性能"三要素框架(1997),到墨菲从概率视角定义模式识别与预测(2012)。机器学习主要分为三大范式:监督学习通过标注数据建立输入输出映射;无监督学习自主挖掘数据结构;强化学习通过环境反馈优化决策策略。这些范式共同构成机器学习方法论体系,推动着从ImageNet

2026-06-16 17:03:29 443

原创 从“画图”到“算数”:GPU如何站上AI时代的C位

当你在电影院观看某电影,被某个宏大逼真的光影特效震撼时,这个就是图形渲染(Rendering)。图形渲染:就是把三维世界,变成你屏幕上看到的二维图像。图形渲染的核心逻辑是:(1)世界由点、线、三角形​ 构成(2)屏幕由像素​构成(3)渲染的任务就是:计算每个像素该显示什么颜色为了让屏幕上的3D模型拥有真实感,计算机需要精确模拟每一束光线的传播、反射与折射,并计算出屏幕上数以百万计像素点的颜色。

2026-06-15 22:44:33 488

原创 用“去餐厅吃饭”,捋一下AI 技术栈

本文以"吃一顿饭"的场景类比AI技术栈,将其分为四个层次:应用层(用户交互界面,如服务员)、模型层(核心处理能力,如厨师)、数据层(高质量训练数据,如食材)和基础层(算力与硬件支持,如厨房设备)。文章强调AI三大支柱是算法(模型)、数据和算力,并指出"AI幻觉"类似于厨师因能力不足或食材差而做出错误菜品的现象。通过生活化比喻,帮助读者初步理解AI技术体系的基本架构和关键要素。

2026-06-06 23:57:54 232

原创 机器学习、深度学习,向“人类大脑”抄作业

你看到一只动物,辨认出这是一只猫,这个过程毫不费力,貌似不需思考。如果让你解释是怎么判断的,你会怎么说?就是人脑的神奇之处,它以一种我们难以言说的方式,高效地解决了极其复杂的问题。人脑中约有860亿个神经元,每个神经元通过突触接收来自其他神经元的信号,当信号累积超过某个阈值时,就会“激活”并向下一层神经元发送自己的信号。当你第一次看到一只猫时,大脑并不知道那是什么。但随着你一次次看到猫、并被告诉这是猫,某些神经元之间的连接会逐渐加强——这被称为“突触可塑性”。简单说,一起活跃的神经元会倾向于再次一起活跃。

2026-06-05 14:55:38 772

原创 什么是人工智能

【摘要】1956年达特茅斯会议被视为人工智能学科诞生的标志,麦卡锡等学者首次提出"人工智能"概念。AI是模拟人类智能的技术集合,包含机器学习、计算机视觉等多个领域。其发展历经三大流派:符号主义(基于规则推理)、连接主义(神经网络学习,当今主流)和行为主义(环境试错)。AI发展呈现三波浪潮:早期符号逻辑、中期专家系统,直至2006年后深度学习崛起,ChatGPT等大模型标志着技术进入通用生成式阶段。核心驱动要素为大数据、算力与算法突破。(149字)

2026-06-05 14:37:28 411

原创 带你入门,在Windows玩转Docker Desktop

Docker是一个开源平台,用于开发、部署和运行应用程序的容器化技术。它通过容器实现应用程序与基础设施的分离,提供轻量级、隔离的运行环境,相比虚拟机更高效。Docker采用客户端-服务器架构,支持镜像、容器和仓库等核心概念。在Windows系统上运行Docker需要满足硬件虚拟化等条件,并依赖WSL2提供Linux环境支持。Docker Desktop提供了图形化界面管理容器、镜像、卷和构建等功能,简化了容器生命周期管理。该技术广泛应用于CI/CD工作流,显著提升了软件交付效率。

2026-03-25 14:34:30 609

原创 PostgreSQL-02-数据类型(数字类型)

PostgreSQL提供了多种数字类型,包括不同大小的整数(smallint、integer、bigint)、浮点数(real、double precision)以及高精度数字类型(numeric/decimal)。整数类型支持不同范围的数值存储,integer是常用选择。numeric类型支持用户自定义精度和标度,适用于精确计算如金融场景,但性能较低。PostgreSQL 15+支持负数标度,允许对整数部分进行舍入。numeric还支持特殊值(Infinity、-Infinity、NaN),其中NaN在排

2026-03-13 16:54:00 443

原创 PostgreSQL-01-前言

PostgreSQL是一款开源的对象关系型数据库管理系统,起源于加州大学伯克利分校的POSTGRES项目。它支持SQL标准的大部分功能,并提供多种现代化特性如事务完整性、多版本并发控制等。PostgreSQL的发展经历了三个阶段:伯克利POSTGRES项目(1986-1994)、Postgres95(1994-1996)和PostgreSQL(1996至今)。Postgres95首次引入SQL支持并大幅优化性能,1996年更名为PostgreSQL以体现其与原始POSTGRES的继承关系。作为开源软件,Po

2026-03-11 17:10:21 421

原创 线性代数-3Blue1Brown《线性代数的本质》抽象向量空间(13)

本文探讨了线性代数中抽象向量空间的概念。通过回顾向量的本质,指出向量可以是任何满足特定运算规则的对象。抽象向量空间由集合、数域和两类运算(加法和标量乘法)构成,并要求满足8条基本公理。这些公理包括交换律、结合律、零向量和负向量存在性等。抽象化的核心意义在于统一处理不同领域的问题——无论是物理中的力、计算机数据、信号波形还是多项式,只要符合向量运算规则,都可视为向量空间中的元素。最终强调向量的本质不在于具体形式,而在于其运算特性。

2026-02-06 12:18:27 594

原创 线性代数-3Blue1Brown《线性代数的本质》特征向量与特征值(12)

本文总结了3B1B《线性代数的本质》中特征向量与特征值的核心概念。特征向量是在线性变换中保持方向不变的非零向量,仅发生伸缩(λ>0)或反向(λ<0)。特征值λ表示伸缩倍数,其绝对值决定伸缩幅度。通过矩阵A=[[3,0],[0,2]]和旋转矩阵的实例,展示了特征向量的几何意义。文章推导了特征方程Av=λv的数学过程,解释了为何需要引入单位矩阵I,最终得到det(A-λI)=0的特征方程解法。用地球仪旋转等比喻形象说明了特征方向的概念。

2026-02-05 13:31:46 1369

原创 线性代数-3Blue1Brown《线性代数的本质》基变换(11)

本文介绍了线性代数中的基变换概念。基向量是描述向量空间的标尺,除了标准基外,任何线性无关且能张成整个空间的向量组都能作为基。基变换的核心是解决不同坐标系之间的坐标转换问题,关键在于构造变换矩阵P。文章通过二维空间的例子详细演示了如何将向量从标准基转换到新基:首先构造以新基向量为列的变换矩阵P,然后通过求逆矩阵P⁻¹来计算向量在新基下的坐标。最后通过验证证明了计算结果的正确性。这一过程展示了线性代数中基变换的基本原理和计算方法。

2026-02-04 17:03:39 1044

原创 神经网络之S神经元(Sigmoid neurons)

Sigmoid 神经元是早期神经网络的核心激活神经元,凭借连续可微、输出值映射到 (0,1) 区间的特性,解决了感知机不可微、无法做梯度下降训练的问题,成为 BP(反向传播)算法的基础,但随着深度学习的发展,其暴露的多重核心局限性,使其逐渐被 ReLU 等激活函数对应的神经元替代,尤其在深层神经网络中几乎不再作为核心激活单元。假设在 手写数字识别 网络,若网络将一张本应是数字 “9” 的图像误识别为 “8”,找到对应的方式微调权重和偏置,让网络对这张图像的识别结果更接近正确的 “9”。

2026-01-29 14:51:06 871

原创 神经网络之感知机(Perceptron)

1957年,弗兰克·罗森布拉特(Frank Rosenblatt)提出了感知机模型,他的工作证明了通过简单单元的互联和简单的学习规则,可以涌现出强大的智能行为,这一核心思想至今未变。弗兰克·罗森布拉特(1928-1971)是一位美国心理学家和计算机科学家,他在康奈尔航空实验室工作。他深受早期神经科学研究(如沃伦·麦卡洛克和沃尔特·皮茨的神经元模型)和赫布学习理论的影响。他的目标不仅仅是构建一个模式识别机器,更是想通过机器模型来理解大脑的学习机制。

2026-01-27 14:38:40 877

原创 3Blue1Brown-深度学习之反向传播算法

只有前向传播,模型可以预测,但无法学习。反向传播提供了“学习的方向”,是训练的关键。训练阶段必须结合前向传播和反向传播。

2026-01-26 15:36:36 755

原创 机器学习(Machine Learning)系列

本文介绍了神经网络的基础概念和深度学习的学习资源。首先讲解了感知机(Perceptron)这一神经网络的基本单元,然后整理了3Blue1Brown深度学习系列视频的笔记,包括人工神经网络、梯度下降法和反向传播算法三个核心主题。最后推荐了两大优质学习资源:Michael Nielsen的开源书籍《神经网络与深度学习》,该书系统讲解深度学习核心概念;以及3Blue1Brown制作的深度学习视频,以直观可视化方式呈现复杂概念。这些资源为深度学习初学者提供了循序渐进的学习路径。

2026-01-25 16:58:06 144

原创 3Blue1Brown-深度学习之梯度下降法

本文基于3Blue1Brown深度学习视频,解析了神经网络的学习机制。核心观点包括:1) 神经网络学习本质是寻找最优权重和偏置参数;2) 损失函数作为"裁判"评估预测误差;3) 梯度下降法通过寻找最陡下降方向逐步优化参数。文章用"山谷寻路"的比喻形象说明梯度下降原理,强调学习率对训练效果的关键影响。整个过程展示了神经网络如何通过迭代调整实现"学习"能力。

2026-01-24 23:31:55 1127

原创 3Blue1Brown-深度学习之人工神经网络

本文是观看3Blue1Brown深度学习视频后的学习笔记,主要介绍了人工神经网络的基本原理。神经网络模拟生物神经元结构,通过输入层、隐藏层和输出层进行模式识别。核心要素包括权重(连接强度)、偏置(激活门槛)和激活函数(引入非线性)。工作流程分为输入、加权求和、加偏置、激活函数处理和输出五个步骤。文章以手写数字识别为例,说明神经网络如何通过分层特征提取实现复杂任务。

2026-01-23 13:35:33 1327

原创 线性代数-3Blue1Brown《线性代数的本质》叉积(10)

本文探讨了3B1B《线性代数的本质》中叉积的新视角。传统定义中,三维空间两向量的叉积结果是一个垂直于原向量平面的新向量,其模长等于平行四边形面积。3B1B则揭示叉积本质上是描述任意第三向量相对于原向量平面"朝向程度"的线性函数,该函数可表示为点积形式,而叉积就是这个特殊向量。这种解释将叉积与平行六面体有向体积联系起来,提供了更深刻的几何理解。

2026-01-21 16:04:48 867

原创 线性代数-3Blue1Brown《线性代数的本质》点积与对偶性(9)

本文探讨了点积的几何意义及其与线性变换的对偶性关系。传统点积定义体现为向量分量乘积之和,而其几何解释则是向量投影长度与另一向量长度的乘积。3B1B的核心观点指出,每个点积操作都对应一个从高维到一维的线性变换,这种变换可用1×n矩阵表示。更深层的"对偶性"揭示了向量与线性函数之间的一一对应关系:每个线性泛函都唯一对应一个向量,使得函数作用等同于与该向量的点积运算。这种对偶性为理解线性代数提供了向量语言和函数语言的双重视角。

2026-01-21 14:21:38 681

原创 PySide应用-P01-集成OpenCV读取图片

本文介绍了一个基于PySide6和OpenCV的图片查看器应用。主要内容包括:使用OpenCV读取图片,支持图片旋转、缩放等操作;通过Qt实现图形界面,包含菜单栏、工具栏等功能组件;演示了OpenCV图像与Qt图像格式的转换方法。示例代码展示了主窗口实现、图像处理(旋转、缩放)和界面交互等功能。该应用可作为PySide6与OpenCV结合的入门示例,适合想要学习GUI开发与图像处理的开发者参考。

2026-01-20 09:32:27 374

原创 PySide系列-07-QMainWindow

本文介绍了使用PySide6中的QMainWindow类创建主窗口应用的基本方法。QMainWindow提供了菜单栏、工具栏、中心部件、状态栏和停靠窗口等标准布局区域。通过示例代码演示了如何构建一个记事本应用的界面框架,包括创建文本编辑区域、添加菜单栏(文件、编辑、格式等菜单)、设置工具栏和状态栏,以及添加右侧停靠窗口。该教程适合初学者学习PySide6的基础窗口布局。

2026-01-19 15:52:04 127

原创 PySide系列-06-QCheckBox、QRadioButton

QCheckBox 通常用于表示 多选 状态(即可以同时选择多个选项)。QRadioButton 用于从一组选项中 选择唯一一项。同一组内的多个 QRadioButton 是互斥的(只能选一个)部件没啥其他需要说明的了,看代码吧。

2026-01-19 14:28:48 106

原创 PySide系列-05-QComboBox

摘要:QComboBox是PySide中的下拉列表控件,支持单选操作并提供文本显示功能。核心信号包括currentIndexChanged和currentTextChanged,用于响应选项变化。常用属性涵盖count、currentData等基础配置,方法则包含addItem/removeItem等列表操作。特别区分了currentText(可见文本)和currentData(隐藏数据)的不同用途,前者面向用户显示,后者用于程序内部逻辑处理。该控件支持编辑、去重等功能,默认最多显示10个可见项。

2026-01-19 10:00:26 386

原创 PySide系列-04-QLineEdit

本文介绍了PySide6中的QLineEdit单行文本输入框控件。主要内容包括:1)QLineEdit的基本功能和使用场景;2)常用信号如textChanged、editingFinished等;3)核心功能实现,包括设置回显模式(密码输入)、获取/设置文本、占位符提示、输入验证器等;4)主要属性说明;5)提供了一个完整的用户登录界面示例代码,展示了用户名和密码输入框的实际应用,包含输入验证、样式设置等功能。该控件是构建GUI应用程序的基础输入组件,适用于各种表单场景。

2026-01-14 15:45:57 617

原创 PySide step by step系列

本文整理了PySide基础教程系列文章,包括入门简介、信号与槽机制、QPushButton和QMessageBox控件使用以及QLineEdit控件的详细介绍。该系列循序渐进地讲解PySide框架的核心概念和常用控件,适合Python GUI开发初学者系统学习。文章配有代码示例和优快云链接,便于实践参考。

2026-01-13 17:21:22 92

原创 PySide系列-03-QPushButton、QMessageBox

本文介绍了PySide6中两个常用GUI控件的使用方法。第一部分讲解了QPushButton的基本功能,包括其信号机制(clicked、pressed、released、toggled)以及如何设置按钮文本、快捷键和图标。第二部分介绍了QMessageBox消息框的几种类型(信息、警告、错误、询问)和对应的静态方法,并提供了创建标准对话框和自定义对话框的代码示例。文章通过实际代码演示了如何实现按钮点击事件处理和各类消息框的弹出功能。

2026-01-12 17:22:34 575

原创 PySide系列-02-信号与槽机制

PySide6信号与槽机制是Qt框架实现对象间通信的核心技术,采用观察者模式实现松耦合。信号是对象状态变化时发出的通知,可携带参数;槽是接收信号的函数,支持普通函数和lambda表达式。代码示例展示了如何定义信号、连接槽函数以及发送信号。该机制还支持断开连接、一个信号连接多个槽以及跨线程安全通信(通过QueuedConnection)。这种灵活的设计是构建响应式GUI应用的关键。

2026-01-12 13:55:29 184

原创 PySide系列-01-入门简介

PySide6是Qt官方提供的Python绑定库,用于开发跨平台GUI应用程序。它支持Qt6框架,提供丰富的模块如QtCore、QtWidgets等,并包含设计工具如pyside6-designer。安装简单,可通过pip完成。示例展示了如何创建一个包含按钮的基本窗口应用,涉及QApplication、QMainWindow和QPushButton类。PySide6适合Python开发者快速构建桌面应用,官方文档和社区资源丰富。

2026-01-11 00:18:43 891

原创 OpenCV 学习11 读取和写入视频文件

在 OpenCV 中,VideoCapture 和 VideoWriter 是两个用于处理视频输入和输出的核心类,支持各种视频文件格式。

2026-01-06 16:19:05 393

原创 线性代数-3Blue1Brown《线性代数的本质》逆矩阵、列空间、秩与零空间(8)

本文是3B1B《线性代数的本质》系列视频中关于逆矩阵、列空间、秩与零空间的学习笔记。文章从线性方程组入手,将其表示为矩阵形式A⃗x=⃗b,并解释其几何意义:寻找输入向量⃗x使得变换后等于⃗b。重点讨论了逆矩阵的存在条件(行列式不为0)、列空间的定义(矩阵列向量张成的空间)、秩的概念(列空间的维度)以及零空间(被压缩到原点的向量集合)。通过表格总结了这些概念与可逆性的关系,并简要说明了非方阵的线性变换意义。全文以几何视角直观呈现线性代数的核心概念。

2025-12-19 19:20:25 1710

原创 OpenCV 学习10-边缘检测(Edge Detection)

返回值返回一个 二值图像(NumPy 数组)像素值255表示检测到的边缘点,0表示非边缘点参数说明参数类型说明imageNumPy 数组输入图像,灰度图(Grayscale)。如果是彩色图用 cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 转换threshold1float低阈值,用于弱边缘检测threshold2float高阈值,用于强边缘检测,必须大于 threshold1。强梯度超过此值才被认为是“真实边缘”int (可选)

2025-12-19 15:06:41 1169

原创 OpenCV 学习9-灰度转黑白二值图像

图像二值化是将灰度或彩色图像简化为黑白两种状态的处理方法,在OCR识别、条形码读取、医学图像处理等场景中广泛应用。OpenCV提供的cv2.threshold()函数通过设定阈值实现二值化,支持多种阈值类型,包括二进制阈值化、反向二进制等。其中OTSU算法能自动计算最优阈值,通过最大化类间方差实现最佳分割效果。该方法通过保留关键结构、去除冗余信息,有效提升了图像处理效率。

2025-12-16 10:20:22 1020

原创 OpenCV 学习8-使用卷积进行图像滤波

本文介绍了图像滤波的基本概念和应用。图像滤波是一种数字图像处理技术,通过卷积核运算实现去噪、边缘检测、增强等效果。文章首先分析了实际需求和应用场景(如医学影像、自动驾驶等),然后详细解释了噪声类型(高斯噪声、椒盐噪声等)及其处理方法。重点介绍了卷积核的工作原理,包括恒等核、模糊核(均值滤波、高斯滤波)等不同类型核的特点和使用方法。最后讲解了OpenCV中的filter2D函数,说明了其参数配置和卷积运算过程。这些技术可广泛应用于图像质量改善、特征提取等任务。

2025-12-15 16:21:19 916

空空如也

空空如也

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

TA关注的人

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