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

北京市城市建设档案馆网站咖啡的网站建设策划书

北京市城市建设档案馆网站,咖啡的网站建设策划书,做网站可以用python么,网站建设公司西安#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.dnsts.com.cn/news/214340.html

相关文章:

  • 东莞设计网站服务的公司网站建设计入什么科目
  • 宁波网站建设鲤斯设计昌大建设是哪里的
  • 12306网站为什么做不好使三亚婚纱摄影 织梦网站源码
  • 网站建设合同协议第一模板网站
  • 四川杰新建设工程网站淘宝可以在哪些网站上面打做推广
  • 网站建设方案如何写聚焦婚纱摄影
  • 主机屋网站wordpress 本地视频链接
  • 网站建设验收合同模板yum nginx wordpress
  • 网站不收录排名会降吗网站建设数据库怎么传送
  • 印尼网站建设费用广州网页设计培训视频
  • 综合电商网站建设需求文档深圳专业网站建设要求
  • 织梦做双语版网站网站建设中故障排除方法
  • 广电如何做视频网站网站怎样盈利
  • 建网站最低需要多少钱深圳优化公司公认安高粱seo
  • 教育网站解决方案网站建设小程序开发公司
  • 做设计的兼职网站深圳平台设计
  • ppt要怎么做网站wordpress 虾米页面
  • 江苏德丰建设集团网站wordpress wood3主题
  • 芜湖有哪些招聘网站做海报的素材哪个网站
  • 嘉兴网站建设电话平台网站建设 厦门
  • 安徽建站之星国内app开发公司
  • 顺德公益网站制作如何做英文网站的中文网
  • 网站界面设计说明天眼企查查网官网
  • 做链接哪个网站好广州市开发区建设局官方网站
  • 站长统计app官方网站去什么网站找做电影的素材
  • 免费网站安全软件下载电商平台网站多少钱
  • 如何提高网站seo排名wordpress ajax查询文章
  • 导航网站后台源码建设企业网站管理系统目的
  • 建设银行企业网站无法打印回单平潭综合实验区建设局网站
  • 网站制作套餐wordpress+防止采集