- 博客(29)
- 资源 (4)
- 收藏
- 关注
原创 昇思25天学习打卡营第17天|Vision Transformer图像分类
你可以去 http://image-net.org 这个网站下载一个叫ImageNet的大图片包,不过咱们这次用的只是里面的一小部分图片。当你运行第一段代码的时候,程序会自动帮你下载和解压这些图片,所以你要确保你的图片放在正确的位置,按照下面的结构来放。近些年,随着基于自注意(Self-Attention)结构的模型的发展,特别是Transformer模型的提出,极大地促进了自然语言处理模型的发展。由于Transformers的计算效率和可扩展性,它已经能够训练具有超过100B参数的空前规模的模型。
2024-08-01 01:59:09
211
原创 昇思25天学习打卡营第16天|基于MindSpore的红酒分类实验
简单说,就是拿一个新的数据点去跟已经分类好的数据比对,看看它跟哪些数据点最接近,然后根据这些邻居的类别来决定新数据点属于哪一类。比如,如果你想知道一个水果是不是苹果,就去找几个跟它最像的水果看看,如果大部分都是苹果,那这个水果很可能也是苹果。咱们会用它来写程序,让计算机自动找出数据点的最近邻居,然后根据这些邻居来预测新数据点的类别。它正是基于以上思想:要确定一个样本的类别,可以计算它与所有训练样本的距离,然后找出和该样本最接近的k个样本,统计出这些样本的类别并进行投票,票数最多的那个类就是分类的结果。
2024-08-01 01:56:19
300
原创 昇思25天学习打卡营第15天|CycleGAN图像风格迁移互换
CycleGAN 这个东西啊,就是一种能让图片变样子的网络。它牛的地方在于不用成对的照片也能学会怎么从一种风格变成另一种风格。比如说,你想把一张普通照片变成梵高画风的,但是又没有现成的对照照片,CycleGAN 就能派上用场了。它不用像 Pix2Pix 那样非得有一张原图和一张目标图一起训练。CycleGAN 是通过一种叫循环一致性损失的东西,加上对抗性训练,让两张不同风格的照片可以互相转换。这样一来,不管是换风格还是做其他图像处理的事儿,都变得更加方便灵活了。
2024-08-01 01:50:48
290
原创 昇思25天学习打卡营第14天|DCGAN生成漫画头像
DCGAN(深度卷积对抗生成网络,Deep Convolutional Generative Adversarial Networks)是GAN的直接扩展。不同之处在于,DCGAN会分别在判别器和生成器中使用卷积和转置卷积层。判别器由分层的卷积层、BatchNorm层和LeakyReLU激活层组成。先搞清楚啥是隐向量,其实就是用一些方法从原图里抽出来的简单向量,能抓住图里的特点,但这些特点在原图里不容易看出来。DCGAN 就是让GAN变得更厉害的版本,它用了卷积层和反卷积层来帮生成器和裁判器升级。
2024-08-01 01:33:04
239
原创 昇思25天学习打卡营第13天|Diffusion扩散模型
DDPM 是一种基于马尔科夫链的生成模型。其基本思想是将数据生成视为一个逐步去噪的过程,即从纯噪声逐渐生成真实数据。其基本思想是将数据生成视为一个逐步去噪的过程,即从纯噪声逐渐生成真实数据。前向扩散过程(Forward Diffusion Process): 将数据逐步添加噪声,直到得到一个几乎完全是噪声的数据。前向扩散过程(Forward Diffusion Process): 将数据逐步添加噪声,直到得到一个几乎完全是噪声的数据。前向过程从原始数据开始,通过一系列加噪步骤,将数据转换为高斯噪声。
2024-08-01 01:29:26
225
原创 昇思25天学习打卡营第12天|GAN图像生成
两者相互竞争,推动对方性能提升。训练中,生成器不断学习生成更高质量的假图像以欺骗判别器,而判别器则学习更准确地识别真假图像。GAN的目标是通过这种对抗过程,使生成模型输出的数据分布接近真实数据分布,实现高质量的图像生成。判别器优化:判别器通过计算损失函数,调整参数,使得真实样本的概率尽可能接近1,生成样本的概率尽可能接近0。初始阶段:训练初期,生成器和判别器的表现都较差,生成器生成的图像与真实数据差距较大。生成器优化:生成器根据判别器的反馈,优化其输出,使得生成的图像更贴近真实数据分布。
2024-08-01 01:27:01
246
原创 昇思25天学习打卡营第11天|Pix2Pix实现图像转换
Pix2Pix是基于条件生成对抗网络(cGAN, Condition Generative Adversarial Networks )实现的一种深度学习图像转换模型,该模型是由Phillip Isola等作者在2017年CVPR上提出的,可以实现语义/标签到真实图片、灰度图到彩色图、航空图到地图、白天到黑夜、线稿图到实物图的转换。包括环境准备、下载数据集、数据加载和处理、创建cGAN神经网络生成器和判别器、模型训练、模型推理等。
2024-08-01 01:24:20
218
原创 昇思25天学习打卡营第10天|LSTM+CRF序列标注
序列标注指给定输入序列,给序列中每个Token进行标注标签的过程。序列标注问题通常用于从文本中进行信息抽取,包括分词(Word Segmentation)、词性标注(Position Tagging)、命名实体识别(Named Entity Recognition, NER)等。考虑到输入序列可能存在Padding的情况,CRF的输入需要考虑输入序列的真实长度,因此除发射矩阵和标签外,加入。在实现CRF后,我们设计一个双向LSTM+CRF的模型来进行命名实体识别任务的训练。
2024-08-01 01:16:44
267
原创 昇思25天学习打卡营第9天|RNN实现情感分类
循环神经网络(Recurrent Neural Network, RNN)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的神经网络。模型训练的一般逻辑,包括读取数据、进行正向传播和反向传播更新权重,最后返回损失值。接下来将使用tqdm库设计一个训练一个epoch的函数,用于训练过程和损失的可视化。包括数据集准备、模型构建、训练与评估、模型保存和预测等全流程。重点介绍了在数据预处理、模型定义和训练细节方面的实现方法。
2024-08-01 01:13:52
273
原创 昇思25天学习打卡营第8天|基于 MindSpore 实现 BERT 对话情绪识别
通过 BertForSequenceClassification 构建用于情感分类的 BERT 模型,加载预训练权重,设置情感三分类的超参数自动构建模型。后面对模型采用自动混合精度操作,提高训练的速度,然后实例化优化器,紧接着实例化评价指标,设置模型训练的权重保存策略,最后就是构建训练器,模型开始训练。在对话情绪检测方面,侧重于判断智能对话中用户的情绪状态,对用户文本的情绪类型进行自动分类并提供置信度评估,包括正面、负面和中性等情绪类别。
2024-08-01 01:03:21
220
原创 昇思25天学习打卡营第7天|基于MindSpore的GPT2文本摘要
GPT-2没专门弄中文的分词器,但BERT有,比如bert-base-chinese,它的分词器特擅长对付中文,所以我们用BertTokenizer来搞定。咱们得把话变成BERT能懂的样子,就是把句子切成小块,换成ID号,还要加些特别符号,比如[CLS]和[SEP]。今天做一个根据一段文章提取摘要的提取器。安装tokenizers和mindnlp。预装MindSpore环境。
2024-08-01 00:58:28
276
原创 昇思25天学习打卡营第22天|基于MindNLP+MusicGen生成自己的个性化音乐
MusicGen直接使用谷歌的t5-base及其权重作为文本编码器模型,并使用EnCodec 32kHz及其权重作为音频压缩模型。如果你想随便生成点啥,可以用.get_unconditional_inputs搞个随机起点,再用.generate做歌,也别忘了设do_sample=True。采样模式做出来的音乐更好听,所以我们一般都用这个。用户输入的文本描述作为输入传递给一个固定的文本编码器模型,以获得一系列隐形状态表示。对这些音频token使用音频压缩模型(如EnCodec)进行解码,以恢复音频波形。
2024-08-01 00:49:43
180
原创 昇思25天学习打卡营第23天|基于MindSpore通过GPT实现情感分类
用MindSpore和GPT来做情感分类,就是让电脑学会分辨文字里的情绪。首先,我们要准备一堆带情绪标签的文字数据,比如“开心”或“难过”。接着,用MindSpore搭建GPT模型,训练它识别这些情绪。训练好了之后,只要给它一段文字,它就能猜出这是高兴还是悲伤的。这样就能帮我们在社交媒体、评论区啥的地方快速了解大家的心情啦!# 实验环境已经预装了mindspore==2.2.14,如需更换mindspore版本,可更改下面mindspore的版本号。
2024-08-01 00:40:32
149
原创 昇思25天学习打卡营第24天|基于MobileNetv2的垃圾分类
下面这段代码是从官方文档来的,它定义了一个MobileNetV2模型,里面有个轻量级的主干网(MobileNetV2Backbone)和一个分类头(MobileNetV2Head)。这个网络里的激活函数用的是ReLU6,池化部分用的是全局平均池化。inverted_residual_setting:倒置残差块的配置列表。作用:整合主干网络和分类头,构建完整的MobileNetV2模型。input_channel:输入层的通道数。last_channel:最后一层的通道数。执行整个模型的正向传播。
2024-08-01 00:35:16
158
原创 昇思25天学习打卡营第25天|文本解码原理-以MindNLP
自回归语言模型可以使用不同的方法来建模条件概率分布。其中,在基于Transformer架构的大语言模型出现之前,一种常见的方法是使用循环神经网络(Recurrent Neural Network,RNN),它基于序列数据的概率分布,通过建模当前词语与前面已生成词语的条件概率来预测下一个词语,即。RNN 可以通过在每个时间步骤上接收输入并保留隐状态信息,来捕捉序列中的上下文关系。模型,可以学习到词语之间的概率分布,并用于生成新的文本。
2024-08-01 00:29:32
222
原创 昇思25天学习打卡营第XX天|10-使用静态图加速
MindSpore有个很酷的AI编译器,能让你的程序用两种方式跑。一种是动态图模式,就像边搭积木边玩,调试起来特方便,但优化上有点局限。另一种是静态图模式,先搭好积木再玩,这样可以全局优化,特别适合那些对速度要求高的固定游戏规则。你可以根据自己的需要,选择哪种模式来平衡编程快慢和程序跑得快不快。
2024-07-31 23:53:43
152
原创 昇思25天学习打卡营第XX天|09-保存与加载
MindSpore用了一种超棒的技术,叫自动微分,能自动帮我们搞定导数那些复杂计算。这样呢,就算程序里有各种循环判断或者高级玩法,也能顺溜地运行,而且代码看起来就像普通的Python一样。它还能让动态写的代码变成静态的,方便优化。不过有时候,要想发挥最大效果,咱们还得自己动手调一调设置。
2024-07-31 23:50:39
321
原创 昇思25天学习打卡营第4天|07-函数式自动微分
这章讲了两件事:一是神经网络怎么学东西,它用“反向传播”的方法,看预测错哪儿了,然后一点点改好。二是有个更简单的办法叫“自动微分”,它把复杂的数学变成简单的,不用你自己算导数,MindSpore就用了这招。
2024-07-31 23:42:01
434
原创 昇思25天学习打卡营第3天|05-数据变换Transforms
整理得挺棒的,都是些简单好懂的代码例子,用起来很方便。这章还总结了下,挺有帮助的。不过,我觉得要是对编程完全没基础的话,直接看可能会有点乱,因为知识顺序可能不按常理出牌。所以,最好还是先打点基础再来用这些,效果会更好哦!
2024-07-31 23:35:13
460
原创 昇思25天学习打卡营第02天|04-数据集Dataset
这个算力超厉害,96G的Ascend910,还有py39-ms2.2.14-cann7.0.0这些专业配置。在云上就能编程,不用自己搭环境,特别方便。不过要注意,一个用户只能开一个Jupyter,而且八小时后会自动关,别忘了提前保存哦!新用户有福利,送算力啦!记得在到期前,把你要的东西下载好存起来哦。现在服务升级超快,以前要等八小时才能结束,现在能自己提前关掉不用的东西,省时间。
2024-07-31 23:32:11
457
原创 昇思25天学习打卡营第19天|ShuffleNet图像分类
python open 打开文件时,遭遇文件名过长的问题,修改注册表是很好的解决方法
2022-07-10 16:15:50
2188
原创 Eclipse CDT 解析C/C++程序时,如何搜索#include 头文件的解析信息。
C/C++的解析,特别是C++,比Java困难的多。你看,使用Eclipse CDT 解析C/C++时,就遇到类的声明和类的定义分离问题。前者在#include文件(简称头文件)中,后者在定义文件中(简称主文件)。如果所有代码来自于一个工程,利用IIndex应该没有问题。但是专为某些文件创建一个工程,再去解析得不偿失。那么,在解析非工程的C++类(存在声明和类的定义分离问题),如何办呢?我的项目需要解析C++代码,于是苦干。查阅了无数资料,各种世界知名的技术论坛都去了,IBM和Eclipse的关于C
2021-03-08 16:59:24
672
原创 Maven+cobertura获取java类代码的程序谱(行覆盖记录)
cobertura-maven-plugin是一个校验单元测试用例覆盖率的工具,可以生成一个测试覆盖率报告,可以给单元测试用例编写提供参考。还可以获取java类代码的程序谱(行覆盖记录),某一行代码在执行过程中,经历过多少次运行Hits。参见 https://www.cnblogs.com/qyf404/archive/2015/12/12/5040593.html1,maven工程导出后执行maven clean 可以去掉target。这一步骤颇为重要,删除旧的instrument类注入信息。2
2021-01-22 10:57:51
236
1
原创 昇思25天学习打卡营第21天|FCN图像语义分割
机器64位Windows,安装了VirtualBox6.1+Ubuntu16,在Ubuntu下配置了Git,想下载git clone https://github.com/rjust/defects4j结果报错RPC failed; curl 56 GnuTLS recv error (-24): Decryption has failed.网络上查找资料,试了很多方法,比如:增加Git的缓存 git config --global http.postBuffer 524288000修改
2020-11-03 11:11:31
4831
9
原创 昇思25天学习打卡营第20天|ResNet50图像分类
CMake opencv时无法连接服务器,下载 ffmpeg.dll、ippicv等失败。网络上查阅了不少资料,大部分是说直接下载这些文件,然后拷贝到相应目录。其实这些方法并不好用,ffmpeg.dll、ippicv这些文件也有不同的版本,那么你机器上的opencv版本可能无法适应这些版本。何况下载这些文件又是大麻烦事情。KayChanGeek提供的文章https://blog.youkuaiyun.com/KayChanGEEK/article/details/79919417有一个CMake op...
2020-10-22 11:42:38
1677
7
原创 昇思25天学习打卡营第18天|SSD目标检测
另一类呢,就干脆利索多了,直接一步到位,像YOLO和SSD这样的,它们直接从头到尾一气呵成,不用先找一堆可能的地方再慢慢分析,而是直接告诉你这里有什么东西,东西在哪,速度嗖嗖的快,效果还特别好。SSD就是这种一步到位的方法,特别适合那些既想要速度快又想要结果准的活儿。一类叫做“两步走”方法,比如R-CNN这一家子。这方法呢,先找一堆可能有目标的地方(我们管它叫候选区域),然后再仔细看看这些地方里头到底是什么东西,是不是我们要找的目标。咱们的SSD就像是那种不用热身,一上场就能发挥超常的选手,特别给力!
2019-06-13 21:26:05
505
原创 LIBUV在VS2017下编译步骤(不使用Lib)
LIBUV在VS2017下编译步骤(不使用Lib)libuv 是 Node 的新跨平台抽象层,用于抽象 Windows 的 IOCP 及 Unix 的 libev。作者打算在这个库的包含所有平台的差异性。 特性: 非阻塞 TCP 套接字 非阻塞命名管道 UDP 定时器 子进程生成 通过 uv_getaddrinfo 实现异步 DNS 异步文件系统 API:uv_...
2019-06-13 21:24:56
1174
原创 虚拟机共享目录时,VirtualBox安装增强功能报错的问题。
主机Win10,虚拟机Oracle VM VirtualBox 5.12(5.10同样),虚拟机操作系统Ubuntu三个版本: ubuntu-16.04.4-server-amd64.iso ubuntu-16.04.4-server-i386.iso ubuntu-18.04-live-server-amd64.iso我想主机和虚拟机,...
2018-05-26 19:51:55
10461
LIBUV在VS2017下编译步骤(不使用Lib)
2018-12-20
《嵌入式软件测试》教学大纲
2015-08-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅