- 博客(19)
- 收藏
- 关注
原创 《昇思25天学习打卡笔记》---第十九天|应用实践-生成式-DCGAN生成漫画头像
DCGAN是在原始的生成对抗网络(GAN)基础上改进而来,特别适合处理图像数据,可以生成具有高度真实感的图像样本。:构建生成器和判别器网络,其中生成器接收随机噪声作为输入,输出生成的图像;判别器接收图像(真实的或生成的)作为输入,输出一个概率值,表示输入图像为真实图像的可能性。最终,经过充分训练后,DCGAN的生成器应该能够从随机噪声中生成看起来像是真实图像的样本,特别是针对特定类型的数据集,如漫画头像等。:更新生成器和判别器的权重,使生成器能够生成更逼真的图像,使判别器能更准确地区分真实和伪造的图像。
2024-07-23 08:35:54
252
原创 《昇思25天学习打卡笔记》---第十八天|应用实践-生成式-CycleGAN图像风格迁移互换
具体来说,如果我们将一张马的图片转换成斑马的图片,再将这张斑马的图片转换回马的图片,那么最后得到的马的图片应该和最初的马的图片非常接近。,它们分别处理两个不同的域(Domain)。生成器的任务是将来自一个域的图像转换为看起来像是另一个域中的图像,而判别器的任务是区分真实的图像和生成器产生的图像。此外,CycleGAN还使用了对抗性损失(Adversarial Loss),这是所有GAN架构的基础,它使生成器能够产生足够逼真的图像以欺骗判别器,从而使生成的图像更接近目标域的风格或特征。
2024-07-22 08:02:36
288
原创 《昇思25天学习打卡笔记》---第十七天|应用实践-LLM和Ai应用-基于MobileNetv2的垃圾分类
MobileNetV2 是Google于2018年提出的一种轻量级深度学习模型,专为移动设备和嵌入式系统设计,以实现高效、低功耗的视觉任务处理。它是MobileNetV1的升级版本,在保持模型紧凑性的同时,进一步提高了准确度。主要特点:倒残差结构(Inverted Residuals):MobileNetV2引入了倒残差结构,即在深度可分离卷积之前增加了一个点卷积层来扩展通道数,然后再通过深度可分离卷积进行特征提取,最后通过另一个点卷积层压缩通道数回到原来。这种结构可以更有效地利用计算资源。
2024-07-19 08:36:43
328
原创 《昇思25天学习打卡笔记》---第十五天|应用实践-LLM和Ai应用-K近邻算法实现红酒聚类
然而,它的缺点也很明显,如计算量大(特别是当数据集很大时),且需要大量的内存来存储整个训练数据集;它的工作原理非常直观,核心思想是:如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,那么该样本也属于这个类别,并具有这个类别上样本的特性。:首先,你需要确定一个合适的K值,即考虑最近的邻居数量。K值的选择对结果有很大影响,太小可能会受到噪声的影响,太大可能无法对数据进行准确建模。:对于给定的测试样本,计算其与训练集中的每个样本之间的距离。:从训练集中找出距离测试样本最近的K个样本。
2024-07-04 19:29:41
219
原创 《昇思25天学习打卡笔记》---第十五天|应用实践-LLM和Ai应用-基于MindNLP+MusicGen生成自己的个性化音乐
MindNLP 和 MusicGen 是两个相关的但功能不同的深度学习模型,它们都是在昇思(MindSpore)框架下进行开发和应用的。
2024-07-03 22:26:43
239
原创 《昇思25天学习打卡笔记》---第十四天|应用实践-计算机视觉-Vision Transformer图像分类
ViT的基本思想是将输入的图像切分为固定大小的图像块(patch),并把这些图像块视为序列中的“词”,从而使得Transformer可以直接处理图像数据。ViT的一个关键优点是它在没有卷积层的情况下仍然能够在图像分类任务上表现出色,这表明注意力机制能够有效地捕捉图像中的全局特征。然而,ViT在处理小数据集时可能会遇到过拟合问题,并且计算成本相对较高,因为自注意力机制在序列长度增加时的计算复杂度是平方级别的。这个模型是将Transformer中的Encoder层单独拿了出来,然后进行图像的分类。
2024-07-02 20:30:58
316
原创 《昇思25天学习打卡笔记》---第十三天|应用实践-计算机视觉-SSD目标检测
SSD(Single Shot MultiBox Detector)是一种用于物体检测的深度学习模型,由Wei Liu等人在2016年提出。与传统的两阶段检测器(如R-CNN系列)不同,SSD是一个单阶段检测器,这意味着它能够直接从输入图像中同时预测出物体的类别和位置,无需先生成候选区域(region proposals),从而大大提高了检测速度。
2024-07-01 22:05:51
1145
原创 《昇思25天学习打卡笔记》---第十二天|应用实践-计算机视觉-ShuffleNet图像分类图像分类
ShuffleNetShuffleNetV1是旷视科技提出的一种计算高效的CNN模型,和MobileNet, SqueezeNet等一样主要应用在移动端,所以模型的设计目标就是利用有限的计算资源来达到最好的模型精度。这个模型主要是引入了两中操作,是Pointwise Group Convolution和Channel Shuffle,使其在保持不错的准确率的前提下,将参数量降低了下来。
2024-06-30 21:38:47
368
原创 《昇思25天学习打卡笔记》---第十一天|应用实践-应用实践-ResNet50图像分类
ResNet50,即Residual Network 50,是一种深度学习模型,特别设计用于解决深度神经网络中梯度消失或爆炸问题以及退化问题。BasicBlock是最简单的ResNet构建块,通常包含两个3x3的卷积层,每一层后跟一个批量归一化(Batch Normalization)层和激活函数(如ReLU)。如果需要调整通道数或步幅,通常会使用一个1x1的卷积层作为shortcut连接的一部分。,ResNet使用残差网络显著减轻退化问题,实现更深的网络结构设计。
2024-06-29 21:30:16
1590
原创 《昇思25天学习打卡笔记》---第九天|应用实践-应用实践-ResNet50迁移学习
迁移学习(Transfer Learning)是一种机器学习方法,它的核心思想是在一个任务(源任务)上学习到的模型能够被应用到另一个不同的但相关的任务(目标任务)上,以提高学习效率和性能。这种做法模仿了人类学习的方式,即我们在学习新事物时,往往能利用过去学到的知识和经验,从而更快地理解和掌握新知识。在传统的机器学习中,模型通常需要在目标任务上从头开始学习,这意味着需要大量的标注数据。迁移学习通过利用源任务上已经学习到的特征表示或模型参数,可以减少目标任务上所需的数据量,加速学习过程,并提高模型的泛化能力。
2024-06-28 21:52:08
155
原创 《昇思25天学习打卡笔记》---第九天|应用实践-计算机视觉-FCN图像语义分割
语义分割是计算机视觉领域中的一个重要概念,它是一种像素级的图像理解任务。具体来说,语义分割是指给定一张图像,任务是为图像中的每个像素分配一个类别标签,这个标签代表了该像素所属的物体或区域的语义类别。例如,在一张街道景象的照片中,语义分割模型会为天空、道路、行人、车辆等不同对象的像素分别标记上不同的标签,这样就可以明确地区分和识别图像中各个部分的内容和含义。
2024-06-27 22:51:41
378
原创 《昇思25天学习打卡笔记》---第八天|初学入门---保存与使用静态图加速
模型保存:对于训练后的模型,模型的各个参数需要进行一定的保存,如果之后有新的数据想要进行训练,那么就可以使用原有的模型对新数据进行训练。这一节比较简单。如果要加载模型的权重,需要先建立相同的模型,再用和方法加载参数。使用静态图加速先了解以下什么是静态图,什么是动态图。静态图在程序执行前定义好整个计算流程,即将计算步骤组织成一个静态的图形结构,其中节点表示操作(例如加法、乘法或卷积等),边表示数据流。这个图在编译阶段会被优化,然后生成高效的机器代码以供执行。
2024-06-26 21:26:53
217
原创 《昇思25天学习打卡笔记》---第七天|初学入门---模型训练
无论是那种模型,对于一个完整模型的运行过程,我们都需要进行以下四个方向。1.导入数据,并对数据进行处理,形成模型能理解的形式。4.将数据及输入模型并进行运行,完成后对模型进行验证。2.确定自己需要构建的模型,并完成初步构建。3.调整参数,定义超参数,损失函数等。我们对手写数据进行导入。
2024-06-25 22:44:55
198
原创 《昇思25天学习打卡笔记》---第六天|初学入门---函数式微分
但是对于function函数有多个输出的时候,mindspore.grad会对所有输出进行求导,如果我们只想对其中的一个输出进行求导的时候,需要用到stop_gradint函数。神经网络利用反向传播算反,将预测值和标签送入损失函数,获得loss,然后反向传播计算,获得梯度,最后更新模型参数.mindspore中有专门的函数来处理微分问题:mindspore.grad。本站更需要一点高等数学的基础, 需要知道如何进行正向传播和反向传播。有了这两部分,便可以很简单的实现神经网络中函数的自动求导。
2024-06-25 08:49:22
124
原创 《昇思25天学习打卡笔记》---第五天|初学入门---网络构建
的类,并在其中使用 MindSpore 提供的层和操作。例如,构建一个 ResNet 模型,你可以创建一个类并使用。定义模型的时候,模型集成nn.Cell类,并且在__init__方法中对Cell进行实例化和管理。nn.SequentialCell中定义3层,每一层的输入参数要和上一层的输出参数相同。nn.SequentialCell为Cell容器,用于快速构造神经网络模型。nn.Softmax是用来离散化的函数,将值范围(0,1】nn.Dense为全连接层,使权重和偏差对输入进行变换。
2024-06-24 06:31:05
593
原创 《昇思25天学习打卡笔记》---第四天|初学入门---数据变换
数据变换的目的是因为原始数据较为杂乱,如果想要将原始数据输入到神经网络或RNN等网络中进行运算,那么势必要对原始数据做一定的数据。mindspore中使用Transforms进行数据的预处理,Transforms允许通过map方法传入,实现对指定数据列的处理。第二步,对其进行变换,主要是进行归一化和根据均值和方差对其进行标准化,再对其进行整理。Transforms对图像,文本,声音等都支持,都是进行离散化之后进行预测的。我们这里对其进行引进,以手写数据集作为示例进行演示。以上是对于一个句子进行分词的操作。
2024-06-23 07:47:07
158
原创 《昇思25天学习打卡笔记》---第三天|初学入门---数据集
那么在每个epoch开始时,数据集中的样本会被随机打乱顺序,这样可以确保模型在训练过程中能够看到数据的不同排列,有助于提高模型的泛化能力。mindspore中提供了大量的数据接口,便于我们做一些基本的数据导入工作,有一些经典的数据集。这一段代码中有两个点,一个是原始数据已经分好了训练集和测试集(如果需要验证集,需要自己进行拆分)在mindspore中,对于那些随机访问不可行的数据,可以使用迭代的方法来获取数据。原始的数据当中包含两部分,一部分是图,一部分是标签。数据及下载好之后,需要对数据及进行导入。
2024-06-22 08:02:41
198
原创 《昇思25天学习打卡笔记》---第一天|初学入门---张量学习
算是一种比较特殊的数据变量,对于深度学习来说,应该是常用的一种数据格式。相同之处在于,使用np.array生成的数据和Tensor生成的数据有着相同的字节数根据输出来看,两个同样都是Int32的类型,并且占用字节数是相同的。
2024-06-21 08:16:55
315
原创 《昇思25天学习打卡笔记》---第一天|初学入门---快速入门
这时一个全场景的深度学习模型,包含了神经网络,自然语言处理,甚至包括最近很火的AI等方面的内容,集成了大量的框架,从硬件底层到高层的应用皆有所涉足,对于我这种深度学习小白来说很适合入门。这是昇思的一个模块配合图,我来简单说一下自己的理解:1.昇思大模型支持多端运行,兼容多个硬件平台,这是我一开始学习的时候所担忧的,根据当前的条件,实验室有的也是英伟达的显卡,是否学习了这个模型之后就会被华为的硬件所绑定了,这一部分打消了我的顾虑,让我可以安心学习。
2024-06-20 08:43:44
251
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人