- 博客(26)
- 收藏
- 关注
原创 昇思25天学习打卡营第26天|基于MindSpore通过GPT实现情感分类
本次联系是基于MindSpore通过GPT实现情感分类,这次训练的分词是25000个,训练时间使用ascend 大概 1个多小时。
2024-07-22 18:00:06
85
原创 昇思25天学习打卡营第25天|基于MindSpore的GPT2文本摘要
这个训练需要花费的算力比较大,估计今天2个小时的免费算力不够了。先让他跑着,截个图留念。
2024-07-21 09:46:22
105
原创 昇思25天学习打卡营第24天|基于 MindSpore 实现 BERT 对话情绪识别
BERT全称是来自变换器的双向编码器表征量(Bidirectional Encoder Representations from Transformers),它是Google于2018年末开发并发布的一种新型语言模型。与BERT模型相似的预训练语言模型例如问答、命名实体识别、自然语言推理、文本分类等在许多自然语言处理任务中发挥着重要作用。模型是基于Transformer中的Encoder并加上双向的结构,因此一定要熟练掌握Transformer的Encoder的结构。
2024-07-20 13:24:03
217
原创 昇思25天学习打卡营第22天|LSTM+CRF序列标注
序列标注指给定输入序列,给序列中每个Token进行标注标签的过程。序列标注问题通常用于从文本中进行信息抽取,包括分词(Word Segmentation)、词性标注(Position Tagging)、命名实体识别(Named Entity Recognition, NER)等。
2024-07-18 10:26:54
116
原创 昇思25天学习打卡营第21天|Vision Transformer图像分类
随着基于自注意(Self-Attention)结构的模型的发展,特别是Transformer模型的提出,极大地促进了自然语言处理模型的发展。由于Transformers的计算效率和可扩展性,它已经能够训练具有超过100B参数的空前规模的模型。ViT则是自然语言处理和计算机视觉两个领域的融合结晶。在不依赖卷积操作的情况下,依然可以在图像分类任务上达到很好的效果。
2024-07-17 14:07:43
213
原创 昇思25天学习打卡营第20天|SSD目标检测
SSD,全称Single Shot MultiBox Detector,是Wei Liu在ECCV 2016上提出的一种目标检测算法。使用Nvidia Titan X在VOC 2007测试集上,SSD对于输入尺寸300x300的网络,达到74.3%mAP(mean Average Precision)以及59FPS;对于512x512的网络,达到了76.9%mAP ,超越当时最强的Faster RCNN(73.2%mAP)。具体可参考论文[1]。通过算法产生候选框,然后再对这些候选框进行分类和回归。
2024-07-16 10:21:23
119
原创 昇思25天学习打卡营第19天|ShuffleNet图像分类
ShuffleNetV1是旷视科技提出的一种计算高效的CNN模型,和MobileNet, SqueezeNet等一样主要应用在移动端,所以模型的设计目标就是利用有限的计算资源来达到最好的模型精度。ShuffleNetV1的设计核心是引入了两种操作:Pointwise Group Convolution和Channel Shuffle,这在保持精度的同时大大降低了模型的计算量。因此,ShuffleNetV1和MobileNet类似,都是通过设计更高效的网络结构来实现模型的压缩和加速。
2024-07-15 10:18:37
126
原创 昇思25天学习打卡营第18天|FCN图像语义分割
将底层(stride 32)的预测(FCN-32s)进行2倍的上采样得到原尺寸的图像,并与从pool4层(stride 16)进行的预测融合起来(相加),这一部分的网络被称为FCN-16s。随后将这一部分的预测再进行一次2倍的上采样并与从pool3层得到的预测融合起来,这一部分的网络被称为FCN-8s。在卷积过程的卷积操作和池化操作会使得特征图的尺寸变小,为得到原图的大小的稠密图像预测,需要对得到的特征图进行上采样操作。因FCN丢弃全连接层替换为全卷积层,网络所有层均为卷积层,故称为全卷积网络。
2024-07-14 09:59:56
172
原创 昇思25天学习打卡营第17天|ResNet50迁移学习
在实际应用场景中,由于训练数据集不足,所以很少有人会从头开始训练整个网络。普遍的做法是,在一个非常大的基础数据集上训练得到一个预训练模型,然后使用该模型来初始化网络的权重参数或作为固定特征提取器应用于特定的任务中。今天将使用迁移学习的方法对ImageNet数据集中的狼和狗图像进行分类。
2024-07-13 08:53:19
79
原创 昇思25天学习打卡营第16天|自动混合精度
混合精度(Mix Precision)训练是指在训练时,对神经网络不同的运算采用不同的数值精度的运算策略。在神经网络运算中,部分运算对数值精度不敏感,此时使用较低精度可以达到明显的加速效果(如conv、matmul等);当前的AI加速卡通常通过针对计算密集、精度不敏感的运算设计了硬件加速模块,如NVIDIA GPU的TensorCore、Ascend NPU的Cube等。模块提供了便捷的自动混合精度接口,用户可以在不同的硬件后端通过简单的接口调用获得训练加速。
2024-07-12 12:05:15
191
原创 昇思25天学习打卡营第15天|高级自动微分
接口的主要功能,包括一阶、二阶求导,单独对输入或网络权重求导,返回辅助变量,以及如何停止计算梯度。同时计算网络的正向输出和梯度。本次主要练习如何使用。接口可以生成网络模型的梯度。
2024-07-11 13:42:08
198
原创 昇思25天学习打卡营第14天|高级数据处理
注意,虽然目前数据管道只新增了识别字典类型的对象,但并不限制字典中的对象内容,因此也可以将其他Python类型封装进字典中并传入到数据处理管道中,以达到支持任意Python对象的目的。MindSpore中可以把用于训练网络模型的数据集,转换为MindSpore特定的格式数据(MindSpore Record格式),从而更加方便地保存和加载数据。与其他类型相比,Python字典类型在数据管道中不会被转换成C++中的类型,而是以引用的形式保留在数据管道中。此外,用户也可以根据需要实现自定义的采样器类。
2024-07-10 10:19:34
175
原创 昇思25天学习打卡营第13天|模型模块自定义
除基础的网络结构构造外,我们分别对神经网络层(Layer)、损失函数(Loss)和优化器(Optimizer),神经网络层需要的参数(Parameter)及其初始化方法(Initializer)的构造等场景进行详细介绍。神经网络模型由各种层(Layer)构成,MindSpore提供构造神经网络层的基础单元Cell,基于Cell进行神经网络封装。本练习使用Cell构造经典模型AlexNet。
2024-07-09 10:41:12
237
原创 昇思25天学习打卡营第12天|回调机制 Callback 评价指标 Metrics
例如,对于二分类问题,常用的评价指标有precision(准确率)、recall(召回率)等,而对于多分类任务,可使用宏平均(Macro)和微平均(Micro)来评估。在深度学习训练过程中,为及时掌握网络模型的训练状态、实时观察网络模型各参数的变化情况和实现训练过程中用户自定义的一些操作,MindSpore提供了回调机制(Callback)来实现上述功能。等,由于MindSpore提供的评价函数无法满足所有任务的需求,很多情况下用户需要针对具体的任务自定义Metrics来评估训练的模型。
2024-07-08 20:50:11
220
原创 昇思25天学习打卡营第11天|高阶封装:Model
本次练习首先对MindSpore的Model进行基本了解,然后重点练习如何使用。可以在一定程度上简化代码。例如:无需手动遍历数据集;通常情况下,定义训练和评估网络并直接运行,已经可以满足基本需求。接口进行模型评估,直接输出评估结果,无需手动调用评价指标的。提供了很多高阶功能,如数据下沉、混合精度等,在不借助。的情况下,使用这些功能需要花费较多的时间仿照。进行模型训练、评估和推理。
2024-07-07 14:13:45
132
原创 昇思25天学习打卡营第10天|使用静态图加速
动态图的特点是计算图的构建和计算同时发生(Define by run),其符合Python的解释执行方式,在计算图中定义一个Tensor时,其值就已经被计算且确定,因此在调试模型时较为方便,能够实时得到中间结果的值,但由于所有节点都需要被保存,导致难以对整个计算图进行优化。在MindSpore中,静态图模式又被称为Graph模式,在Graph模式下,基于图优化、计算图整图下沉等技术,编译器可以针对图进行全局的优化,获得较好的性能,因此比较适合网络固定且需要高性能的场景。有关静态图模式的运行原理,可以参考。
2024-07-06 17:37:20
318
原创 昇思25天学习打卡营第9天|保存与加载
在训练网络模型的过程中,上我们希望保存中间和最后的结果,用于微调(fine-tune)和后续的模型推理与部署,本次我们将练习如何保存与加载模型。这次训练的内容相对简单,把训练好的模型保存到指定位置就可以了。
2024-07-05 09:58:47
191
原创 昇思25天学习打卡营第8天|模型训练
个人认为定义超参、损失函数及优化器是影响模型效果的关键。现在我们有了数据集和模型后,可以进行模型的训练与评估。
2024-07-04 17:58:24
390
原创 昇思25天学习打卡营第7天|函数式自动微分
神经网络的训练主要使用反向传播算法,模型预测值(logits)与正确标签(label)送入损失函数(loss function)获得loss,然后进行反向传播计算,求得梯度(gradients),最终更新至模型参数(parameters)。自动微分主要解决的问题是将一个复杂的数学运算分解为一系列简单的基本运算,该功能对用户屏蔽了大量的求导细节和过程,大大降低了框架的使用门槛。MindSpore使用函数式自动微分的设计理念,提供更接近于数学语义的自动微分接口。
2024-07-03 10:47:30
143
原创 昇思25天学习打卡营第6天|网络构建
使用这样的嵌套结构,可以简单地使用面向对象编程的思维,对神经网络结构进行构建和管理。类是构建所有网络的基类,也是网络的基本单元。一个神经网络模型表示为一个。提供了常见神经网络层的实现,在MindSpore中,今天练习了在mindspore中对神经网络进行操作。
2024-07-02 11:17:35
103
原创 昇思25天学习打卡营第5天|数据变换
Lambda函数是一种不需要名字、由一个单独表达式组成的匿名函数,表达式会在调用时被求值。Lambda Transforms可以加载任意定义的Lambda函数,提供足够的灵活度。MindSpore提供不同种类的数据变换(Transforms),配合数据处理Pipeline来实现数据预处理。模块提供一系列针对文本数据的Transforms。提供了面向图像、文本、音频等不同数据类型的Transforms,同时也支持使用Lambda函数。模块提供一系列针对图像数据的Transforms。
2024-07-01 12:38:43
97
原创 昇思25天学习打卡营第4天|数据集
此外MindSpore的领域开发库也提供了大量的预加载数据集,可以使用API一键下载使用。今天的课程分别对不同的数据集加载方式、数据集常见操作和自。数据是深度学习的基础,高质量的数据输入将在整个深度神经网络中起到积极作用。MindSpore提供基于Pipeline的。实现高效的数据预处理。其中Dataset是Pipeline的起始,用于加载原始数据。提供了内置的文本、图像、音频等数据集加载接口,并提供了自定义数据集加载接口。今天学习的内容是数据集。定义数据集方法进行练习。
2024-06-30 16:12:57
176
原创 昇思25天学习打卡营第3天|张量
张量之间有很多运算,包括算术、线性代数、矩阵处理(转置、标引、切片)、采样等,张量运算和NumPy的使用方式类似,普通算术运算有:加(+)、减(-)、乘(*)、除(/)、取模(%)、整除(//)。第三天,今天复习了张量的概念,并了解了如何在昇思平台处理张量。Tensor可以和NumPy进行互相转换操作。
2024-06-29 17:42:47
174
原创 昇思25天学习打卡营第2天|快速入门
今天是入营第二天,不再贪进度,老老实实按照教程来。今天学的快速入门,完整的将一个基础项目做完,对昇思平台有一个基本了解。虽然代码不是自己一行行敲上去的,但也通读了一遍,比昨天直接复制代码看结果有进步了。
2024-06-28 22:17:57
82
原创 昇思25天学习打卡营第1天|ResNet50图像分类
浏览了一遍入门教程后,就迫不及待的想尝试一下实际项目,将《ResNet50图像分类》作为我的第一个项目。按照教程,复制代码运行了一遍,非常顺利,训练的速度也很快。虽然对代码细节没有详细学习,但是整体对使用mindspore 平台有了一个直观的感受,非常棒。昨天申请到了训练营的算力,今天登录上去进行第一天的学习。
2024-06-27 12:25:31
123
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人