- 博客(21)
- 收藏
- 关注
原创 昇思25天学习打卡营第20天|ResNet50迁移学习
数据、算力、算法,人工智能的三大要素。迁移学习,很有拿来主义的内涵。一个已经在大规模数据上训练的具有良好的泛化特征的网络进行特征提取,而训练除最后一层分类网络。着重关注网络定义、权重冻结(不计算梯度)。真正能应用的是成熟的有效果的,与科研追求学术前沿是相反的。在实际应用场景中,由于训练数据集不足,所以很少有人会从头开始训练整个网络。普遍的做法是,在一个非常大的基础数据集上训练得到一个预训练模型,然后使用该模型来初始化网络的权重参数或作为固定特征提取器应用于特定的任务中。
2024-08-01 17:06:04
752
原创 昇思25天学习打卡营第19天|LSTM+CRF序列标注
序列标注指给定输入序列,给序列中每个Token进行标注标签的过程。序列标注问题通常用于从文本中进行信息抽取,包括分词(Word Segmentation)、词性标注(Position Tagging)、命名实体识别(Named Entity Recognition, NER)等。输入序列清华大学座落于首都北京输出标注BIIIOOOOOBI如上表所示,清华大学和北京是地名,需要将其识别,我们对每个输入的单词预测其标签,最后根据标签来识别实体。
2024-08-01 16:44:27
963
原创 昇思25天学习打卡营第18天|RNN实现情感分类
情感分类是自然语言处理中的经典任务,是典型的分类问题。输入: This film is terrible正确标签: Negative预测标签: Negative输入: This film is great正确标签: Positive预测标签: Positive最后我们设计一个预测函数,实现开头描述的效果,输入一句评价,获得评价的情感分类。将输入句子进行分词;使用词表获取对应的index id序列;index id序列转为Tensor;送入模型获得预测结果;打印输出预测结果。
2024-08-01 00:38:36
688
原创 昇思25天学习打卡营第17天|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-08-01 00:35:44
786
原创 昇思25天学习打卡营第15天|Vision Transformer图像分类
近些年,随着基于自注意(Self-Attention)结构的模型的发展,特别是Transformer模型的提出,极大地促进了自然语言处理模型的发展。由于Transformers的计算效率和可扩展性,它已经能够训练具有超过100B参数的空前规模的模型。ViT则是自然语言处理和计算机视觉两个领域的融合结晶。在不依赖卷积操作的情况下,依然可以在图像分类任务上达到很好的效果。ZOMI酱对本文的贡献。
2024-07-31 23:44:45
851
原创 昇思25天学习打卡营第16天|FCN图像语义分割
FCN主要用于图像分割领域,是一种端到端的分割方法,是深度学习应用在图像语义分割的开山之作。通过进行像素级的预测直接得出与原图大小相等的label map。因FCN丢弃全连接层替换为全卷积层,网络所有层均为卷积层,故称为全卷积网络。全卷积神经网络主要使用以下三种技术:卷积化(Convolutional)使用VGG-16作为FCN的backbone。VGG-16的输入为224*224的RGB图像,输出为1000个预测值。VGG-16只能接受固定大小的输入,丢弃了空间坐标,产生非空间输出。
2024-07-31 23:03:29
704
原创 昇思25天学习打卡营第14天|ShuffleNet图像分类
ShuffleNetV1是旷视科技提出的一种计算高效的CNN模型,和MobileNet, SqueezeNet等一样主要应用在移动端,所以模型的设计目标就是利用有限的计算资源来达到最好的模型精度。ShuffleNetV1的设计核心是引入了两种操作:Pointwise Group Convolution和Channel Shuffle,这在保持精度的同时大大降低了模型的计算量。因此,ShuffleNetV1和MobileNet类似,都是通过设计更高效的网络结构来实现模型的现模型的压缩和加速。
2024-07-31 21:56:34
1583
原创 昇思25天学习打卡营第13天|ResNet50图像分类
ResNet50网络是2015年由微软实验室的何恺明提出,获得ILSVRC2015图像分类竞赛第一名。在ResNet网络提出之前,传统的卷积神经网络都是将一系列的卷积层和池化层堆叠得到的,但当网络堆叠到一定深度时,就会出现退化问题。下图是在CIFAR-10数据集上使用56层网络与20层网络训练误差和测试误差图,由图中数据可以看出,56层网络比20层网络训练误差和测试误差更大,随着网络的加深,其误差并没有如预想的一样减小。
2024-07-31 21:34:47
1721
原创 昇思25天学习打卡营第12天|基于MindNLP+MusicGen生成自己的个性化音乐
是非常有趣的应用了,生成模型、语音生成。与当前的大模型、具身智能、多模态等等挺有关系的。使用了MindNLP。或许后续可以考虑变成一个项目,而不单是Jupyter Notebook。MusicGen是来自Meta AI的Jade Copet等人提出的基于单个语言模型(LM)的音乐生成模型,能够根据文本描述或音频提示生成高质量的音乐样本,相关研究成果参考论文《MusicGen直接使用谷歌的及其权重作为文本编码器模型,并使用及其权重作为音频压缩模型。
2024-07-31 20:42:18
675
原创 昇思25天学习打卡营第11天|K近邻算法实现红酒聚类
K近邻算法(K-Nearest-Neighbor, KNN)是一种用于分类和回归的非参数统计方法,最初由 Cover和Hart于1968年提出(Cover等人,1967),是机器学习最基础的算法之一。它正是基于以上思想:要确定一个样本的类别,可以计算它与所有训练样本的距离,然后找出和该样本最接近的k个样本,统计出这些样本的类别并进行投票,票数最多的那个类就是分类的结果。KNN的三个基本要素:K值,一个样本的分类是由K个邻居的“多数表决”确定的。K值越小,容易受噪声影响,反之,会使类别之间的界限变得模糊。
2024-07-31 16:55:39
709
原创 昇思25天学习打卡营第10天|基于MobileNetv2的垃圾分类
MobileNet网络是由Google团队于2017年提出的专注于移动端、嵌入式或IoT设备的轻量级CNN网络,相比于传统的卷积神经网络,MobileNet网络使用深度可分离卷积(Depthwise Separable Convolution)的思想在准确率小幅度降低的前提下,大大减小了模型参数与运算量。并引入宽度系数 α和分辨率系数 β使模型满足不同应用场景的需求。
2024-07-31 00:21:16
547
原创 昇思25天学习打卡营第9天|使用静态图加速
AI编译框架分为两种运行模式,分别是动态图模式以及静态图模式。MindSpore默认情况下是以动态图模式运行,但也支持手工切换为静态图模式。
2024-07-30 22:34:53
860
原创 昇思25天学习打卡营第8天|保存与加载
这一节比较简单,主要介绍对训练好的模型的参数进行保存与加载,也对应上一文章的注意过程记录。这里面涉及的是save_checkpoint函数、load_checkpoint和load_param_into_net函数。值得注意的是,MindIR模型。如果说checkpoint是对标PyTorch的checkpoint,那MindIR预计是对标onnx和onnxruntime,用于端侧(后文写着还有云侧)使用的是export函数接口。
2024-07-30 22:11:15
247
原创 昇思25天学习打卡营第7天|模型训练
从网络构建中加载代码,构建一个神经网络模型。nn.ReLU(),nn.ReLU(),超参(Hyperparameters)是可以调整的参数,可以控制模型训练优化的过程,不同的超参数值可能会影响模型训练和收敛速度。目前深度学习模型多采用批量随机梯度下降算法进行优化,随机梯度下降算法的原理如下:公式中,𝑛是批量大小(batch size),η是学习率(learning rate)。另外,𝑤𝑡为训练轮次𝑡中的权重参数,∇𝑙为损失函数的导数。
2024-07-30 21:23:34
796
原创 昇思25天学习打卡营第6天|函数式自动微分
对于神经网络模型,在训练阶段需要执行导数计算,然后依据链式求导法则对各部分参数进行导数计算,然后根据导数进行梯度下降优化参数。一般而言,深度学习框架都会提供好自动计算,我们主要是聚焦于网络搭建,此类基础功能更倾向于研究框架的人员关注哈哈。但学无妨~,了解一下梯度和计算图的原理,对防止bug还是有所益处的,并不能总是傻瓜式地搭网络不是~
2024-07-30 20:52:44
733
原创 昇思25天学习打卡营第5天|网络构建
当我们定义神经网络时,可以继承nn.Cell类,在__init__方法中进行子Cell的实例化和状态管理,在construct方法中实现Tensor操作。construct意为神经网络(计算图)构建,相关内容详见使用静态图加速。评:类似PyTorch中的模型定义和forward,这里改了forward为construct,改了继承torch.nn为继承nn.cell。这一部分完成了整一个流程,模型定义,模型实例化,模型推理。
2024-07-30 20:33:13
571
原创 昇思25天学习打卡营第4天|数据变换 Transform
通常情况下,直接加载的原始数据并不能直接送入神经网络进行训练,此时我们需要对其进行数据预处理。MindSpore提供不同种类的数据变换(Transforms),配合数据处理Pipeline来实现数据预处理。所有的Transforms均可通过map方法传入,实现对指定数据列的处理。提供了面向图像、文本、音频等不同数据类型的Transforms,同时也支持使用Lambda函数。下面分别对其进行介绍。
2024-07-30 00:14:11
624
原创 昇思25天学习打卡营第3天|数据集Dataset
模块提供了一些常用的公开数据集和标准格式数据集的加载API。对于MindSpore暂不支持直接加载的数据集,可以构造自定义数据加载类或自定义数据集生成函数的方式来生成数据集,然后通过接口实现自定义方式的数据集加载。支持通过可随机访问数据集对象、可迭代数据集对象和生成器(generator)构造自定义数据集,下面分别对其进行介绍。
2024-07-29 20:30:37
912
原创 昇思25天学习打卡营第2天|张量
张量是MindSpore网络运算中的基本数据结构评:在计算机基本知识里,有数据结构与算法。本质是用合适的计算机能表示和理解的方式(数据结构)描述事物,以更快、更省空间地进行计算(算法实现)。在数据处理和信号处理、人工智能领域,向量化编程是一种思想,通过用数组、矩阵、张量进行数据表示,进而运算。因而线性代数起着一定作用,因为就是行向量、列向量、矩阵的各种运算和研究,而数组可以看成向量 ,张量本质即为AI编程框架的多维数组。
2024-07-06 12:07:55
546
原创 昇思25天学习打卡营第1天 | 快速入门
快速入门走通了一个深度学习基本流程。大约分为四个模块。后续变成工程时,大约转换成不同的.py文件。1.数据预处理,了解数据情况,例如图片与标签的组织结构,使用mindspore.datasett模块进行数据预处理,定义一些超参数,比如batch_size。定义了一些transforms参数,比如vision.Rescale和vision.Normalize。和PyTorch的transform也挺像2.搭网络模型。这是算法核心之一,模型的结构利用了先验信息,针对数据性质选取网络层。
2024-06-30 23:11:48
1620
原创 简记 零基础入门大模型技术挑战赛
【零基础】跑通一站式baseline!按着流程来就好了,非常友好。【Baseline链接】讯飞星火大模型API。
2024-06-29 17:46:50
126
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人