- 博客(55)
- 收藏
- 关注
原创 pytorch框架实现cnn四种天气图片多分类问题-添加dropout和bn层
pytorch框架实现四种天气图片多分类问题-过程中添加dropout和bn层、保存最优参数、保存完成模型、跨设备的模型保存和加载
2025-04-06 20:25:12
864
原创 AI写诗--基于GPT2预训练模型
从本地读取数据lines = f.readlines() #读取的每一行数据都会以一个字符串的形式 依次添加到一个列表中#split()函数可以根据指定的分隔符将字符串拆分成多个子字符串,并将这些子字符串存储在一个列表中。#strip()函数默认移除字符串两端的空白字符(包括空格、制表符、换行符等)lines = [line.strip() for line in lines] #输出的lines是一个一维列表,里面的每一行诗都是一个字符串#self.的变量在类里面可以调用。
2024-10-05 14:03:18
1228
原创 NLP任务之翻译
翻译任务是标准的seq2seq的任务, LM是使用的模型的Linear Model那一层, MarianModel是专门用于翻译的模型#加载的预训练模型与加载的预训练分词器保持一致#创建一个变量 最后一层有vocab_size个类别概率输出,对应的也会有vocab_size个bias参数#输出层:全连接层#加载预训练权重参数#创建损失函数 ,创建在训练代码里面也可以!!!#获取最后一层的hidden_state。
2024-10-04 15:36:37
1768
原创 NLP任务之文本分类(情感分析)
查看模型参数与层结构super().__init__() #继承父类的方法#全连接层#Bert模型输出的数据的最后一维度是768,这里输入的第0维度也要是768torch.nn.Linear(768, 2)) #二分类问题,情感分析(积极1/消极0)#加载预训练参数的模型num_labels=2) #labels的类别数量#让全连接层加载预训练的参数#损失函数#将输入数据传入预训练模型,得到一个输出结果#logits是三维的# :使logits变成二维数据。
2024-10-01 22:23:20
1805
原创 NLP任务之预测最后一个词
针对这个vocab_size=50257的问题,分类类别就是50257个类别。#预测下一个词,只需要数据集中的sentence, 不需要label和idx。#使用map函数做映射。处理只剩下sentence。#预测最后一个词:是一个多分类问题。
2024-09-29 20:01:44
1344
原创 huggingface实现中文文本分类
自定义数据集#需要继承 torch.utils.data.Dataset,#并且实现__init__(self)/__len__(self)/__getitem__(self,i)这些方法#加载本地磁盘的datasetsself.datasets = load_from_disk('../data/ChnSentiCorp') #self.datasets是一个字典,包含训练、校验、测试的datatset。
2024-09-28 22:17:01
1104
原创 huggingface的transformers与datatsets的安装与使用
安装python语句#在jupyter notebook中 安装语句。
2024-09-28 15:26:56
1350
原创 GPT理论
Transformer是一个用作翻译任务的模型,谷歌出品。GPT全称 lmproving Language Understanding by Generative Pre-Training,用预训练语言理解模型。OPENAI出品。BERT全称Pre-training of Deep BidirectionalTransformers for Language Understanding,双向预训练语言理解模型。谷歌出品。GPT与BERT都是基于Transformer的模型结构。
2024-09-27 21:58:17
800
原创 IMDB影评情感分析项目
imdb数据集下载地址: http://ai.stanford.edu/~amaas/data/sentiment/aclImdb_v1.tar.gz。标签: 1 review: Bromwell High is a cartoon comedy. It ran at the same time a。大部分每条评论的单词量集中在150-250左右,极少数的人评论字数超过500,所以将评论字数都处理成长度500的序列。#大概等于 评论总样本量。#列表和元祖没有shape。小批次数量: 391。
2024-09-27 21:08:29
1038
原创 ELMO理论
2018年3月份,ELMo出世,该paper是NAACL18 Best Paper。在之前2013年的word2vec及2014年的GloVe的工作中,每个词对应一个vector,对于多义词无能为力。ELMo的工作对于此,提出了一个较好的解决方案。不同于以往的一个词对应一个向量,是固定的。在ELMo世界里,预训练好的模型不再只是向量对应关系,而是一个训练好的模型。使用时,将一句话或一段话输入模型,模型会根据上线文来推断每个词对应的词向量。
2024-09-27 20:49:23
532
原创 GloVe(全局词向量嵌入)
目录GloVe简介 1.使用预训练的GloVe的词向量(英文文本的用的最多)¶2.自己训练Glove词向量3. 知识点2.自己训练Glove词向量3. 知识点
2024-09-26 21:51:56
1038
原创 word2vector训练代码详解
embedding层先one_hot编码,再进行与embedding层的矩阵(num_embeddings,embedding_dim)乘法。W的shape:torch.Size([6719, 100])cos的shape:torch.Size([6719])x的shape:torch.Size([100])
2024-09-26 14:39:21
888
原创 word2vector训练数据集整理(代码实现)
数据集 [[0, 1, 2, 3, 4, 5, 6], [7, 8, 9]]中心词 2 的上下文词是 [0, 1, 3, 4]中心词 4 的上下文词是 [2, 3, 5, 6]中心词 1 的上下文词是 [0, 2, 3]中心词 5 的上下文词是 [3, 4, 6]中心词 3 的上下文词是 [2, 4]中心词 6 的上下文词是 [4, 5]中心词 7 的上下文词是 [8, 9]中心词 8 的上下文词是 [7, 9]中心词 0 的上下文词是 [1]中心词 9 的上下文词是 [8]中心词 2 的窗口大小:2。
2024-09-25 19:44:05
1394
原创 BERT的代码实现
由于前馈网络的ffn_num_outputs = num_hiddens,没有初始化传入#__init__()里面的参数,是创建类的时候传入的参数#token_embeddings层#segment_embedding层 (传入两个句子,所以第0维为2)#pos_embedding层 :位置嵌入层是可以学习的, 用nn.Parameter()定义可学习的参数#设置Encoder_block的数量。
2024-09-22 22:26:03
1348
原创 机器翻译之多头注意力(MultiAttentionn)在Seq2Seq的应用
【代码】机器翻译之多头注意力(MultiAttentionn)在Seq2Seq的应用。
2024-09-20 20:36:54
682
原创 机器翻译之Bahdanau注意力机制在Seq2Seq中的应用
将pred_seq, label_seq分别进行空格分隔#获取pred_seq, label_seq的长度for n in range(1, k+1): #n的取值范围, range()左闭右开。
2024-09-20 14:07:29
1452
原创 机器翻译之数据处理
数据预处理#判断标点符号前面是否有空格?= ' '#替换识别不了的字符,替换不正常显示的空格,将大写字母变成小写#在单词和标点之间插入空格return ''.join(out) #合并out#测试:数据预处理go . va!hi . salut!run!cours!run!courez!who?qui?wow!ça alors!#定义函数:词元化"""text:传入的数据文本。
2024-09-18 22:10:46
1583
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人