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

做效果图的网站中国建筑集团公司官网

做效果图的网站,中国建筑集团公司官网,互联网做网站的话术,微信怎么做自己的小程序大家好#xff0c;我是微学AI#xff0c;今天给大家介绍一下深度学习实战26-(Pytorch)搭建TextCNN实现多标签文本分类的任务#xff0c;TextCNN是一种用于文本分类的深度学习模型#xff0c;它基于卷积神经网络(Convolutional Neural Networks, CNN)实现。TextCNN的主要思想…大家好我是微学AI今天给大家介绍一下深度学习实战26-(Pytorch)搭建TextCNN实现多标签文本分类的任务TextCNN是一种用于文本分类的深度学习模型它基于卷积神经网络(Convolutional Neural Networks, CNN)实现。TextCNN的主要思想是使用卷积操作从文本中提取有用的特征并使用这些特征来预测文本的类别。 TextCNN将文本看作是一个一维的时序数据将每个单词嵌入到一个向量空间中形成一个词向量序列。然后TextCNN通过堆叠一些卷积层和池化层来提取关键特征并将其转换成一个固定大小的向量。最后该向量将被送到一个全连接层进行分类。TextCNN的优点在于它可以非常有效地捕捉文本中的局部和全局特征从而提高分类精度。此外TextCNN的训练速度相对较快具有较好的可扩展性. TextCNN做多标签分类 1.库包导入 import os import re import numpy as np import pandas as pd import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import Dataset, DataLoader from sklearn.model_selection import train_test_split from sklearn.metrics import f1_score, precision_score, recall_score from collections import Counter 2.定义参数 max_length 20 batch_size 32 embedding_dim 100 num_filters 100 filter_sizes [2, 3, 4] num_classes 4 learning_rate 0.001 num_epochs 2000 device torch.device(cuda if torch.cuda.is_available() else cpu) 3. 数据集处理函数 def load_data(file_path):df pd.read_csv(file_path,encodinggbk)texts df[text].tolist()labels df[label].apply(lambda x: x.split(-)).tolist()return texts, labelsdef preprocess_text(text):text re.sub(r[^\w\s], , text)return text.strip().lower().split()def build_vocab(texts, max_size10000):word_counts Counter()for text in texts:word_counts.update(preprocess_text(text))vocab {PAD: 0, UNK: 1}for i, (word, count) in enumerate(word_counts.most_common(max_size - 2)):vocab[word] i 2return vocabdef encode_text(text, vocab):tokens preprocess_text(text)return [vocab.get(token, vocab[UNK]) for token in tokens]def pad_text(encoded_text, max_length):return encoded_text[:max_length] [0] * max(0, max_length - len(encoded_text))def encode_label(labels, label_set):encoded_labels []for label in labels:encoded_label [0] * len(label_set)for l in label:if l in label_set:encoded_label[label_set.index(l)] 1encoded_labels.append(encoded_label)return encoded_labelsclass TextDataset(Dataset):def __init__(self, texts, labels):self.texts textsself.labels labelsdef __len__(self):return len(self.texts)def __getitem__(self, index):return torch.tensor(self.texts[index], dtypetorch.long), torch.tensor(self.labels[index], dtypetorch.float32)texts, labels load_data(data_qa.csv) vocab build_vocab(texts) label_set [人工智能, 卷积神经网络, 大数据,ChatGPT]encoded_texts [pad_text(encode_text(text, vocab), max_length) for text in texts] encoded_labels encode_label(labels, label_set)X_train, X_test, y_train, y_test train_test_split(encoded_texts, encoded_labels, test_size0.2, random_state42) #print(X_train,y_train)train_dataset TextDataset(X_train, y_train) test_dataset TextDataset(X_test, y_test)train_loader DataLoader(train_dataset, batch_sizebatch_size, shuffleTrue) test_loader DataLoader(test_dataset, batch_sizebatch_size, shuffleFalse)数据集样例 textlabel人工智能如何影响进出口贸易——基于国家层面数据的实证检验人工智能生成式人工智能——ChatGPT的变革影响、风险挑战及应对策略人工智能-ChatGPT人工智能与人的自由全面发展关系探究——基于马克思劳动解放思想人工智能中学生人工智能技术使用持续性行为意向影响因素研究 人工智能人工智能技术在航天装备领域应用探讨 人工智能人工智能赋能教育的伦理省思 人工智能人工智能的神话ChatGPT与超越的数字劳动“主体”之辨 人工智能-ChatGPT人工智能(ChatGPT)对社科类研究生教育的挑战与机遇 人工智能-ChatGPT人工智能助推教育变革的现实图景——教师对ChatGPT的应对策略分析 人工智能-ChatGPT智能入场与民主之殇人工智能时代民主政治的风险与挑战 人工智能国内人工智能写作的研究现状分析及启示 人工智能人工智能监管理论、模式与趋势 人工智能“新一代人工智能技术ChatGPT的应用与规制”笔谈 人工智能-ChatGPTChatGPT新一代人工智能技术发展的经济和社会影响 人工智能-ChatGPTChatGPT赋能劳动教育的图景展现及其实践策略 人工智能-ChatGPT人工智能聊天机器人—基于ChatGPT、Microsoft Bing视角分析 人工智能-ChatGPT拜登政府对华人工智能产业的打压与中国因应 人工智能人工智能技术在现代农业机械中的应用研究人工智能人工智能对中国制造业创新的影响研究—来自工业机器人应用的证据 人工智能人工智能技术在电子产品设计中的应用人工智能ChatGPT等智能内容生成与新闻出版业面临的智能变革人工智能-ChatGPT基于卷积神经网络的农作物智能图像识别分类研究人工智能-卷积神经网络基于卷积神经网络的图像分类改进方法研究人工智能-卷积神经网络 这里设置多标签用“-”符号隔开多个标签。 4.构建模型 class TextCNN(nn.Module):def __init__(self, vocab_size, embedding_dim, num_filters, filter_sizes, num_classes, dropout0.5):super(TextCNN, self).__init__()self.embedding nn.Embedding(vocab_size, embedding_dim)self.convs nn.ModuleList([nn.Conv2d(1, num_filters, (fs, embedding_dim)) for fs in filter_sizes])self.dropout nn.Dropout(dropout)self.fc nn.Linear(num_filters * len(filter_sizes), num_classes)def forward(self, x):x self.embedding(x)x x.unsqueeze(1)x [torch.relu(conv(x)).squeeze(3) for conv in self.convs]x [torch.max_pool1d(i, i.size(2)).squeeze(2) for i in x]x torch.cat(x, 1)x self.dropout(x)logits self.fc(x)return torch.sigmoid(logits) 5.模型训练 def train_epoch(model, dataloader, criterion, optimizer, device):model.train()running_loss 0.0correct_preds 0 # 记录正确预测的数量total_preds 0 # 记录总的预测数量for inputs, targets in dataloader:inputs, targets inputs.to(device), targets.to(device)optimizer.zero_grad()outputs model(inputs)loss criterion(outputs, targets)loss.backward()optimizer.step()running_loss loss.item()# 计算正确预测的数量predicted_labels torch.argmax(outputs, dim1)targets torch.argmax(targets, dim1)correct_preds (predicted_labels targets).sum().item()total_preds len(targets)accuracy correct_preds / total_preds # 计算准确率return running_loss / len(dataloader), accuracy # 返回平均损失和准确率def evaluate(model, dataloader, device):model.eval()preds []targets []with torch.no_grad():for inputs, target in dataloader:inputs inputs.to(device)outputs model(inputs)preds.extend(outputs.cpu().numpy())targets.extend(target.numpy())return np.array(preds), np.array(targets)def calculate_metrics(preds, targets, threshold0.5):preds (preds threshold).astype(int)f1 f1_score(targets, preds, averagemicro)precision precision_score(targets, preds, averagemicro)recall recall_score(targets, preds, averagemicro)return {f1: f1, precision: precision, recall: recall}model TextCNN(len(vocab), embedding_dim, num_filters, filter_sizes, num_classes).to(device) criterion nn.BCELoss() optimizer optim.Adam(model.parameters(), lrlearning_rate)for epoch in range(num_epochs):if epoch % 200:train_loss,accuracy train_epoch(model, train_loader, criterion, optimizer, device)print(fEpoch: {epoch 1}, Train Loss: {train_loss:.4f}, Train Accuracy: {accuracy:.4f})preds, targets evaluate(model, test_loader, device)metrics calculate_metrics(preds, targets)print(fEpoch: {epoch 1}, F1: {metrics[f1]:.4f}, Precision: {metrics[precision]:.4f}, Recall: {metrics[recall]:.4f}) ... Epoch: 1821, Train Loss: 0.0055, Train Accuracy: 0.8837 Epoch: 1821, F1: 0.9429, Precision: 0.9429, Recall: 0.9429 Epoch: 1841, Train Loss: 0.0064, Train Accuracy: 0.9070 Epoch: 1841, F1: 0.9429, Precision: 0.9429, Recall: 0.9429 Epoch: 1861, Train Loss: 0.0047, Train Accuracy: 0.8837 Epoch: 1861, F1: 0.9429, Precision: 0.9429, Recall: 0.9429 Epoch: 1881, Train Loss: 0.0058, Train Accuracy: 0.8605 Epoch: 1881, F1: 0.9429, Precision: 0.9429, Recall: 0.9429 Epoch: 1901, Train Loss: 0.0064, Train Accuracy: 0.8488 Epoch: 1901, F1: 0.9429, Precision: 0.9429, Recall: 0.9429 Epoch: 1921, Train Loss: 0.0062, Train Accuracy: 0.8140 Epoch: 1921, F1: 0.9429, Precision: 0.9429, Recall: 0.9429 Epoch: 1941, Train Loss: 0.0059, Train Accuracy: 0.8953 Epoch: 1941, F1: 0.9429, Precision: 0.9429, Recall: 0.9429 Epoch: 1961, Train Loss: 0.0053, Train Accuracy: 0.8488 Epoch: 1961, F1: 0.9429, Precision: 0.9429, Recall: 0.9429 Epoch: 1981, Train Loss: 0.0055, Train Accuracy: 0.8488 Epoch: 1981, F1: 0.9429, Precision: 0.9429, Recall: 0.9429 大家可以利用自己的数据集进行训练按照格式修改即可
http://www.hkea.cn/news/14338626/

相关文章:

  • 音乐网站开发技术人员配置群晖 wordpress 中文
  • 文化传播集团网站建设网站查询域名ip查询
  • dede 网站图标wordpress关闭手机访问不了
  • 广州市外贸网站建设品牌门户网站建站多少钱
  • 宁波如何建网站crm软件免费
  • 做旅游平台网站找哪家好用ps设计网站做多大的
  • 温州定制网站建设电话做空间的网站吗
  • 制作商城网站模板南京网站关键词优化
  • 中国石油网站建设在线第三次作业焦作专业做网站公司哪家好
  • wordpress官方主题西宁网站建设优化案例
  • 海外网站怎么浏览上海金山网站设计公司
  • 做网站网站如何定位学广告设计好就业吗
  • 萧县哪有做网站的wordpress 文章签名
  • 企业网站建设问题电子商务网站的建设与规划论文
  • 网站建设业务流程餐饮logo设计
  • 最好的网站制作公司华为的网站建设
  • wordpress 去掉 自豪廊坊关键词优化
  • 做公司网站公司多少钱域名备案怎么关闭网站
  • 中山网站制作系统导航网站优化
  • 网络公司怎样推广网站百合网
  • 手机网站的后台管理系统门窗品牌10大品牌排行
  • 做网站永久腾讯企业邮箱
  • 营销网站大全360如何做网站
  • 免费开发软件的网站建设杂志社网站建设方案书
  • 东莞seo建站推广费用龙华做网站哪家好
  • 网站推广有用吗?做网站推广怎么跟客户沟通
  • 企业怎样建立自己的网站中国建设银行河北省分行官方网站
  • 建小程序需要网站吗建设招标项目常挂网站有哪些
  • 山东一建建设有限公司网站首页食堂网站建设
  • 建设银行网站怎么查自己账号吗建设部施工安全管理网站