自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MungerVC

云计算

  • 博客(45)
  • 资源 (1)
  • 收藏
  • 关注

原创 基于mindnlp搭建游戏AI-NPC创建器

这里本来想上传frpc来做gradio的内网穿透,如下,但是未成功,可能是别的原因。不行没有关系,在普通的机器上,gradio的端口访问即可,不需要内网穿透。

2025-01-25 17:50:23 628

原创 trtllm 部署新体验

run.py --engine_dir ./llama-3-8b-engine --max_output_len 100 --tokenizer_dir ./Llama3-8B-Chinese-Chat --input_text “鲁迅打了周树人”我去https://huggingface.co/shenzhi-wang/Llama3-8B-Chinese-Chat下载了llama3的模型,然后用trtllm的转换脚本转成下面的模型。官方写错了,这应该是个-,不是_,要注意。

2024-11-27 21:13:53 1369

原创 文本解码的方法

之前学习了transformer的基本架构,最后就可以得到模型,拿着模型进行使用,那么最终的文本需要解码从数字到真正文本。这是softmax的函数,我们所说的温度就是里面的参数,数值越高,分布越平坦,那么每个词的概率差不多也就越不确定,随机选哪个都有可能。但是实际上我们说话很少计算,大模型硅基生物真的很不容易算了无穷无尽的东西才能说出人话。而topk topp就很简单了,不赘述,他们都是sample的一种参数。这在同一步时,就那么几个词,取最高概率,就走循环了。gpt2的开源小llm就可以进行一个推理了。

2024-11-24 18:19:30 221

原创 学习Prompt Turning

传统的微调因为代价很高,而且一旦权重很大,这种fine 微微的意思是调不动模型的,所以需要这种提示词调mindnlp直接有。

2024-11-23 19:39:38 541

原创 gpt2的学习

用这个tokenizer = BertTokenizer.from_pretrained(‘bert-base-chinese’)shift_labels = labels[…, 1:] 目标数据集忽略第一个词,拿这2个来比较算loss,很不容易理解。shift_logits = outputs.logits[…, :-1, :] 是忽略最后一个词。现在学习下gpt2模型做摘要,我们都知道gpt2 是纯decoder,做摘要说话的效果较好。还是可以基本做出摘要的。基本可以用,就是代码仍然感觉不是很简单。

2024-11-23 18:30:50 237

原创 GPT模型研究

for i, data in enumerate(imdb_train.create_dict_iterator(), 1): # 使用 create_dict_iterator 遍历。总结: gpt模型通过使用decoder堆叠,对未来不对的进行学习,在生成任务里表现不错,速度也快。这是我来看他前面几条数据,就是电影评论是好的还是坏的评论还是中性的。从mindnlp弄到trainer去训练电影评论的分类。下面的代码是我找的,以后有用的。从openaigpt模型拿到分词器。准确率还行,可以多训练几轮。

2024-11-21 19:11:01 191

原创 bert的模型训练和使用情绪识别

bert我的理解从它的名字可以看出来,它是一种双向的编码器解码器结构,也就是说它非常的高效,非常的高级,在它非常小的麻雀腹内居然五脏俱全。[在这里插入图片描述](https://i-blog.csdnimg.cn/direct/305138cde67b4ce4a3c07b3a4da918a7.png。其中soundfile是音频和ai的库,情感识别的用途,怕冲突,需要卸载。计算结果从设备tensor到numpy,再取最大概率的标签。#安装mindnlp 0.4.0套件。其实也就是测试了,使用了。

2024-11-21 17:47:13 575

原创 Transformer

它是现在很多的大模型的基本理论框架。由于它解决了一些传统的框架所不能够实现的东西,那么它的参数就会越来越多,它的参数越来越多,就会导致大模型的尺寸越来越大。那么大模型的尺寸越来越大,也会导致很多新奇的功能会出现算是拓宽了视野,开辟了另外一块天地和方法路径。ops.broadcast_to(pad_attn_mask, (batch_size, len_q, len_k)) 会把张量扩展到指定的shape。那么注意力分数就是这个词对于这个任务的贡献度,如果分数越高,表示对这个任务的就越重要。

2024-11-18 12:28:56 243

原创 mindtorch study

我建议还是要做一些实际的差异点例子,我指的不是实战迁移,而是把某段迁移代码的智能ai助手搞出来,当用户想迁移的时候,就智能写出来代码,而不是人为的去注意差异点。大部分都可以直接把mindtorch的torch搞成torch,就和以前的代码一致,注意下面。mindtorch 用于帮助迁移torch模型到mindspore。注意的东西不少啊,为什么依赖pytorch呢。还支持cpu的并行,还挺好。pyttorch还是牛啊。并行计算还是用的ms的。我这个点子是不是很棒?只有静态图有点点差异。

2024-11-16 11:26:05 478 1

原创 昇思25天学习打卡营第27天|munger85

Vit是最新的用了transformer架构的图像模型,在很多比赛都获得了大奖,是非常优秀的架构。而且据说cnn其实只是vit的一个子集,cnn的卷积其实就是vit在很小的范围做了注意力机制。transformer是用来处理一串文字序列到另外一串,其实图片也可以搞成一个个小的子图,每个子图就好像一个词,然后大图是一句话,这不就是用transformer做图片模型了。图片准备好,每个图也有标签,做些预处理,增加模型的泛化能力。训练时候的分类是这样的id,要转成人可读的字符。最后分类为num_classes。

2024-07-31 17:48:01 490

原创 昇思25天学习打卡营第26天|munger85

和mobilenet一样,也是在资源有限的设备上进行神经网络来做ai图像分类的小模型,在保持精度的同时大大降低了模型的计算量。是基本块就是真正的网络,如果模型size是2,就是输出的时候多一些,精细一些。mindspore.set_context(mode=mindspore.PYNATIVE_MODE, device_target=“Ascend”) 旋转ascend做显卡。

2024-07-30 18:23:04 247

原创 昇思25天学习打卡营第25天|munger85

迁移学习指的是在预训练的模型基础上对特殊的任务,对新的任务进行一个在训练,使得模型能够适应新的任务。这就是一个新的任务,以前的模型可能它能够分类10个类,但是现在我只需要它分类两个类别,所以是新的任务。那么在数据进行预处理的时候,往往要根据数据集本身所具有统计特征,然后来设定一个规划的值,这个值下面的值就是通过这个数据集的统计特征所选出来的值,所以是固定的。用来适应于新的任务,所以这个初始化的值是需要自己根据自己的任务去确定的。每一个训练的验证及里面就只有两个类别,一个是狗,一个是狼。

2024-07-28 19:40:04 421

原创 昇思25天学习打卡营第24天|munger85

我特地为了这一个做了ppt,把ppt的内容搬运过来,mindspore的ppt模版是漂亮的。

2024-07-28 08:37:04 161

原创 昇思25天学习打卡营第23天|munger85

FCN-8s表示从8倍下采样的特征图通过上采样恢复到原图尺寸的网络结构。现在下载数据集,这种8倍的比较好。上面是fcn网络按照论文拼出来。使用vgg16做骨架,所以下载vgg16。这分割用途的数据集不同,是一些随机大小,截取,像素点分类的参数。原始图像看看,就是这样的图片,只是像素大小不一,需要转换。最后eval的时候得到准确率0。模型的保存设定,训练的模型保存到ckpt目录。上面一行是原始图,下面是分割的。评价模型质量的代码也可以拼好。

2024-07-27 08:42:36 353

原创 昇思25天学习打卡营第22天|munger85

我们希望得到这个模型来对词进行标注,B是开始,I是实体词的非开始,O是非实体词。我们首先需要lstm对序列里token的记忆,和计算每个token发到crf的分数,发完了再退出来,最后形成1模型。那么细节我就不感兴趣,直接说训练数据训练数据就是这样被空格所分开,然后就可以去训练。把这些词都放到词表,每个字来一个数字对应,他们的目标值label也就是B,I,O,对应的数字0,1,2表示得到梯度函数,None是不需要指定参数标签。

2024-07-25 19:03:14 1144

原创 昇思25天学习打卡营第21天|munger85

他和gan是很相似的,但是他比较依赖于输入的图像,例如在使用的时候要输入1图片,会基于这个图片做生成,而gan是直接自己就生成,所以他是一种基于条件的gan。跳跃连接将编码器中的高分辨率特征直接传递给解码器,使生成器能够更好地保留输入图像的细节,从而生成更清晰、更精细的输出图像。生成器希望判别器都判别为真,判别器希望真的就是真,假的生成的就是假的。gamma是调节学习率动态衰减,beta是平移梯度到归一化的输出。可以看到训练好的模型,让图片变成了目标的风格。这个convNorm层是判别器的组件。

2024-07-25 08:19:12 375

原创 昇思25天学习打卡营第20天|munger85

他希望的是辨别器,它能够真正的辨别真实的图片和训练的假图片。所以各自得到损失的目的是不一样的,生成器想要得到的损失是为了减少这个损失,而生成器的目的就是令到判别器认为他所生成出来的图片都是真的图片。这个就是判别器所要进行的向前传播和他要得到的损失值是这两个损失值的和两个损失值,一个是对于真的东西的嗯,一个是对假的东西的判定。都在一定程度的变化,可以看到的是判别器的损失下降的不是很明显,生成器的损失下降会多一点,因为最终我们所要用到的模型实际上就是这个生成器的模型,让他帮我们生成更加逼真的图片。

2024-07-23 19:16:12 469

原创 昇思25天学习打卡营第19天|munger85

i = 0i += 1这个是调整loss,不让他太大或者太小。

2024-07-22 21:12:10 924

原创 昇思25天学习打卡营第18天|munger85

当然再配上2 优化器定义D和G的forward就是运用前面的正向得到的loss,再给优化器去优化ms.jit会编译代码为机器码,加速的这种模型训练的还比较快。不知道是不是网络的关系?画个图看看D和G的lossloss都变小img = np.clip(np.concatenate((images[:]), axis=0), 0, 1) 这段代码只是将图片里面图片进行一个叠加,然后再把值限定在0,1,小于0的是0,大于1的是1。

2024-07-21 18:36:03 367

原创 昇思25天学习打卡营第17天|munger85

前向计算# 保留了一个图像缓冲区,用来存储之前创建的50个图像else:else:= 4:上面就是前向传播过程下面是反向传播,判别器也是在这个过程里起作用# 实例化求梯度的方法# 计算生成器的梯度,反向传播更新参数# 计算判别器的梯度,反向传播更新参数这样训练就得到4个模型生成器模型源和目的2个,然后是判别器的2个推理使用生成器模型去生成一个输入的图片苹果就变成了橘子这里有个疑问,为什么不用训练好的模型,而是用了mindrecord训练好的自带的。

2024-07-20 10:11:12 627

原创 昇思25天学习打卡营第16天|munger85

MobileNet网络是由Google团队于2017年提出的专注于移动端、嵌入式或IoT设备的轻量级CNN网络,相比于传统的卷积神经网络首先安装依赖下载数据。

2024-07-20 08:27:55 527

原创 昇思25天学习打卡营第15天|munger85

现在数据集这个就是红酒的分类的数据集红酒每一个都会有很多的属性有三个属性下载数据集,这个是红酒的分类的数据集,红酒每一个都会有很多的属性,有三个属性。这十三个属性就可以用来分辨它是哪一个13个属性就可以用来分辨它是哪一个红酒。x_tile = ops.tile(x, (128, 1)) x是原来的tensor,128 是第一维度重复128次,1是表示第二维度只重复一次。已经知道y,就可以把距离算出来,来使用knn模型。原始数据的y取出来可视化,就可以看到很多的分布。每一个红酒的数据大概就是这个样子。

2024-07-17 22:37:56 278

原创 昇思25天学习打卡营第14天|munger85

新的方式呢就没有采样那么方式那样子生成的音乐那么有创造力因为采样的话可能是随机采样的,那样子生成的音乐那么有创造力,因为采样的话可能是随机采样的。处理好这个文字之后丢到这个是音乐的生成模型里面就会帮我们生成,丢到这个是音乐的生成模型里面,就会帮我们生成相应的音乐。下面代码就是直接使用随机的我理解是一个随机的造型然后生成一个随机的音乐因为我们没有输入文字然后生成一个按照我文字要求的 音乐。这个参数就是在画画的时候也会用到它代表的是你的文本和要生成的东西的相关度,如果你生成的东西越相关,那么这个数字越高。

2024-07-17 22:18:12 329

原创 昇思25天学习打卡营第13天|munger85

调节的这个温度值,把它的温度值降低以后,可以看到这个分布就会比较尖锐。分布比较尖锐的话,那么每一次选的这个词呢就是最高概率的词是比较固定的。使用这种方式,那么他后选的这个词就不是一定的,它是变化的。是靠每一次的积累的概率从而得到限定的候选词的个数的,所以它是个变化的值。这种方式解码它的优点就是能够生成很多的种类比较有创造性,但是生成的东西由于比较有创造性,也往往显得不是那么通顺,不是那么连贯。这种方式, 每一次候选的词都只会是固定的数目。这个语法的意思就是使用的框架得到tensor是用的华为的这个框架。

2024-07-15 20:25:57 404

原创 昇思25天学习打卡营第12天|munger85

这个实现情感分类意思就是通过一些电影的数据最后知道他对于这个电影的评价,最后知道他对于这个电影的评价到底是好还是不好,零就是不好,一就是好。首先我们肯定是按安装这些依赖包了为了今天这个模型我们当然要拿到电影的数据那么imdb这个数据集就是拥有很多电影的评价的数据。也有关于这段评价的好还是坏的标签我发现课程里面的训练代码这个类张代码一这段代码有点问题。所以我就改成了如下的代码大家就可以运行成功否则的话大家就会得到一个错误初步预览一下这个训练集里面的数据大概是什么样子,就发现它有两列。

2024-07-15 19:07:47 292

原创 昇思25天学习打卡营第11天|munger85

今天来看一下文本摘要模型的训练文本摘要就是你给出一段话,然后就要把这段话做一个总结,那么总结的话肯定是要比原文要短的。从下面的网址下载数据,这个数据很大,有5万条,所以训练的时候会很久。由于这个训练数据是有中文的所以我们需要有一个能看得懂中文的偷,所以我们需要有一个能看得懂中文的tokernizer。那么这个东西呢会把中文变成一些数字。写一个类这个类啊要继承与于这个类才能够做到这个事情,这个类要继承于这个类才能够做到这个事情。这个类就是我们的模型啊。训练数剧大概就长这个样子。

2024-07-14 13:43:09 328

原创 昇思25天学习打卡营第10天|munger85

会要设置几个回调的函数用来保存模型,以免训练着训练着突然就断电了,就白训练了,所以需要根据训练了多少步之后去保存一下模型那么保存一下模型的话它就会有很多模型所以需要设置,那么保存一下模型的话,它就会有很多模型,所以需要设置一些指标来衡量哪一个模型是最好的。这一步所指出来出来填充的id就是零这个就是用于上面进行缺失数据的填充的ID就是零,这个就是用于上面进行缺失数据的填充的时候会用到的一个数字。训练完了之后,我们可以拿一些在训练集以外的数据做一个验证看一下它的训练数据以外的数据的检测出来的准确度是多少?

2024-07-13 09:18:21 342

原创 昇思25天学习打卡营第9天|munger85

终于要开始进行一些大语言模型的实验了。大模型才是比较火的。

2024-07-12 10:28:32 400

原创 昇思25天学习打卡营第8天|munger85

假如到内存以后,我们还可以把它保存成一个中间格式,这种中间格式我查询资料意思就是将来我们如果想要优化模型的结构,我们可以利用中间格式。加这行代码,可以保存出来最全的文件,在这个文件里面有好多的文件,其中这个文件是比较有用的。在网上搜索一个在线的打开工具,就可以把这种文件打开成一个可视化的图像,可以看到网络中的结构。模型训练好了以后我们可以把它保存在硬盘上面以等待,我们可以把它保存在硬盘上面,以等待我们之后将来的使用。那么当我们要使用的时候,我们就要载入它载入代码,就像下面选对模型之前保存的路径。

2024-07-11 12:07:52 408

原创 昇思25天学习打卡营第7天|munger85

optimizer = nn.SGD(model.trainable_params(), learning_rate=learning_rate) SGD是很常见的优化器。最后通过训练,模型的参数不断优化的工具叫做优化器,优化器里会自动根据梯度去优化那些权重。然后使用上次的自动微分,我们可以得到梯度,再用优化器把这些梯度利用了,去优化nn。这样在每一轮的训练后会出现1测试准确率,知道随着时间越多,训练越多,越来越准确。但是操作无非是处理,然后哪些是X哪些是Y,batch是多少。根据任务的不同用不同的。

2024-07-10 08:27:15 185

原创 昇思25天学习打卡营第6天|munger85

这是计算梯度函数返回的东西多了个z,原来是只有loss,就是计算loss对于各个变参的梯度,现在还要计算z这个输出路径上的神经元变参对于各个变参梯度,得到的数值和单计算对于loss的不同。grad_fn = mindspore.grad(function, (2, 3))的2,3是function里哪个位置的变参要求导,所以是最后2个,我一共有4个参数。表示在一批里,假如传入3个是一批,3个z的权重是怎么样的,ops.ones_like(z)就都是1,一样的权重,没有偏心,计算出来损失值。

2024-07-10 07:24:20 370

原创 昇思25天学习打卡营第5天|munger85

nn是深度学习的基础和核心,而mindspore里的nn基础是叫cell。当你想要建立网络的时候你就继承这个类去写你的神经网络。根据我所画的红色线就可以知道输入参数是28×28。输出参数是十这样子的一个矩阵。那么为什么这里的输入参数丢到这个模型里面,却前面有一个一呢?前面那个1就是一般用于批大小,1表示这一次呢,我就一个图片。所以输出的格式最后是一个tensor的格式。会得到的是1~10的数字的标签的概率。所以我们需要知道这十个概率里面哪个是最大的,说就知道哪一个是最有可能是推理的答案。

2024-07-08 19:58:40 444

原创 昇思25天学习打卡营第4天|munger85

主要就是一些对数据的处理,变换。这个就是生成一个合并的操作,在这个合并的操作中分别有对图像进行缩放。还有取分布,这个分布是正态分布的。正态分布的参数是均值和方差。最后就是把长宽,和渠道进行一个变换。C是渠道,H是高,W是宽。使用起来就是用map进行一个使用。44变成了0.172,可见是缩小了数值255倍。上面是图片的。下面开始是文字的处理。

2024-07-07 19:30:29 211

原创 昇思25天学习打卡营第3天|munger85

要训练肯定要有数据集,首先要下载数据集。下载的代码是。

2024-07-06 12:34:07 307

原创 昇思25天学习打卡营第2天|munger85

在mindspore里,很多数据类型可以转为tensor,tensor也有shape,也有data#初始化这样可以初始化,Normal以前没有见过查询以后知道这个是随机数,而且不是普通的随机数,是符合正态分布的随机数。这张量的索引就很像数组的索引。你可以指定坐标来查询相应的数据。值得注意的是三个点表示的意思是所有这个是整除的意思。

2024-07-05 17:46:16 220

原创 昇思25天学习打卡营第1天|munger85

今天学习了什么是mindspore,是华为搞出来的一套类似于tensorflow的深度学习框架,可以帮助我们组件神经网络,让整个深度学习的任务更加简单,由于是后来设计的,所以他在设计上应该是比tf要更简单。确实看代码更加清晰,吸取了torch的代码简单性的优点以下是我的截图证明。

2024-07-04 22:51:42 224

原创 temp

set fs =createobject(“scripting.filesystemobject”)set ts=fs.opentextfile(“C:\Users\Administrator\WeChatProjects\miniprogram-1\pages\logs\x.vbs”,1,true)contents=ts.readall’ wscript.echo contentsdim...

2020-02-25 09:24:57 216

原创 tls拦截证书,导致每次都要信任一遍目标网站证书

ssl interceptor 证书有些公司为了ssl证书一致就包了一层proxy的证书,必须下载这个证书到客户端才可以完成https访问。真的很麻烦。先标记下,这个需要在模拟器里安装这个proxy的证书,才不会每次访问都要信任一遍例如baidu的证书。...

2019-02-17 10:59:36 2269

转载 golang升级,不能debug

今天写go语言,发现遇到ide 不能debug,行个方便吧。记录下go get -u github.com/derekparker/delve/cmd/dlv 更新下dlv然后再打开idea的配置,Help->Edit Custom Properties中增加新版dlv的路徑配置:dlv.path=$GOPATH/bin/dlv如果是windows,就是%GOPATH%/bin/dl...

2019-02-09 19:30:12 1672

原创 to read

https://docs.openstack.org/nova/pike/user/placement.html https://docs.openstack.org/nova/latest/user/conductor.htmlhttp://www.ruanyifeng.com/blog/2012/08/blogging_with_jekyll.htmlCAP ,BASE, herss...

2018-08-06 20:51:22 246

droidCam(可以让你的电脑使用手机的摄像头和mic)

装这个软件在电脑和安卓手机,就可以让电脑利用手机的cam和mic,从而不用买一个摄像头。而且由于手机的cam的分辨率很高,所以就可以让电脑的像素很高

2020-02-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除