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

网站怎么做筛选功能的代码手机端搜索引擎排名

网站怎么做筛选功能的代码,手机端搜索引擎排名,小说网站建设模板,哈尔滨住房和城乡建设厅网站目录 前言 1 数据集制作与加载 1.1 导入数据 第一步#xff0c;导入十分类数据 第二步#xff0c;读取MAT文件驱动端数据 第三步#xff0c;制作数据集 第四步#xff0c;制作训练集和标签 1.2 数据加载#xff0c;训练数据、测试数据分组#xff0c;数据分batch…目录 前言 1 数据集制作与加载 1.1 导入数据 第一步导入十分类数据 第二步读取MAT文件驱动端数据 第三步制作数据集 第四步制作训练集和标签 1.2 数据加载训练数据、测试数据分组数据分batch 2 Transformer分类模型和超参数选取 2.1 定义Transformer分类模型采用Transformer架构中的编码器 2.2 定义模型参数 2.3 模型结构 3 Transformer模型训练与评估 3.1 模型训练 3.2 模型评估 往期精彩内容 Python-凯斯西储大学CWRU轴承数据解读与分类处理 Python轴承故障诊断 (一)短时傅里叶变换STFT Python轴承故障诊断 (二)连续小波变换CWT Python轴承故障诊断 (三)经验模态分解EMD Python轴承故障诊断 (四)基于EMD-CNN的故障分类 Python轴承故障诊断 (五)基于EMD-LSTM的故障分类 Pytorch-LSTM轴承故障一维信号分类(一) Pytorch-CNN轴承故障一维信号分类(二) 前言 本文基于凯斯西储大学CWRU轴承数据先经过数据预处理进行数据集的制作和加载最后通过Pytorch实现Transformer模型对故障数据的分类并介绍Transformer模型的超参数。凯斯西储大学轴承数据的详细介绍可以参考下文 Python-凯斯西储大学CWRU轴承数据解读与分类处理 1 数据集制作与加载 1.1 导入数据 参考之前的文章进行故障10分类的预处理凯斯西储大学轴承数据10分类数据集 第一步导入十分类数据 import numpy as np import pandas as pd from scipy.io import loadmatfile_names [0_0.mat,7_1.mat,7_2.mat,7_3.mat,14_1.mat,14_2.mat,14_3.mat,21_1.mat,21_2.mat,21_3.mat]for file in file_names:# 读取MAT文件data loadmat(fmatfiles\\{file})print(list(data.keys())) 第二步读取MAT文件驱动端数据 # 采用驱动端数据 data_columns [X097_DE_time, X105_DE_time, X118_DE_time, X130_DE_time, X169_DE_time,X185_DE_time,X197_DE_time,X209_DE_time,X222_DE_time,X234_DE_time] columns_name [de_normal,de_7_inner,de_7_ball,de_7_outer,de_14_inner,de_14_ball,de_14_outer,de_21_inner,de_21_ball,de_21_outer] data_12k_10c pd.DataFrame() for index in range(10):# 读取MAT文件data loadmat(fmatfiles\\{file_names[index]})dataList data[data_columns[index]].reshape(-1)data_12k_10c[columns_name[index]] dataList[:119808] # 121048 min: 121265 print(data_12k_10c.shape) data_12k_10c第三步制作数据集 train_set、val_set、test_set 均为按照721划分训练集、验证集、测试集最后保存数据 第四步制作训练集和标签 # 制作数据集和标签 import torch# 这些转换是为了将数据和标签从Pandas数据结构转换为PyTorch可以处理的张量 # 以便在神经网络中进行训练和预测。def make_data_labels(dataframe):参数 dataframe: 数据框返回 x_data: 数据集 torch.tensory_label: 对应标签值 torch.tensor# 信号值x_data dataframe.iloc[:,0:-1]# 标签值y_label dataframe.iloc[:,-1]x_data torch.tensor(x_data.values).float()y_label torch.tensor(y_label.values.astype(int64)) # 指定了这些张量的数据类型为64位整数通常用于分类任务的类别标签return x_data, y_label# 加载数据 train_set load(train_set) val_set load(val_set) test_set load(test_set)# 制作标签 train_xdata, train_ylabel make_data_labels(train_set) val_xdata, val_ylabel make_data_labels(val_set) test_xdata, test_ylabel make_data_labels(test_set) # 保存数据 dump(train_xdata, trainX_1024_10c) dump(val_xdata, valX_1024_10c) dump(test_xdata, testX_1024_10c) dump(train_ylabel, trainY_1024_10c) dump(val_ylabel, valY_1024_10c) dump(test_ylabel, testY_1024_10c) 1.2 数据加载训练数据、测试数据分组数据分batch import torch from joblib import dump, load import torch.utils.data as Data import numpy as np import pandas as pd import torch import torch.nn as nn # 参数与配置 torch.manual_seed(100) # 设置随机种子以使实验结果具有可重复性 device torch.device(cuda if torch.cuda.is_available() else cpu) # 有GPU先用GPU训练# 加载数据集 def dataloader(batch_size, workers2):# 训练集train_xdata load(trainX_1024_10c)train_ylabel load(trainY_1024_10c)# 验证集val_xdata load(valX_1024_10c)val_ylabel load(valY_1024_10c)# 测试集test_xdata load(testX_1024_10c)test_ylabel load(testY_1024_10c)# 加载数据train_loader Data.DataLoader(datasetData.TensorDataset(train_xdata, train_ylabel),batch_sizebatch_size, shuffleTrue, num_workersworkers, drop_lastTrue)val_loader Data.DataLoader(datasetData.TensorDataset(val_xdata, val_ylabel),batch_sizebatch_size, shuffleTrue, num_workersworkers, drop_lastTrue)test_loader Data.DataLoader(datasetData.TensorDataset(test_xdata, test_ylabel),batch_sizebatch_size, shuffleTrue, num_workersworkers, drop_lastTrue)return train_loader, val_loader, test_loaderbatch_size 32 # 加载数据 train_loader, val_loader, test_loader dataloader(batch_size) 2 Transformer分类模型和超参数选取 2.1 定义Transformer分类模型采用Transformer架构中的编码器 注意输入数据进行了堆叠 把一个1*1024 的序列 进行划分堆叠成形状为 32 * 32 就使输入序列的长度降下来了 2.2 定义模型参数 # 模型参数 input_dim 32 # 输入维度 hidden_dim 512 # 注意力维度 output_dim 10 # 输出维度 num_layers 4 # 编码器层数 num_heads 8 # 多头注意力头数 batch_size 32 # 模型 model TransformerModel(input_dim, output_dim, hidden_dim, num_layers, num_heads, batch_size) model model.to(device) loss_function nn.CrossEntropyLoss(reductionsum) # loss learn_rate 0.0003 optimizer torch.optim.Adam(model.parameters(), lrlearn_rate) # 优化器 2.3 模型结构 3 Transformer模型训练与评估 3.1 模型训练 训练结果 100个epoch准确率将近90%Transformer模型分类效果良好参数过拟合了适当调整模型参数降低模型复杂度还可以进一步提高分类准确率。 注意调整参数 可以适当增加 Transforme编码器层数 和隐藏层的维度微调学习率 调整多头注意力的头数增加更多的 epoch 注意防止过拟合 可以改变一维信号堆叠的形状设置合适的长度和维度 3.2 模型评估 # 模型 测试集 验证 import torch.nn.functional as F# 加载模型 model torch.load(best_model_transformer.pt) # model torch.load(best_model_cnn2d.pt, map_locationtorch.device(cpu))# 将模型设置为评估模式 model.eval() # 使用测试集数据进行推断 with torch.no_grad():correct_test 0test_loss 0for test_data, test_label in test_loader:test_data, test_label test_data.to(device), test_label.to(device)test_output model(test_data)probabilities F.softmax(test_output, dim1)predicted_labels torch.argmax(probabilities, dim1)correct_test (predicted_labels test_label).sum().item()loss loss_function(test_output, test_label)test_loss loss.item()test_accuracy correct_test / len(test_loader.dataset) test_loss test_loss / len(test_loader.dataset) print(fTest Accuracy: {test_accuracy:4.4f} Test Loss: {test_loss:10.8f})Test Accuracy: 0.9570 Test Loss: 0.12100271
http://www.pierceye.com/news/427163/

相关文章:

  • 行业网站渠道选择和内容运营网站续费问题
  • 什么是seo优化推广阿里云网站建设优化
  • 信息发布型网站建设的特点免费
  • 陕西有限公司网站建设招标公告如何做影视网站的标题
  • wordpress网站百度搜索吗百度关键词推广怎么做
  • 马鞍山市网站建设服务有限公司计算机平面设计主要做什么
  • 手机网站跟pc网站有什么不同怎样创建网站收益
  • 什么系统做购物网站好做面料那几个网站
  • 做网站产品资料表格做鞋设备网站
  • 青海西宁制作网站企业做网站用什么语言编写
  • 网站变成手机网站做简历的网站都有哪些内容
  • 汽车网站建设页面软件公司都是帮别人做网站么
  • 微信的企业网站模板深圳做关键词优化平台
  • 用什么框架做网站快网站建设与维护薪资
  • 深圳公明做网站用织梦做网站都需要用什么
  • 广西城乡建设部网站首页国家住房和城乡建设部中国建造师网站
  • 杭州高端网站设计公司天津做网站那家好
  • 怎么建立网站?长沙做网站价格
  • 新网网站后台登陆程序员为什么35岁就不能干?
  • 百度申诉网站seo项目经理
  • 北京网站排名优化软件花箱 东莞网站建设
  • wordpress 迁站如何来建设网站
  • 营销型企业网站建设哪家好自己个人网站后台怎么做
  • 如何做网站内链优化网店运营的工作内容
  • 邢台网站设计cute wordpress主题破解版
  • 建站网站案例什么在线做动图的网站比较好
  • 云南做网站哪家便宜对象存储链接WordPress
  • 网站上传模板后ui设计界面配色
  • 阿里网站备案公众号小程序制作平台
  • 东莞网站建设seo公司为什么建立网站