自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (37)
  • 收藏
  • 关注

原创 Python slice() 使用方法及示例说明

处。

2024-05-15 13:36:27 268 2

原创 Python: None含义

【代码】Python: None含义。

2024-04-30 10:55:19 119

原创 window_partition(x, window_size)函数作用

(1,35,35,35,32),按照window_size(7,7,7)划分窗口,(窗口个数(125),窗口大小(7*7*7),通道数(32))

2024-04-28 09:51:55 159

原创 compute_mask

【代码】compute_mask。

2024-04-26 15:28:47 348

原创 torch.sum(image, axis=0)中axis含义及用法

以矩阵为例,通过求所有行元素的和来降维(轴0),即将相同列位置对应的所有行位置元素相加,列数保持不变,可以在调用函数时指定axis=0。默认情况下,调用求和函数会沿所有的轴降低张量的维度,使它变为一个标量。可以指定张量沿哪一个轴来通过求和降低维度。axis=1,是通过求所有列元素的和来降维(轴1),即将相同行位置对应的所有列位置元素相加,行数保持不变。

2024-04-24 10:55:52 127

原创 python中os.path.dirname(os.path.realpath(__file__))含义

绝对路径。

2024-04-18 09:05:13 316

原创 pytorch中torch.roll用法说明

input是咱们要移动的tensor向量,shifts是要移动到的位置,要移动去哪儿,dims是值在什么方向上(维度)去移动。首先,针对元组第一个元素,把x的第一列(1维度)移到0这个位置(已经在0这个位置,因此原地不动)上,其他位置的数据顺移。然后,针对元组第二个元素,把a的第一列(1维度)移到1这个位置上,其他位置的数据顺移。(1维度)移到-1这个位置(最后一个位置)上,其他位置的数据顺移。torch.roll(x, -1, 1) 意思就是把x的。(0维度)移到1这个位置上,其他位置的数据顺移。

2024-04-17 14:31:41 304

原创 pytorch中unsqueeze用法说明

在指定的位置插入一个维度,有两个参数,input是输入的tensor,dim是要插到的维度需要注意的是dim的范围是[-input.dim()-1, input.dim()+1),是一个左闭右开的区间,当dim为负值时,会自动转换为dim = dim+input.dim()+1,类似于使用负数对python列表进行切片。import torcha = torch.randn(2,5)print(a)print("")b = a.unsqueeze(0)print(b.shape)

2024-04-17 09:31:39 296

原创 pytorch中torch.meshgrid()函数理解及举例说明

输入两个一维张量的元素个数分别为n1,n2,则输出两个张量是二维的,且行和列个数均为n1,n2,输出第一个张量行相同(对应第一个输入张量),输出第二个张量列相同(对应第二个输入张量),其中第一个输出张量填充第一个输入张量中的元素,若输入是三个一维张量,元素个数分别为n1,n2,n3,则输出的三个张量都是三维的,且输出的三个张量的三个维度均相等,分别为n1,n2,n3。三个tensor第一维度大小为第一个输入张量的元素个数,第二维度大小为第二个输入张量的元素个数,第三维度为第三个输入张量元素个数。

2024-04-10 09:12:42 397 1

原创 q @ k运算及att = (q @ k.transpose(-2, -1))含义

transpose(-2, -1) 表示将 k 的最后两维进行转置(交换位置)其中涉及到a @ b操作和transpose操作。从以上结果可以发现,默认以最后两维进行矩阵乘法运算。

2024-04-09 14:08:10 322

原创 Pytorch中nn.Linear使用方法

,n表示输入向量的个数(也可以理解为行数,比如一次输入100个样本数据,则n=100),i为每个样本的特征数,也可以理解为神经元的个数,O为输出样本的特征数,即输出神经元的个数。第3、4、5个样本的验证过程类似,从以上验证可以看出,所有样本共享参数矩阵W和偏置b。可以看到,模型有4个参数,分别为W的三个权重和b的一个偏置。假设有5个输入样本A、B、C、D、E(即batch_size为5),每个样本的特征数量为3,定义线性层时,输入特征为3,所以。,想让下一层的神经元个数为5,所以。

2024-04-09 11:08:02 1769

原创 torch.linspace()、tensor.item()及tensor.tolist()方法使用

从item()方法中可以看出,item()是将一个张量的值,以一个python数字形式返回,但该方法只能包含一个元素的张量,对于包含多个元素的张量,可以考虑tolist()方法。该操作是不能微分的;即不可求导,不能调用backward()方法进行反向传播。PyTorch中的torch.linspace。多个张量转化方法tensor.tolist()上例中涉及到x.item()方法。

2024-04-03 10:08:31 359

原创 pytorch 中 nn.ModuleList()使用说明

在该类的 __init__ 方法中,创建了一个 该类nn.ModuleList的实例 module_list,并添加了三个子模块:一个线性层(nn.Linear)、一个 ReLU 激活函数(nn.ReLU)和另一个线性层(这是在初始化类时一次添加的模块),当然还可以调用module_list.append(layername)来添加子模块。这些子模块将作为整个模型的一部分。在模型的 forward 方法中,通过迭代 module_list 中的子模块,依次将输入数据 x 传递给它们,并获取最终的输出。

2024-04-02 15:39:24 1317 1

原创 nn.Dropout含义和作用

让隐藏层的节点在每次迭代时(包括正向和反向传播)有一定几率(keep-prob)失效。以提高模型的泛化能力,减少过拟合。Dropout属于一种正则化技术。Dropout的probability,实践中最常用的是0.5(或0.1,0.05)而没有置零的也是除以了0.7,比如第一行第二列的0.4258,0.4258/0.7=0.6083。Dropout字面意思就是“丢掉”,是为了。可以看到,output中有些值已经被随机置。防止神经网络出现过拟合。

2024-04-02 15:08:33 388

原创 PyTorch中view()函数用法说明

(1) 作用:该函数返回一个有相同数据但不同维度大小的 Tensor。也就是说该函数的功能是改变矩阵维度,相当于 Numpy 中的 resize() 或者 Tensorflow 中的 reshape()。首先,view( ) 是对 PyTorch 中的 Tensor 操作的,若非 Tensor 类型,可使用 data = torch.tensor(data)来进行转换。若需要转换维度为一维,有一种简单的方式,即将参数设置为 -1。(2) 参数:view( *args )特殊用法view(-1)

2024-04-02 14:48:55 467 1

原创 nn.LayerNorm的参数说明

weight和bias也分别包含15个数字,分别对15个归一化后的数字进行仿射变换(仿射变换即乘以weight中对应的数字后,然后加bias中对应的数字),并会在反向传播时得到学习。如果输入的是个list或者torch.Size,比如[3, 5]或torch.Size([3, 5]),则会对网络最后的两维进行归一化,且要求输入数据的最后两维尺寸也是[3, 5]。假设此时输入的数据维度是[3, 5],则对3个长度为5的向量求均值方差,得到3个均值和3个方差,分别对这3行进行归一化(每一行的5个数字都是。

2024-03-29 16:00:03 647 2

原创 PyTorch中的flatten+transpose函数说明

a.flatten(m),这个意思是将a这个tensor,从第m(m取值从0开始)维度开始堆叠,一直堆叠到最后一个维度。flatten函数就是对tensor类型进行扁平化处理,就是在不同维度上进行堆叠操作。

2024-03-29 11:12:07 316

原创 PyTorch中nn.ReLU函数说明

【代码】PyTorch中nn.ReLU函数说明。

2024-03-28 14:23:17 593

原创 pytorch中nn.GroupNorm()作用及参数说明

,分组归一化的特点在于将通道分组,使得每个组都有独立的统计量。这在一些较小批次大小的情况下可能更稳定,并且适用于较小的模型或具有较少参数的模型。同时,由于对通道进行分组,分组归一化还可以保持通道之间的相对关系,适用于一些需求特定结构的网络设计。nn.GroupNorm是一个用于定义分组归一化层的类。分组归一化层是一种用于规范化输入数据的技术,常用于深度神经网络中。最后,如果启用了仿射变换,将对归一化结果应用可学习的仿射变换(线性变换)。数据归一化的作用,特点是分组归一化,每个组独立进行归一化处理。

2024-03-28 13:56:59 927

原创 torch.nn.Conv3D 参数及使用详解

在本例中,输入的大小是(1,3,7,h,w)、kernel的大小是(3,7,7)的时候,就是同时对3帧进行处理,所以计算方法就是7-3+1=5,所以输出的大小是(1,3,5,h‘,w‘),从这个计算过程可以看出在默认情况下也就是在时间上的stride是1的时候,这种多帧的卷积是存在帧之间的重叠的。从上面可以看出如果输入的大小是(1,3,7,h,w)、kernel的大小是(3,7,7)的时候,输出的大小是(1,3,5,h‘,w’),关于卷积之后h‘和w’的计算取决于kernel的后两个。输入特征图的通道数。

2024-03-28 13:35:48 1388

原创 optimizer.param_groups含义分析

是一个字典,一般包括[‘params’, ‘lr’, ‘betas’, ‘eps’, ‘weight_decay’, ‘amsgrad’, ‘maximize’]等参数(不同的优化器包含的可能略有不同,而且还可以额外人为添加键值对)params就是网络中需要优化的网络参数,在这里需要注意的是传入的网络参数必须使可以迭代的对象。因为这里把整个网络看成了一个param_groups,所以这里的执行结果为:1。a.将多个网络的参数合并到一起,当成一个网络的参数来进行优化一般的赋值方式为。代码执行结果为:1。

2024-03-26 15:22:46 302

原创 pytorch代码中optimizer.step()和scheduler.step()有什么区别

optimizer.step()通常用在每个patch_size之中(一个patch_size的数据更新一次模型参数),而scheduler.step()通常用在epoch里面,但是不绝对,可以根据具体的需求来做。只有用了optimizer.step(),模型才会更新,而scheduler.step()是对lr进行调整。一个是用于更新模型参数的,一个是用于更新学习率的。

2024-03-26 14:56:13 530

原创 torch.utils.data.DataLoader参数分析

若想把剩下的不足batch size个的数据丢弃,则将drop_last设置为True,会将多出来不足一个batch的数据丢弃。但每次返回的是一批数据的索引(注意:不是数据)。将输入数据的顺序打乱,是为了使数据更有独立性,但如果数据是有序列特征的,就不要设置成True了。设置了 batch_size 的数目后,最后一批数据未必是设置的数目,有可能会小些。设置了 batch_size 的数目后,最后一批数据未必是设置的数目,有可能会小些。所以,它和一捆一捆按顺序输入,数据洗牌,数据采样,等模式是不兼容的。

2024-03-26 14:17:35 666

原创 pytorch中torch.stack()用法虽简单,但不好理解

总结:m个序列数据,在某个维度k进行拼接,该维度大小为n,则拼接后形成了*n*m*大小,具体拼接过程是取m个序列数据,k-1维(设k-1维大小为x,从x=1开始取)相同情况下的第1个数据,构成新tensor的一个行;沿一个新维度对输入一系列张量进行连接,序列中所有张量应为相同形状,stack 函数返回的结果会新增一个维度。也即是把多个2维的张量凑成一个3维的张量;多个3维的凑成一个4维的张量…dim :新增维度的(下标)位置,当dim = -1时默认最后一个维度;返回值:输出新增维度后的张量。

2024-03-25 10:49:33 493

原创 SummaryWriter基本用法

SummaryWriter是PyTorch中的一个工具,用于将模型训练过程中的日志保存到TensorBoard中。可以通过使用SummaryWriter的add_scalar()方法来保存损失函数、准确率等标量信息,使用add_histogram()方法来保存权重、梯度等张量信息,使用add_image()方法来保存图像信息等。

2024-03-21 13:41:18 734 1

原创 Pytorch 中的forward 函数内部原理

PyTorch中的forward函数是nn.Module类的一部分,它定义了模型的前向传播规则。当你创建一个继承自nn.Module的类时,你实际上是在定义网络的结构。forward函数是这个结构中最关键的部分,因为它指定了数据如何通过网络流动。

2024-03-20 12:26:58 991 1

原创 pytorch中对象或变量后面加上.cuda()函数的作用

如果两个数据之间需要进行运算,如X和Y,要么在数据后面都加上.cuda(),如X.cuda()和Y.cuda(),使数据在GPU上进行运算。这种方法不被提倡,而建议使用model.to(device)的方式,这样可以显示指定需要使用的计算资源,特别是有多个GPU的情况下。使用Pytorch框架时,会看到某个对象或变量后面加上.cuda(),那么cuda()函数的作用是什么,.cuda()是PyTorch中的一个方法,可以将张量、模型转换为GPU可用的格式。

2024-03-20 11:28:32 329 1

原创 python中enumerate函数使用方法

enumerate()是Python的内置函数,一般用于循环。enumerate()在遍历中可以获得。一个序列、迭代器或其他支持迭代对象。

2024-03-20 11:18:04 256 1

原创 深度学习中Epoch,Batchsize,Iterations如何理解

使用一个batch数据对模型进行一次参数更新的过程,就是一个iteration,也就是说只 要参数更新了一次,就可以称之为一个iteration。使用训练集中的一小部分样本对模型权重进行一次参数更新,这小部分样本称为一个 batch,其大小就是batch的大小。使用训练集中的全部数据对模型进行一次完整的训练,称之为一个epoch。

2024-03-19 15:53:31 104 1

原创 model.train() 和 model.eval() 作用

如果模型中有BN层(Batch Normalization)和Dropout,在测试时添加model.eval()。model.eval()是保证BN层能够用全部训练数据的均值和方差,即测试过程中要保证BN层的均值和方差不变。在训练和测试阶段,模型的行为可能会有所不同,特别是当模型包含 Batch Normalization 和 Dropout 等层时,这些层在训练和测试阶段的行为可能不同。在model(test)之前,需要加上model.eval(),否则的话,有输入数据,即使不训练,它也会改变权值。

2024-03-15 15:28:45 445 1

原创 Python中List之insert()方法详解

5.实例1.功能。

2024-03-15 14:02:00 1070 1

原创 python中zip函数用法说明

在数据处理方面应用Zip函数是Python中的一个内置函数,它可以接收两个或更多个(例如列表、元组、字符串等),并将这些可迭代对象中相同位置的元素逐个打包成一个元组,最后组成一个新的可迭代对象。具体而言,Zip函数将可迭代对象中的第一个元素打包为一个元组,第二个元素打包为另一个元组,以此类推,直到可迭代对象的最小长度。最终返回的可迭代对象的长度与输入的可迭代对象中最短的长度相同。基本用法下面通过简单的示例介绍Zip函数的基本用法。

2024-03-15 10:05:25 358 1

原创 torch.nonzero()记录tensor中零元素的位置信息

输出out的理解:这个例子input是2维的,一共有4个非0元素,所以输出是一个4×2的张量,表示每个非0元素的索引(位置信息)。如out的第0行[0,0]表示input第一个非0元素的位置信息,即表示input的第0行的第0个元素是非0元素,同理,out的第1行[1,1],表示input第1行第1个元素是非0元素,等等。返回一个包含输入input中非零元素索引的张量。第0行第0列第0个元素非0,第0行第0列第1个元素非0,……,第1行第1列第0个元素非0,第1行第1列第4个元素非0.

2024-03-14 10:44:20 360

原创 python中sort与sorted对文件名进行排序,完美解决文件名排序问题

省略了回调函数,所有的数字都会变为字符串,然后按照字符串的比较大小进行比较,也就是unicode 编码比较,出现以上的排序结果,因为在 unicode编码中 1 开头的最小,其次是 2,3,4,5 等等;原来是因为 sort() 方法还有回调函数,如果省略了 回调函数,那么就有可能出错,如果要确保排序结果的准确,就要给 sort() 加上参数 ( 升序或者降序)例子这边用的sort()函数,使用参数key,其返回的顺序就是按照元组的顺序。去掉,只剩下0和1,然后通过sort()函数将留下的数字。

2024-03-12 15:32:09 670 1

原创 Python中a=[x for x in y]与a=(x for x in y)用法解析

在上面的例子中,遍历原始列表numbers中的每个元素,并将其翻倍,然后将结果存储在新的列表doubled_numbers中。Python中 “x for x in” 语法在Python中被广泛使用,可以用于列表推导和生成器表达式的创建。通过使用 “x for x in” 语法,可以更简洁地完成对列表的处理和操作,避免了传统的循环语句的繁琐和冗长。通过使用 “x for x in” 语法,可以创建一个可以逐个产生值的生成器。生成器表达式是一种创建生成器的方法,与列表推导式类似,但生成器表达式。

2024-03-07 14:18:13 480

原创 PyTorch优化算法:optimizer=torch.optim.Adam参数介绍

函数原型:6个参数有关优化的理论就不必在此赘述了,直接上函数参数说明1.params(必须参数):这是一个包含了需要优化的参数(张量)的迭代器,通常是模型的参数 model.parameters()。学习率(learning rate)。它是一个正数,控制每次参数更新的步长。3.betas(默认值为 (0.9, 0.999)):用于计算梯度的一阶和二阶矩的指数衰减因子。betas 是一个长度为 2 的元组,分别对应于一阶矩(平均梯度)和二阶矩(梯度平方的平均值)。

2024-03-07 10:26:02 1751

原创 MONAI库中DiceLoss函数使用方法

网络模型中的Loss函数主要作用就是:最大化预测分割结果和真实标签之间的重叠程度,从而引导模型学习更准确的目标特征以更好的预测待分割目标所在区域。它在训练深度学习模型时起着至关重要的作用,可以帮助模型收敛到更准确的分割结果。在任何图像的分割任务中,Dice Loss是一种常用损失函数,用于衡量预测分割结果与真实标签之间相似度。MONAI提供了DiceLoss函数(当然也可以用自己定义的loss函数),它是一个重要的工具,用于优化模型性能。下面是MONAI库中DiceLoss函数具体使用方法。

2024-03-07 09:45:15 541

原创 Python中字符串格式化控制函数-format()用法详解

该函数其优点如下:1.不需要理会数据类型的问题,在%方法中%s只能替代字符串类型2.单个参数可以多次输出,参数顺序可以不相同3.填充方式十分灵活,对齐方式十分强大。

2024-03-06 12:45:22 1846

原创 推荐3个计算机专业的英文电子书下载网站

1、All IT eBooks :http://www.allitebooks.com2、Free Pdf Books:http://freepdf-books.com3、Ebook-dl:http://ebook-dl.com亲自测试过上面的网站确实是可以免费下载

2020-11-05 09:33:56 3818

原创 android中LayoutParams参数px与xml文件中dp单位之间的转换

首先要明确在xml文件中,单位通常设置为dp,而通过Java代码对布局进行控制时,LayoutParams的成员width和height都以px为单位的。因此存在不统一,需要进行转换。下面给出dp与px之间的转换公式:px = dp * (dpi / 160)dp = px / (dpi / 160)dpi值的获取通过如下方式获得:metrics =new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetri

2020-08-19 16:07:59 1592

数字图像椒盐噪声和高斯噪声的去处方法

一篇复旦大学的硕士论文,关于数字图像椒盐噪声和高斯噪声的去处方法

2011-04-10

基于小波和全变差的图像去噪算法分析

一篇有关小波变换和全变差的硕士论文,对学习数字图像处理的同志来说会有所帮助

2011-04-10

智能计算课程的PPT

有关智能计算学习的相关知识,用PPT的形式呈现给大家。非常好用的。

2011-04-10

入侵检测的一篇科技论文

一篇关于入侵检测的学术论文,我可是花钱下载下来的哦,现在和大家一起分享一下

2011-04-10

matlab图形处理函数全集

介绍了在matlab中实现数字图像处理的基本函数集的具体用法

2011-04-10

Visual Studio.net使用技巧

本书全面的向读者介绍了再Windows平台上Visual Studio.net的使用技巧等问题

2011-04-10

偏微分法基础,数字图像处理,信号处理的数学基础

介绍了偏微分法的基础知识,并说明了其在不同领域中的具体应用

2011-04-10

自组织网络讲义SOM1PPT

讲解了自组织网络的原理模型,发展状况,应用前景。

2011-01-13

自组织网络讲义2PPT

讲述了自组织网络的原理模型,算法的基本步骤。

2011-01-13

第四讲 自组织网络3PPT

讲述了自组织网络的原理和模型,非常不错的PPT哦

2011-01-13

第五讲 反馈神经网络PPT

关于反馈神经网络的讲义,非常好的,讲的十分的细致。和好。

2011-01-13

数字图像处理在仓库进出货中的具体应用

介绍了数字图像处理在仓库进出货问题中的具体应用。

2011-01-11

一种改进的遗传算法及其在布局问题中的具体应用

介绍了一种改进的遗传算法,并结合布局问题分析了该算法的具体应用问题。

2011-01-11

模拟退火算法与遗传算法在实际问题中的具体结合

模拟退火算法和遗传算法在实际问题中的具体结合。

2011-01-11

群智能理论与粒子群优化算法

将群智能理论和粒子群优化算法结合起来,在实际问题中的具体应用。

2011-01-11

粒子群算法课件PPT

介绍了粒子群算法的起源,发展历程,在具体领域中的具体应用等等。

2011-01-11

群智能计算综合PPT

介绍了群智能算法的起源,发展历程,在不同领域中的具体应用等问题。

2011-01-11

主要讲解了遗传算法概述

关于遗传算法的起源,发展,应用,等各方面的介绍

2011-01-11

SegNet+tensorflow代码+数据集.rar

SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation tensorflow源代码+数据集

2021-08-23

_数据结构与算法课程面向实践的教学方法研究.pdf

数据结构教研论文

2021-06-06

_基于OBE的数据结构教学改革实践.pdf

教研论文

2021-06-06

U-Net Convolutional Networks for Biomedical Image Segmentation.pdf

U-Net经典论文

2021-06-06

Android开发API详解

android应用程序开发SDK手册,详细描述了SDK中的各个类和函数

2012-08-20

2007年华中科技大学考博英语

2007年华中科技大学博士生考试英语试卷

2012-08-20

基于多尺度几何变换的图像去噪方法研究

基于多尺度几何变换的图像去噪方法的研究,比较详细的介绍了该方法。

2012-02-26

Iamge Denoising Via Sparse and Redundant Representation Over Learned

Iamge Denoising Via Sparse and Redundant Representation Over Learned

2012-02-26

A Predual Proximal Point Algorithm Solving a NonNegative Basis

A Predual Proximal Point Algorithm Solving a NonNegative Basis

2012-02-26

K-SVD:An Algorithm for Designing Overcomplete Dictionary for

K_SVD:An Algorithm for Designing Overcomplete Dictionary for Sparse Representation

2012-02-26

A method for estimating noise variance of CT image

介绍了CT图像高斯噪声的去除介绍了CT图像高斯噪声的去除

2012-02-26

SCI数据库使用介绍

SCI数据库大从事科研工作的工作者来说是非常重要的,那么在你刚步入科研的门槛时可能会问什么事SCI,那么这篇文章给我们介绍了SCI的发展过程,使用介绍,非常详细。

2011-05-26

基于matlab的SVM分类方法工具箱简介

在matlab环境下配置SVM工具箱,并对使用的例子进行了分析

2011-05-26

IEEE数据库的详细介绍

对于从事研究工作的研究人员来说,肯定会遇到查找相关文献的东西,理工科的研究者就涉及到著名的IEEE检索系统,本PPT详细介绍了IEEE的发展,用法等等,希望对大家有所帮助。

2011-05-26

Windows网络编程上

全书介绍了windows平台上网络应用程序的开发技术,并通过visual C++6.0来实现

2011-04-21

代码阅读方法与实践电子书英文版

介绍了怎样去高效的阅读代码,书中有很多的项目可以供我们去实践,真是学有所有,学以致用啊,很有帮助的

2011-04-11

几类数字图像水印算法的研究

有条理的介绍了几类数字水印算法。非常适合初学数字水印的初学者。

2011-04-10

小波域中图像复原的基本方法

介绍了在小波域中数字图像的复原基本方法,这是一篇硕士论文,对于搞数字图像来说很有帮助,特别是图像去噪复原这一块

2011-04-10

空空如也

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

TA关注的人

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