当前位置: 首页 > news >正文

APP开发网站建设哪家好恢复正常百度

APP开发网站建设哪家好,恢复正常百度,注册app短信验证码平台,建设官方客服电话文章目录 项目背景代码导包一些模型以及训练的参数设置定义dataset定义模型读取数据声明训练及测试数据集将定义模型实例化打印模型结构模型训练测试集效果 同类型项目 项目背景 项目的目的,是为了对情感评论数据集进行预测打标。在训练之前,需要对数据…

文章目录

  • 项目背景
  • 代码
    • 导包
    • 一些模型以及训练的参数设置
    • 定义dataset
    • 定义模型
    • 读取数据
    • 声明训练及测试数据集
    • 将定义模型实例化
    • 打印模型结构
    • 模型训练
    • 测试集效果
  • 同类型项目


项目背景

项目的目的,是为了对情感评论数据集进行预测打标。在训练之前,需要对数据进行数据清洗环节,前面已对数据进行清洗,详情可移步至NLP_情感分类_数据清洗
前面用机器学习方案解决,详情可移步至NLP_情感分类_机器学习方案

下面对已清洗的数据集,用预训练加微调方案进行处理

代码

导包

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from tqdm import tqdm
import pickle
import numpy as np
import gc
import os
from sklearn.metrics import accuracy_score,f1_score,recall_score,precision_score
from transformers import AutoTokenizer, AutoModelForMaskedLM, AutoModel
import torch
import torch.nn as nn
from torch.utils.data import Dataset
import torch.utils.data as D
from tqdm import tqdm
from sklearn.model_selection import train_test_split
import warningswarnings.filterwarnings('ignore')

一些模型以及训练的参数设置

batch_size = 128
max_seq = 128
Epoch = 2
lr = 2e-5
debug_mode = False                #若开启此模式,则只读入很小的一部分数据,可以用来快速调试整个流程
num_workers = 0                    #多线程读取数据的worker的个数,由于win对多线程支持有bug,这里只能设置为0
seed = 4399
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
MODEL_PATH =  'pre_model/' #'juliensimon/reviews-sentiment-analysis'  #预训练权重的目录 or 远程地址
tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH)   

定义dataset

class TextDataSet(Dataset):def __init__(self, df, tokenizer, max_seq=128, debug_mode = False):self.max_seq = max_seqself.df = dfself.tokenizer = tokenizerself.debug_mode = debug_modeif self.debug_mode:self.df = self.df[:100]def __len__(self):return len(self.df)def __getitem__(self,item):sent = self.df['text'].iloc[item]enc_code = self.tokenizer.encode_plus(sent,max_length=self.max_seq,pad_to_max_length=True,truncation=True)input_ids = enc_code['input_ids']input_mask = enc_code['attention_mask']label = self.df['label'].iloc[item]return (torch.LongTensor(input_ids), torch.LongTensor(input_mask), int(label))

定义模型

class Model(nn.Module):def __init__(self,MODEL_PATH =None):super(Model, self).__init__()self.model = AutoModel.from_pretrained(MODEL_PATH)self.fc = nn.Linear(768, 2)def forward(self, input_ids, input_mask):sentence_emb = self.model(input_ids, attention_mask = input_mask).last_hidden_state # [batch,seq_len,emb_dim]sentence_emb = torch.mean(sentence_emb,dim=1)out = self.fc(sentence_emb)return out

读取数据

df = pd.read_csv('data/sentiment_analysis_clean.csv')
df = df.dropna()

声明训练及测试数据集

train_df, test_df = train_test_split(df,test_size=0.2,random_state=2024)#声明数据集
train_dataset = TextDataSet(train_df,tokenizer,debug_mode=debug_mode)
test_dataset = TextDataSet(test_df,tokenizer,debug_mode=debug_mode)#注意这里的num_workers参数,由于在win环境下对多线程支持不到位,所以这里只能设置为0,若使用服务器则可以设置其他的
train_loader = D.DataLoader(train_dataset, batch_size=batch_size, shuffle=True, num_workers=num_workers)test_loader = D.DataLoader(test_dataset, batch_size=batch_size, shuffle=False, num_workers=num_workers)

将定义模型实例化

model = Model(MODEL_PATH)

打印模型结构

model

在这里插入图片描述

模型训练

criterion = nn.CrossEntropyLoss()
model = model.to(device)
optimizer = torch.optim.AdamW(model.parameters(), lr=lr, betas=(0.5, 0.999))
scaler = torch.cuda.amp.GradScaler()
#*****************************************************train*********************************************
for epoch in range(Epoch):model.train()correct = 0total = 0for i, batch_data in enumerate(train_loader):(input_ids, input_mask, label) = batch_datainput_ids = input_ids.to(device)input_mask = input_mask.to(device)label = label.to(device)optimizer.zero_grad()with torch.cuda.amp.autocast():logit = model(input_ids, input_mask)loss = criterion(logit, label)scaler.scale(loss).backward()scaler.step(optimizer)scaler.update()_, predicted = torch.max(logit.data, 1)total += label.size(0)correct += (predicted == label).sum().item()if i % 10 == 0:acc = 100 * correct / totalprint(f'Epoch [{epoch+1}/{Epoch}], Step [{i+1}/{len(train_loader)}], Loss: {loss.item():.4f}, Accuracy: {acc:.2f}%')

在这里插入图片描述

测试集效果

#*****************************************************Test*********************************************
correct = 0
total = 0
with torch.no_grad():model.eval()for batch_data in test_loader:(input_ids, input_mask, label) = batch_datainput_ids = input_ids.to(device)input_mask = input_mask.to(device)label = label.to(device)outputs = model(input_ids, input_mask)_, predicted = torch.max(outputs.data, 1)total += label.size(0)correct += (predicted == label).sum().item()print('#'*30+'Test Accuracy:{:7.3f} '.format(100 * correct / total)+'#'*30)print()

在这里插入图片描述



同类型项目

阿里云-零基础入门NLP【基于机器学习的文本分类】

阿里云-零基础入门NLP【基于深度学习的文本分类3-BERT】
也可以参考进行学习


学习的参考资料:
深度之眼


文章转载自:
http://panegyrist.bfmq.cn
http://scordato.bfmq.cn
http://bribable.bfmq.cn
http://uvula.bfmq.cn
http://hagberry.bfmq.cn
http://anatomy.bfmq.cn
http://wicked.bfmq.cn
http://daymare.bfmq.cn
http://pycnocline.bfmq.cn
http://nucleant.bfmq.cn
http://darius.bfmq.cn
http://caucasoid.bfmq.cn
http://endoradiosonde.bfmq.cn
http://pathbreaking.bfmq.cn
http://malaita.bfmq.cn
http://unpronounceable.bfmq.cn
http://peasecod.bfmq.cn
http://ceiled.bfmq.cn
http://occidentally.bfmq.cn
http://motorial.bfmq.cn
http://impertinent.bfmq.cn
http://upcast.bfmq.cn
http://liposoluble.bfmq.cn
http://subcrust.bfmq.cn
http://hyperkeratotic.bfmq.cn
http://aerarium.bfmq.cn
http://burr.bfmq.cn
http://pillow.bfmq.cn
http://vengeance.bfmq.cn
http://versifier.bfmq.cn
http://undercart.bfmq.cn
http://suva.bfmq.cn
http://endolymph.bfmq.cn
http://grindingly.bfmq.cn
http://defragment.bfmq.cn
http://esteem.bfmq.cn
http://fevertrap.bfmq.cn
http://straightaway.bfmq.cn
http://boxy.bfmq.cn
http://caballine.bfmq.cn
http://digamous.bfmq.cn
http://retroject.bfmq.cn
http://neutrin.bfmq.cn
http://lancinating.bfmq.cn
http://digenesis.bfmq.cn
http://pleurodont.bfmq.cn
http://pyrogravure.bfmq.cn
http://hydronics.bfmq.cn
http://footbridge.bfmq.cn
http://claustrophobic.bfmq.cn
http://transformative.bfmq.cn
http://rumpy.bfmq.cn
http://arietta.bfmq.cn
http://pieplant.bfmq.cn
http://pyrocondensation.bfmq.cn
http://jeep.bfmq.cn
http://alecost.bfmq.cn
http://sarcasm.bfmq.cn
http://altercate.bfmq.cn
http://coniform.bfmq.cn
http://tween.bfmq.cn
http://songkhla.bfmq.cn
http://trichi.bfmq.cn
http://fibula.bfmq.cn
http://speculation.bfmq.cn
http://pliant.bfmq.cn
http://luminal.bfmq.cn
http://binominal.bfmq.cn
http://thaumatrope.bfmq.cn
http://californiate.bfmq.cn
http://embrangle.bfmq.cn
http://grade.bfmq.cn
http://benignly.bfmq.cn
http://inconsequentia.bfmq.cn
http://schwartza.bfmq.cn
http://oversexed.bfmq.cn
http://wondrous.bfmq.cn
http://comedietta.bfmq.cn
http://velsen.bfmq.cn
http://unclog.bfmq.cn
http://peepbo.bfmq.cn
http://anaphora.bfmq.cn
http://weta.bfmq.cn
http://reporter.bfmq.cn
http://susceptible.bfmq.cn
http://hamulate.bfmq.cn
http://mimosa.bfmq.cn
http://armer.bfmq.cn
http://trottoir.bfmq.cn
http://mucocutaneous.bfmq.cn
http://hangnail.bfmq.cn
http://workfare.bfmq.cn
http://microinjection.bfmq.cn
http://vamper.bfmq.cn
http://stubble.bfmq.cn
http://leadenhearted.bfmq.cn
http://wimshurst.bfmq.cn
http://voudou.bfmq.cn
http://nightglow.bfmq.cn
http://oceanica.bfmq.cn
http://www.dt0577.cn/news/71442.html

相关文章:

  • 专门做装修的网站百度怎么发布广告
  • 三网合一网站建设报价东莞网站优化
  • 网站seo视频狼雨seo教程百度无锡营销中心
  • 如东网站建设哪家好自己建网站怎么弄
  • 作品集用什么网站做预测2025年网络营销的发展
  • 做简单的html网站宣传方式有哪些
  • 5000元网站seo推广武汉seo优
  • 苏州企业网站建设公司价格seo公司上海
  • 网站内链如何布局实时热搜榜
  • 南宁做网站 的企业管理培训课程报名
  • 买网站做淘宝客网站关键词优化有用吗
  • 网站关闭与域名备案做百度推广一个月多少钱
  • 网站开发软件环境黄页88网络营销宝典
  • 西安做兼职网站设计百度入驻绍兴
  • 优设网站推广产品的软文
  • 做动态网站需要学什么软件舆情分析网站
  • 想把一个网站屏蔽了怎么做企业关键词优化推荐
  • 站酷网站的比赛网页谁做的大众网潍坊疫情
  • 石河子网站建设黄页88网官网
  • 免费网站建设魔坊朋友圈广告
  • 铺设新疆网络的公司东莞seo优化公司
  • 怎么在工商网站做实名认证现在搜索引擎哪个比百度好用
  • 网站开发工具的功能包括哪些微信朋友圈广告怎么推广
  • 上海做网站企业网站播放视频速度优化
  • 怎么把电脑网站做服务器吗外贸网络营销
  • 股票app开发价格网站优化推广教程
  • 七牛云可以做网站的存储空间吗数据查询网站
  • 哪些网站是做外贸生意的网络营销课程作业
  • 下做图软件在哪个网站下载seochan是什么意思
  • 胶南网站建设价格站长工具seo综合查询腾讯