- 博客(25)
- 收藏
- 关注
原创 昇思25天学习打卡营第25天|应用实践之Diffusion扩散模型
今天的应用实践是Diffusion扩散模型,也是生成式模型的一种。官方文档结合原理和代码详细介绍了Diffusion扩散模型的结构,但是本文只会简单介绍Diffusion扩散模型的原理。此外就是展示一下自己的运行结果,并进行总结。该部分内容来自官方文档,非原创Diffusion是从纯噪声开始通过一个神经网络学习逐步去噪,最终得到一个实际图像。Diffusion对于图像的处理包括以下两个过程:我们选择的固定(或预定义)正向扩散过程𝑞:它逐渐将高斯噪声添加到图像中,直到最终得到纯噪声。
2024-07-19 01:02:05
2186
原创 昇思25天学习打卡营第24天|应用实践之Pix2Pix实现图像转换
今日要实践的模型是Pix2Pix模型,用于图像转换。使用官方的指定数据集,该数据集是已经经过处理的外墙(facades)数据,可以直接使用mindspore.dataset的方法读取。由于Pix2Pix模型是基于cGAN(条件生成对抗网络),本文会先简单介绍cGAN图像生成的原理,再简单介绍一下Pix2Pix模型,然后展示自己的运行结果,不作代码展示,最后进行总结。
2024-07-17 11:11:37
899
原创 昇思25天学习打卡营第23天|应用实践之CycleGAN图像风格迁移互换
从今日开始,要今日应用实践中的生成式模型,将会实践体验用生成式模型进行诸如风格迁移的有趣的应用。今日要实践的模型是CycleGAN,用于图像风格迁移。使用的数据集里面的图片来源于ImageNet,该数据集共有17个数据包,本文只使用了其中的苹果橘子部分。图像被统一缩放为256×256像素大小,其中用于训练的苹果图片996张、橘子图片1020张,用于测试的苹果图片266张、橘子图片248张。本文会先简单介绍CycleGAN模型,然后展示自己的运行结果,不作代码展示,最后进行总结。
2024-07-16 17:10:07
783
原创 昇思25天学习打卡营第22天|应用实践之DCGAN生成漫画头像
今日要实践的模型是DCGAN,用于生成漫画头像,生成头像原理可参考GAN图像生成。使用的动漫头像数据集共有70,171张动漫头像图片,图片大小均为96*96。本文会先简单介绍DCGAN模型,然后展示自己的运行结果,不作代码展示,最后进行总结。该部分内容来自官方文档,非原创DCGAN(深度卷积对抗生成网络,Deep Convolutional Generative Adversarial Networks)是GAN的直接扩展。不同之处在于,DCGAN会分别在判别器和生成器中使用卷积和转置卷积层。
2024-07-15 22:38:28
800
原创 昇思25天学习打卡营第21天|应用实践之GAN图像生成
今日要实践的模型是GAN,用于图像生成。使用的MNIST手写数字数据集,共有70000张手写数字图片,包含60000张训练样本和10000张测试样本,数字图片为二进制文件,图片大小为28*28,单通道,图片已经预先进行了尺寸归一化和中心化处理。本文会先简单介绍GAN图像生成的原理,然后展示自己的运行结果,不作代码展示,最后进行总结。GAN的基本思想不难,核心是生成器和判别器,其数学原理是概率统计,公式比较复杂,不同的GAN模型的生成器和判别器是不同的。
2024-07-14 16:01:14
764
原创 昇思25天学习打卡营第20天|应用实践之RNN实现情感分类
今天的应用实践是RNN实现情感分类,情感分类是自然语言处理中的经典任务,是典型的分类问题。RNN是一种循环神经网络,接收序列数据作为输入。模型训练所采用的数据集是IMDB影评数据集,数据集包含Positive和Negative两类。由于该数据集是英文数据集,所以训练后的情感分类模型只能分类英文语句的情感。本文会先简单介绍RNN模型,然后展示自己的运行结果,不作代码展示,最后进行总结。
2024-07-13 15:31:37
882
原创 昇思25天学习打卡营第19天|应用实践之基于MobileNetv2的垃圾分类
今天的应用实践是垃圾分类代码开发,整体流程是读取本地图像数据作为输入,对图像中的垃圾物体进行检测,并且将检测结果图片保存到文件中。采用的是MobileNetv2模型,使用官方提供的数据集,数据集分为4大类(干垃圾、可回收物、湿垃圾、有害垃圾),每个大类里面都有一些具体物体。
2024-07-12 22:19:25
689
原创 昇思25天学习打卡营第18天|应用实践之FCN图像语义分割
今天的应用实践是计算机领域的图像语义分割任务,该任务比目标检测任务还要难,除了要识别物体类别和位置,还要标注出来,像素级的标注。图像语义分割(semantic segmentation)是图像处理和机器视觉技术中关于图像理解的重要一环,AI领域中一个重要分支,常被应用于人脸识别、物体检测、医学影像、卫星图像分析、自动驾驶感知等领域。语义分割的目的是对图像中每个像素点进行分类。与普通的分类任务只输出某个类别不同,语义分割任务输出与输入大小相同的图像,输出图像的每个像素对应了输入图像每个像素的类别。
2024-07-11 14:32:27
1068
原创 昇思25天学习打卡营第17天|应用实践之SSD目标检测
今天要学习的内容是计算机视觉领域中的目标检测任务。与图像分类相比,目标检测更难,因为目标检测不仅要检测出图片中的物体的类别,还要检测出该物体的位置。现主流的目标检测算法大致可分为两种,一种是基于CNN的,另一种是基于Transformer的。基于CNN的还可以细分为三种,以Faster R-CNN为代表的一阶段目标检测,以Yolo为代表的二阶段目标检测,以及Anchor-free算法。本文会先简单介绍一下SSD模型,然后在MindSpore框架下,使用COCO2017数据集训练SSD模型,并进行模型评估。
2024-07-10 15:28:59
810
原创 昇思25天学习打卡营第16天|应用实践之Vision Transformer图像分类
今天同样是图像分类任务,也更换了模型,使用的时候计算机视觉版的Transformer,即Vision Transformer,简称ViT。Transformer本是应用于自然语言处理领域的模型,用于处理语言序列,而要将其应用于图像,关键在于如何把图像转化为序列数据。ViT对图像进行分割,分割成一个一个的patch,然后再加上空间编码,由此便把图像转化为序列数据,使得Transformer也可以应用于计算机视觉领域。
2024-07-09 16:56:03
927
原创 昇思25天学习打卡营第15天|应用实践之ShuffleNet图像分类
今天的应用实践的领域是计算机视觉领域,更确切的说是图像分类任务,不过,与昨日不同的是,今天所使用的模型是ShuffleNet模型。ShuffleNetV1是旷视科技提出的一种计算高效的CNN模型,和MobileNet, SqueezeNet等一样主要应用在移动端,所以模型的设计目标就是利用有限的计算资源来达到最好的模型精度。今天会简单介绍一些ShuffleNet模型,并使用CIFAR-10数据集进行训练与评估,最后进行模型预测。
2024-07-09 00:23:49
798
原创 昇思25天学习打卡营第14天|应用实践之ResNet50图像分类
今天的应用实践的模型与昨日一样,同样是ResNet模型,也是同样将其应用于计算机视觉中的图像分类任务,不过昨天的中心点放在迁移学习。而今天的实践要完整的体验从数据集准备,到模型搭建,再到模型从头训练和验证这一流程,所以会对ResNet模型进行简单介绍。残差网络结构(Residual Network)是ResNet网络的主要亮点,ResNet使用残差网络结构后可有效地减轻退化问题,实现更深的网络结构设计,提高网络的训练精度。
2024-07-07 22:49:39
842
原创 昇思25天学习打卡营第13天|应用实践之ResNet50迁移学习
今日的应用实践的模型是计算机实践领域中十分出名的模型----ResNet模型。ResNet是一种残差网络结构,它通过引入“残差学习”的概念来解决随着网络深度增加时训练困难的问题,从而能够训练更深的网络结构。现很多网络极深的模型或多或少都受此影响。今日的主要任务是使用ResNet50进行迁移学习,所谓的迁移学习是不从头到尾训练一个模型,而是在一个特别大的数据集上面训练得到一个预训练模型,然后使用该模型的权重作为初始化参数,最后应用于特定的任务。
2024-07-06 23:55:06
401
原创 昇思25天学习打卡营第12天|应用实践之基于MindSpore通过GPT实现情感分类
今天的应用实践是基于MindSpore通过GPT实现情感分类,这与之前的使用BERT模型实现情绪分类有异曲同工之妙,本次使用的模型是OpenAI开源的GPT,数据集是MindNLP内置的数据集imdb。我们将会使用该数据集对GPT进行训练,然后进行测试。数据集一般不会直接符合模型的输入,所以要对数据集进行预处理,主要预处理就是batch划分和Token化,处理完毕进行数据集划分即可。else:else:jit=False)GPT的数据量比GPT2少很多,训练+验证大概用了1个小时即可。
2024-07-05 23:49:22
632
原创 昇思25天学习打卡营第11天|应用实践之基于MindSpore的GPT2文本摘要
今天的应用实践是基于MindSpore的GPT2文本摘要,其实就是使用MindSpore下载模型及其权重,准备相关数据集,然后模型构建,接着进行训练,最后进行推理。
2024-07-04 17:47:56
349
原创 昇思25天学习打卡营第10天|应用实践之基于MindNLP和ChatGLM-6B实现一个聊天应用
今天的应用实践是基于MindSpore和ChatGLM-6B实现一个(伪)聊天应用,本质上就是使用MindSpore下载模型及其权重,然后调用相关API输入自己想说的话,就可以得到回复,如果要打造真正的聊天应用,则需要进行界面编写等等。ChatGLM是基于清华大学 KEG 实验室和智谱 AI 公司于 2023 年共同训练的语言模型开发的开源模型,ChatGLM-6B是参数量为6B的一个小型大模型,详细的可自行搜索了解,今天主要是借助MindSpore提供的API直接使用。
2024-07-03 22:52:26
220
原创 昇思25天学习打卡营第9天|应用实践之基于MindSpore实现的红酒分类实验
今日要学习的是使用KNN算法进行红酒分类,实践是基于MindSpore平台的,采用模式识别著名的数据集之一,数据集。今日所学习的并不难,KNN是一个很成熟的算法了,网上教程很多,使用MindSpore的API可以很快速的搭建出KNN算法,而且数据集无需做额外的处理,简单可视化一下,划分一下数据即可,最后进行训练验证。
2024-07-02 21:24:48
950
原创 昇思25天学习打卡营第8天|应用实践之基于 MindSpore 实现 BERT 对话情绪识别
昨天体验实践的模型是自然语言处理领域的模型,今天也是一样的。昨天的MusicGen是LLM模型,使用的是基于transformer的编码-解码器架构,而今天的BERT是基于transformer的双向编码器架构。由于主要目的是体验实践使用MindSpore运行BERT模型,所以只对BERT模型进行简单介绍,详细的可以自行搜索资料了解学习,然后就是使用MindSpore所提供的API去运行一下BERT模型。
2024-07-02 00:12:49
958
原创 昇思25天学习打卡营第7天|应用实践之基于MindNLP+MusicGen生成自己的个性化音乐
在前几日的学习之后,对MindSpore有了基础了解,可以上手使用了。今日要学习体验的是AI模型的应用实践,体验的模型是Meta AI提出的MusicGen模型,需搭配MindNLP使用。因为只是体验模型和学习使用MindNLP的API,所以在没有NLP基础的情况下,也是勉强能够上手的,不过建议去听一下李宏毅老师的机器学习课程,有个基础可以更好上手学习。下面会对MusicGen进行简单介绍,然后配合MindNLP的API实践使用该模型,体验该模型的基础功能。
2024-06-30 18:37:07
2230
原创 昇思25天学习打卡营第6天|初学教程之模型保存与加载以及静态图加速
模型保存与加载是一件很容易的事情,只要明白模型保存的是什么数据,类型是什么,用什么API保存即可,加载也是同样的原理。实际上,一个模型最重要的就是模型结构和模型参数,模型结构就是计算规则,前几天搭建的网络代码就是模型结构,模型参数即昨天所提到的诸如w,b的数据,用于与输入数据进行计算。而我们需要保存的其实就是模型参数,因为模型结构就是代码,我们已经保存了。所有现代AI框架基本支持静态图和动态图两种模式,两种模式在深度学习过程中有着各自的优缺点。
2024-06-29 23:42:26
1084
原创 昇思25天学习打卡营第5天|初学教程之函数式自动微分和模型训练
神经网络的训练主要使用反向传播算法,模型预测值(logits)与正确标签(label)送入损失函数(loss function)获得loss,然后进行反向传播计算,求得梯度(gradients),最终更新至模型参数(parameters)。不同的模型,不同的损失函数计算梯度的公式都不太一样,如果每次都需要人为为模型定义梯度计算,那学习和上手成本就太高了。正是因为自动微分技术的存在,让深度学习的学习和上手成本降低,从而让更多人可以进入该领域。自动微分能够计算可导函数在某点处的导数值,是反向传播算法的一般化。
2024-06-28 23:47:01
670
原创 昇思25天学习打卡营第4天|初学教程之网络构建
神经网络模型的搭建是学习深度学习必不可少的,神经网络模型是由神经网络层和Tensor操作构成的。MindSpore的模块提供了常见神经网络层的实现,有助于开发者快速搭建自己想要的模型,实现算法原型。在MindSpore中,Cell类是构建所有网络的基类,也是网络的基本单元,所有模型的搭建最好继承该基类。MindSpore中一个神经网络模型表示为一个Cell,它由不同的子Cell构成。使用这样的嵌套结构,可以简单地使用面向对象编程的思维,对神经网络结构进行构建和管理。
2024-06-27 21:48:52
451
原创 昇思25天学习打卡营第3天|初学教程之数据集和数据变换
众所周知,数据是深度学习的基础,高质量的数据输入将在整个深度神经网络中起到积极作用。任何一个AI框架都必须实现数据集相关的加载、保存、变换等操作,MindSpore也不例外。MindSpore提供基于Pipeline的数据引擎,通过数据集(Dataset)和数据变换(Transforms)实现高效的数据预处理。其中Dataset是Pipeline的起始,用于加载原始数据。提供了内置的文本、图像、音频等数据集加载接口,并提供了自定义数据集加载接口。
2024-06-26 23:52:36
1791
原创 昇思25天学习打卡营第2天|初学教程之张量Tensor
张量(Tensor)是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在维空间内,有个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。张量是一种特殊的数据结构,与数组和矩阵非常相似。与大多AI框架一样,张量(Tensor)是MindSpore网络运算中的基本数据结构,MindSpore中各种API的实现基本离不开张量。
2024-06-25 22:43:52
682
原创 昇思25天学习打卡营第1天|初学教程之快速入门
本节将会整体介绍昇思MindSpore和华为昇腾AI全栈,并介绍昇思MindSpore在华为昇腾AI全栈中的位置。对昇思MindSpore感兴趣的开发者,最后可以参与昇思MindSpore的社区并一键三连。此外,MindSpore平台提供了每次两小时的免费云端算力以供开发者学习实践,本文最后使用了云端算力进行简单的深度学习模型学习实践。
2024-06-24 23:11:49
678
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人