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

网络营销企业网站设计中国营销网官网

网络营销企业网站设计,中国营销网官网,沈阳网站制作 房小二网,网络域名是什么意思#x1f368; 本文为#x1f517;365天深度学习训练营 中的学习记录博客#x1f356; 原作者#xff1a;K同学啊# 前言 前言 上周学习了训练word2vec模型#xff0c;这周进行相关实战 1. 导入所需库和设备配置 import torch import torch.nn as nn import torchvision … 本文为365天深度学习训练营 中的学习记录博客 原作者K同学啊# 前言 前言 上周学习了训练word2vec模型这周进行相关实战 1. 导入所需库和设备配置 import torch import torch.nn as nn import torchvision from torchvision import transforms, datasets import os, PIL, pathlib, warningswarnings.filterwarnings(ignore) # 忽略警告信息device torch.device(cuda if torch.cuda.is_available() else cpu) print(device)import pandas as pd2. 加载数据 train_data pd.read_csv(./train.csv, sep\t, headerNone) print(train_data)3. 数据预处理 def coustom_data_iter(texts, labels):for x, y in zip(texts, labels):yield x, yx train_data[0].values[:] y train_data[1].values[:]from gensim.models.word2vec import Word2Vec import numpy as npw2v Word2Vec(vector_size100, min_count3) w2v.build_vocab(x) w2v.train(x, total_examplesw2v.corpus_count, epochs20)定义自定义数据迭代器coustom_data_iter。提取文本和标签数据。使用Word2Vec训练词向量模型设置词向量维度为100最小词频为3。 def average_vec(text):vec np.zeros(100).reshape((1, 100))for word in text:try:vec w2v.wv[word].reshape((1, 100))except KeyError:continuereturn vecx_vec np.concatenate([average_vec(z) for z in x]) w2v.save(w2v_model.pkl)train_iter coustom_data_iter(x_vec, y) print(len(x), len(x_vec)) label_name list(set(train_data[1].values[:])) print(label_name)text_pipeline lambda x: average_vec(x) label_pipeline lambda x: label_name.index(x)print(text_pipeline(你在干嘛)) print(label_pipeline(Travel-Query))定义函数average_vec将文本转换为词向量的平均值。将所有文本转换为词向量并保存Word2Vec模型。打印文本和向量的数量以及所有标签的名称。定义文本和标签的预处理函数text_pipeline和label_pipeline。 4. 数据加载器 from torch.utils.data import DataLoaderdef collate_batch(batch):label_list, text_list [], []for (_text, _label) in batch:label_list.append(label_pipeline(_label))processed_text torch.tensor(text_pipeline(_text), dtypetorch.float32)text_list.append(processed_text)label_list torch.tensor(label_list, dtypetorch.int64)text_list torch.cat(text_list)return text_list.to(device), label_list.to(device)dataloader DataLoader(train_iter, batch_size8, shuffleFalse, collate_fncollate_batch)定义函数collate_batch将批次中的文本和标签转换为张量。创建数据加载器dataloader。 5. 定义模型 class TextClassificationModel(nn.Module):def __init__(self, num_class):super(TextClassificationModel, self).__init__()self.fc nn.Linear(100, num_class)def forward(self, text):return self.fc(text)num_class len(label_name) model TextClassificationModel(num_class).to(device)定义文本分类模型TextClassificationModel包含一个全连接层。初始化模型设置输出类别数。 6. 训练和评估函数 import timedef train(dataloader):model.train()total_acc, train_loss, total_count 0, 0, 0log_interval 50start_time time.time()for idx, (text, label) in enumerate(dataloader):predicted_label model(text)optimizer.zero_grad()loss criterion(predicted_label, label)loss.backward()torch.nn.utils.clip_grad_norm_(model.parameters(), 0.1)optimizer.step()total_acc (predicted_label.argmax(1) label).sum().item()train_loss loss.item()total_count label.size(0)if idx % log_interval 0 and idx 0:elapsed time.time() - start_timeprint(| epoch {:1d} | {:4d}/{:4d} batches | train_acc {:4.3f} train_loss {:4.5f}.format(epoch, idx, len(dataloader), total_acc / total_count, train_loss / total_count))total_acc, train_loss, total_count 0, 0, 0start_time time.time()def evaluate(dataloader):model.eval()total_acc, train_loss, total_count 0, 0, 0with torch.no_grad():for idx, (text, label) in enumerate(dataloader):predicted_label model(text)loss criterion(predicted_label, label)total_acc (predicted_label.argmax(1) label).sum().item()train_loss loss.item()total_count label.size(0)return total_acc / total_count, train_loss / total_count定义训练函数train和评估函数evaluate。 7. 训练模型 from torch.utils.data.dataset import random_split from torchtext.data.functional import to_map_style_datasetEPOCHS 10 LR 5 BATCH_SIZE 64criterion torch.nn.CrossEntropyLoss() optimizer torch.optim.SGD(model.parameters(), lrLR) scheduler torch.optim.lr_scheduler.StepLR(optimizer, 1.0, gamma0.1) total_accu Nonetrain_iter coustom_data_iter(train_data[0].values[:], train_data[1].values[:]) train_dataset to_map_style_dataset(train_iter)split_train_, split_valid_ random_split(train_dataset, [int(len(train_dataset) * 0.8), int(len(train_dataset) * 0.2)])train_dataloader DataLoader(split_train_, batch_sizeBATCH_SIZE, shuffleTrue, collate_fncollate_batch) valid_dataloader DataLoader(split_valid_, batch_sizeBATCH_SIZE, shuffleTrue, collate_fncollate_batch)for epoch in range(1, EPOCHS 1):epoch_start_time time.time()train(train_dataloader)val_acc, val_loss evaluate(valid_dataloader)lr optimizer.state_dict()[param_groups][0][lr]if total_accu is not None and total_accu val_acc:scheduler.step()else:total_accu val_accprint(- * 69)print(| epoch {:1d} | time: {:4.2f}s | valid_acc {:4.3f} valid_loss {:4.3f} | lr {:4.6f}.format(epoch, time.time() - epoch_start_time, val_acc, val_loss, lr))print(- * 69)test_acc, test_loss evaluate(valid_dataloader) print(模型准确率为{:5.4f}.format(test_acc))定义超参数并初始化损失函数、优化器和学习率调度器。创建数据集并进行训练集和验证集的划分。训练模型并在每个epoch后进行验证。 8. 预测函数 def predict(text, text_pipeline):with torch.no_grad():text torch.tensor(text_pipeline(text), dtypetorch.float32)print(text.shape)output model(text)return output.argmax(1).item()ex_text_str 还有双鸭山到淮阴的汽车票吗13号的 model model.to(cpu) print(该文本的类别是%s % label_name[predict(ex_text_str, text_pipeline)])定义预测函数predict将文本转换为张量并使用模型进行预测。使用示例文本进行预测并输出结果。 结果 总结 这周学习了通过word2vec文本分类包括数据加载、预处理、模型训练、评估和预测。进一步加深了对word2vec的理解。
http://www.hkea.cn/news/14333592/

相关文章:

  • 做网站的论文摘要酷玛网站建设
  • 我有域名怎么建网站网络广告宣传怎么做
  • 哪些网站是用iframe家具设计网站推荐
  • 医院网站建设官网wordpress更新文章未找到页面
  • 手机网站自适应宽度中国建设银行总部网站
  • 公司网页网站建营销型网站上海制作
  • 上海建设银行网站首页万网cname域名解析
  • vue快速建站注册公司费用深圳
  • 做网站对企业有什么好处南宁网页制作设计营销
  • 国外免费网站域名服务器入口wordpress首页多样式
  • 深圳的深圳的网站建设公司wordpress怎么入驻写模板
  • 快速做网站服务好亿唐为什么2005年做虚拟网站
  • 跟我学做纸艺花网站如何用wd做网站设计
  • 免费视频素材网站有哪些外国网站快速申请qq
  • .net网站天津网站建设方案托管
  • 雕刻机做外贸都是哪些网站网站建设的税率
  • 周口网站建设73dataxampp 如何将建好的wordpress发送到网络空间中
  • 大连网站建设辽icp备站长工具seo下载
  • 免费行情软件app网站大全入口wordpress没有远程发布
  • 中国外贸网站上海网站推广 优帮云
  • 免费黄页网站公司网站登陆后台管理中心不能修改前台主页
  • 网站设计制作上海公司青岛网站平台开发
  • 丰台手机网站设计wordpress关注微信登陆
  • 旅游网官方网站wordpress移到根目录
  • 淮北建投网站怎样制作悬浮的WordPress
  • 电子商务网站建设与管理的论文相片制作图片
  • 用jsp做婚纱网站的流程宠物网站建设需求分析
  • 网站后期维护协议销售网站开发步骤
  • 网站建设有什么用可视化编辑网站开发
  • 福建建设工程设计备案网站企业如何进行网站建设