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

网站降权多久恢复有了域名怎么建网站联系方式

网站降权多久恢复,有了域名怎么建网站联系方式,怎么介绍自己做的企业网站页面,北安网站建设#x1f368; 本文为#x1f517;365天深度学习训练营 中的学习记录博客#x1f356; 原作者#xff1a;K同学啊 前言 LSTM模型一直是一个很经典的模型#xff0c;这个模型当然也很复杂#xff0c;一般需要先学习RNN、GRU模型之后再学#xff0c;GRU、LSTM的模型讲解将… 本文为365天深度学习训练营 中的学习记录博客 原作者K同学啊 前言 LSTM模型一直是一个很经典的模型这个模型当然也很复杂一般需要先学习RNN、GRU模型之后再学GRU、LSTM的模型讲解将在这两天发布更新其中 深度学习基础–一文搞懂RNN 深度学习基础–GRU学习笔记(李沐《动手学习深度学习》) 这一篇是基于LSTM模型火灾预测研究讲述了如何构建时间数据、模型如何构建、pytorch中LSTM的API、动态调整学习率等最后用RMSE、R2做评估欢迎收藏 关注本人将会持续更新 文章目录 1、导入数据与数据展示1、导入库2、导入数据3、数据可视化4、相关性分析(热力图展示)5、特征提取 2、时间数据构建1、数据标准化2、构建时间数据集3、划分数据集和加载数据集1、数据划分 3、模型构建4、模型训练1、训练集函数2、测试集函数3、模型训练 5、结果展示1、损失函数2、预测展示3、R2评估 1、导入数据与数据展示 1、导入库 import torch import torch.nn as nn import pandas as pd import numpy as np import seaborn as sns import matplotlib.pylab as plt # 设置分辨率 plt.rcParams[savefig.dpi] 500 # 图片分辨率 plt.rcParams[figure.dpi] 500 # 分辨率device cpudevicecpu2、导入数据 data_df pd.read_csv(./woodpine2.csv)data_df.head()TimeTem1CO 1Soot 100.00025.00.00.010.22825.00.00.020.45625.00.00.030.68525.00.00.040.91325.00.00.0 数据位实验数据数据是定时收集的 Time: 时间从 0.000 开始每隔大约 0.228 的间隔递增。Tem1: 是温度Temperature的缩写单位可能是摄氏度 (°C)。CO: 是指一氧化碳 (Carbon Monoxide) 的浓度。Soot: 是指烟炱或炭黑 (Soot) 的浓度。 # 数据信息查询 data_df.info()class pandas.core.frame.DataFrame RangeIndex: 5948 entries, 0 to 5947 Data columns (total 4 columns):# Column Non-Null Count Dtype --- ------ -------------- ----- 0 Time 5948 non-null float641 Tem1 5948 non-null float642 CO 1 5948 non-null float643 Soot 1 5948 non-null float64 dtypes: float64(4) memory usage: 186.0 KB# 数据缺失值 data_df.isnull().sum()Time 0 Tem1 0 CO 1 0 Soot 1 0 dtype: int643、数据可视化 时间是每隔固定时间收集的故有用特征为温度、CO、Soot _, ax plt.subplots(1, 3, constrained_layoutTrue, figsize(14, 3)) # constrained_layoutTrue 自动调整子图sns.lineplot(datadata_df[Tem1], axax[0]) sns.lineplot(datadata_df[CO 1], axax[1]) sns.lineplot(datadata_df[Soot 1], axax[2]) plt.show()​ ​ 4、相关性分析(热力图展示) columns [Tem1, CO 1, Soot 1]plt.figure(figsize(8, 6)) sns.heatmap(datadata_df[columns].corr(), annotTrue, fmt.2f) plt.show()​ ​ # 统计分析 data_df.describe()TimeTem1CO 1Soot 1count5948.0000005948.0000005948.0000005948.000000mean226.133238152.5349190.0000350.000222std96.60144577.0260190.0000220.000144min0.00000025.0000000.0000000.00000025%151.00000089.0000000.0000150.00009350%241.000000145.0000000.0000340.00022075%310.000000220.0000000.0000540.000348max367.000000307.0000000.0000800.000512 当我看到相关性为1的时候我也惊呆了后面查看了统计量还是没发现出来但是看上面的可视化图展示我信了随着温度升高CO化碳、Soot浓度一起升高这个也符合火灾的场景数据没啥问题。 5、特征提取 # 由于时间间隔一样故这里去除 data data_df.iloc[:, 1:]data.head(3)Tem1CO 1Soot 1025.00.00.0125.00.00.0225.00.00.0 data.tail(3)Tem1CO 1Soot 15945292.00.0000770.0004915946291.00.0000760.0004895947290.00.0000760.000487 特征间数据差距较大故需要做标准化 2、时间数据构建 1、数据标准化 from sklearn.preprocessing import MinMaxScalersc MinMaxScaler()for col in [Tem1, CO 1, Soot 1]:data[col] sc.fit_transform(data[col].values.reshape(-1, 1))# 查看维度 data.shape(5948, 3)2、构建时间数据集 LSTM 模型期望输入数据的形状是 (样本数, 时间步长, 特征数)本文数据 样本数5948时间步长本文设置为8 即是取特征每8行(Tem1, CO 1, Soot 1)为一个时间段第9个时间段的Tem1为y(温度)火灾预测本质也是预测温度 特征数3 width_x 8 width_y 1# 构建时间数据X y(解释在上) X, y [], []# 设置开始构建数据位置 start_position 0for _, _ in data.iterrows():in_end start_position width_xout_end in_end width_y if out_end len(data):# 采集时间数据集X_ np.array(data.iloc[start_position : in_end, :])y_ np.array(data.iloc[in_end : out_end, 0])X.append(X_)y.append(y_)start_position 1# 转化为数组 X np.array(X) # y也要构建出适合维度的变量 y np.array(y).reshape(-1, 1, 1)X.shape, y.shape((5939, 8, 3), (5939, 1, 1))3、划分数据集和加载数据集 1、数据划分 # 取前5000个数据位训练集后面为测试集 X_train torch.tensor(np.array(X[:5000, ]), dtypetorch.float32) X_test torch.tensor(np.array(X[5000:, ]), dtypetorch.float32)y_train torch.tensor(np.array(y[:5000, ]), dtypetorch.float32) y_test torch.tensor(np.array(y[5000:, ]), dtypetorch.float32)X_train.shape, y_train.shape (torch.Size([5000, 8, 3]), torch.Size([5000, 1, 1]))数据集构建 TensorDataset 是 PyTorch 中的一个类用于将两个或多个张量组合成一个数据集。每个样本由一个输入张量和一个目标张量组成(构建的数据集中每一个输入对应一个输出) from torch.utils.data import TensorDataset, DataLoaderbatch_size 64train_dl DataLoader(TensorDataset(X_train, y_train),batch_sizebatch_size,shuffleTrue)test_dl DataLoader(TensorDataset(X_test, y_test),batch_sizebatch_size,shuffleFalse)3、模型构建 nn.LSTM 的 API *构造函数 torch.nn.LSTM(input_size, hidden_size, num_layers1, biasTrue, batch_firstFalse, dropout0, bidirectionalFalse, proj_size0)input_size (int)每个时间步输入特征的数量。hidden_size (int)LSTM 层中隐藏状态h的特征数。这也是 LSTM 输出的特征数量除非指定了 proj_size。num_layers (int, 可选)LSTM 层的数量。默认值为 1。bias (bool, 可选)如果为 True则使用偏置项否则不使用。默认值为 True。batch_first (bool, 可选)如果为 True则输入和输出张量的形状为 (batch, seq, feature)否则为 (seq, batch, feature)。默认值为 False。dropout (float, 可选)除了最后一层之外的所有 LSTM 层之后应用的 dropout 概率。如果 num_layers 1则不会应用 dropout。默认值为 0。bidirectional (bool, 可选)如果为 True则变为双向 LSTM。默认值为 False。proj_size (int, 可选)如果大于 0则 LSTM 会将隐藏状态投影到一个不同维度的空间。这减少了模型参数的数量并且可以加速训练。默认值为 0表示没有投影。 输入 input (tensor)形状为 (seq_len, batch, input_size) 或者如果 batch_firstTrue 则为 (batch, seq_len, input_size)。(h_0, c_0) (tuple, 可选)包含两个张量 (h_0, c_0)分别代表初始的隐藏状态和细胞状态。它们的形状均为 (num_layers * num_directions, batch, hidden_size)。如果没有提供那么所有状态都会被初始化为零。 其中 单向 LSTM (bidirectionalFalse)此时 num_directions1。LSTM 只按照时间序列的顺序从前向后处理数据即从第一个时间步到最后一个时间步。双向 LSTM (bidirectionalTrue)此时 num_directions2。双向 LSTM 包含两个独立的 LSTM 层一个按正常的时间顺序从前向后处理数据另一个则反过来从后向前处理数据。这样做可以让模型同时捕捉到过去和未来的信息对于某些任务如自然语言处理中的语义理解特别有用。 输出(两个) output (tensor)包含了最后一个时间步的输出特征h_t。如果 batch_firstTrue则形状为 (batch, seq_len, num_directions * hidden_size)否则为 (seq_len, batch, num_directions * hidden_size)。注意如果 proj_size 0则输出的最后一个维度将是 num_directions * proj_size。(h_n, c_n) (tuple)包含两个张量 (h_n, c_n)分别代表所有时间步后的最终隐藏状态和细胞状态。它们的形状均为 (num_layers * num_directions, batch, hidden_size)。同样地如果 proj_size 0则 h_n 的最后一个维度将是 proj_size。 模型采用两个lstm层3-320:lstm-320:lstm(进一步提取时间特征)-1:linear class model_lstm(nn.Module):def __init__(self):super().__init__()self.lstm1 nn.LSTM(input_size3, hidden_size320, num_layers1, batch_firstTrue)self.lstm2 nn.LSTM(input_size320, hidden_size320, num_layers1, batch_firstTrue)self.fc nn.Linear(320, 1)def forward(self, x):out, hidden self.lstm1(x)out, _ self.lstm2(out)out self.fc(out) # 这个时候输出维度(batch_size, sequence_length, output_size), 这里是(64, 8, 1)return out[:, -1, :].view(-1, 1, 1) # 取最后一条数据 (64, 1, 1), 在pytorch中如果一个维度是1可能会自动压缩所以这里需要再次形状重塑model model_lstm().to(device) modelmodel_lstm((lstm1): LSTM(3, 320, batch_firstTrue)(lstm2): LSTM(320, 320, batch_firstTrue)(fc): Linear(in_features320, out_features1, biasTrue) )# 先做测试 model(torch.rand(30, 8, 3)).shapetorch.Size([30, 1, 1])4、模型训练 1、训练集函数 def train(train_dl, model, loss_fn, optimizer, lr_schedulerNone):size len(train_dl.dataset)num_batchs len(train_dl)train_loss 0for X, y in train_dl:X, y X.to(device), y.to(device)pred model(X)loss loss_fn(pred, y)optimizer.zero_grad()loss.backward()optimizer.step()train_loss loss.item()if lr_scheduler is not None:lr_scheduler.step()print(learning rate {:.5f}.format(optimizer.param_groups[0][lr]), end )train_loss / num_batchsreturn train_loss2、测试集函数 def test(test_dl, model, loss_fn):size len(test_dl.dataset)num_batchs len(test_dl)test_loss 0with torch.no_grad():for X, y in test_dl:X, y X.to(device), y.to(device)pred model(X)loss loss_fn(pred, y)test_loss loss.item()test_loss / num_batchsreturn test_loss3、模型训练 # 设置超参数 loss_fn nn.MSELoss() lr 1e-1 opt torch.optim.SGD(model.parameters(), lrlr, weight_decay1e-4) # weight_decay 实际上是在应用 L2 正则化也称为权重衰减epochs 50# 动态调整学习率 lr_scheduler torch.optim.lr_scheduler.CosineAnnealingLR(opt, epochs, last_epoch-1)train_loss [] test_loss []for epoch in range(epochs):model.train()epoch_train_loss train(train_dl, model, loss_fn, opt, lr_scheduler)model.eval()epoch_test_loss test(test_dl, model, loss_fn)train_loss.append(epoch_train_loss)test_loss.append(epoch_test_loss)template (Epoch:{:2d}, Train_loss:{:.5f}, Test_loss:{:.5f}) print(template.format(epoch1, epoch_train_loss, epoch_test_loss))learning rate 0.09990 Epoch: 1, Train_loss:0.00320, Test_loss:0.00285 learning rate 0.09961 Epoch: 2, Train_loss:0.00022, Test_loss:0.00084 learning rate 0.09911 Epoch: 3, Train_loss:0.00015, Test_loss:0.00058 learning rate 0.09843 Epoch: 4, Train_loss:0.00015, Test_loss:0.00057 learning rate 0.09755 Epoch: 5, Train_loss:0.00015, Test_loss:0.00072 learning rate 0.09649 Epoch: 6, Train_loss:0.00015, Test_loss:0.00059 learning rate 0.09524 Epoch: 7, Train_loss:0.00015, Test_loss:0.00058 learning rate 0.09382 Epoch: 8, Train_loss:0.00015, Test_loss:0.00058 learning rate 0.09222 Epoch: 9, Train_loss:0.00015, Test_loss:0.00057 learning rate 0.09045 Epoch:10, Train_loss:0.00015, Test_loss:0.00066 learning rate 0.08853 Epoch:11, Train_loss:0.00015, Test_loss:0.00077 learning rate 0.08645 Epoch:12, Train_loss:0.00015, Test_loss:0.00071 learning rate 0.08423 Epoch:13, Train_loss:0.00015, Test_loss:0.00071 learning rate 0.08187 Epoch:14, Train_loss:0.00015, Test_loss:0.00061 learning rate 0.07939 Epoch:15, Train_loss:0.00015, Test_loss:0.00056 learning rate 0.07679 Epoch:16, Train_loss:0.00015, Test_loss:0.00065 learning rate 0.07409 Epoch:17, Train_loss:0.00015, Test_loss:0.00056 learning rate 0.07129 Epoch:18, Train_loss:0.00015, Test_loss:0.00058 learning rate 0.06841 Epoch:19, Train_loss:0.00015, Test_loss:0.00062 learning rate 0.06545 Epoch:20, Train_loss:0.00015, Test_loss:0.00062 learning rate 0.06243 Epoch:21, Train_loss:0.00015, Test_loss:0.00069 learning rate 0.05937 Epoch:22, Train_loss:0.00015, Test_loss:0.00057 learning rate 0.05627 Epoch:23, Train_loss:0.00015, Test_loss:0.00064 learning rate 0.05314 Epoch:24, Train_loss:0.00015, Test_loss:0.00072 learning rate 0.05000 Epoch:25, Train_loss:0.00015, Test_loss:0.00061 learning rate 0.04686 Epoch:26, Train_loss:0.00015, Test_loss:0.00058 learning rate 0.04373 Epoch:27, Train_loss:0.00015, Test_loss:0.00063 learning rate 0.04063 Epoch:28, Train_loss:0.00015, Test_loss:0.00059 learning rate 0.03757 Epoch:29, Train_loss:0.00015, Test_loss:0.00063 learning rate 0.03455 Epoch:30, Train_loss:0.00015, Test_loss:0.00060 learning rate 0.03159 Epoch:31, Train_loss:0.00015, Test_loss:0.00067 learning rate 0.02871 Epoch:32, Train_loss:0.00015, Test_loss:0.00065 learning rate 0.02591 Epoch:33, Train_loss:0.00015, Test_loss:0.00063 learning rate 0.02321 Epoch:34, Train_loss:0.00015, Test_loss:0.00063 learning rate 0.02061 Epoch:35, Train_loss:0.00015, Test_loss:0.00067 learning rate 0.01813 Epoch:36, Train_loss:0.00015, Test_loss:0.00062 learning rate 0.01577 Epoch:37, Train_loss:0.00015, Test_loss:0.00065 learning rate 0.01355 Epoch:38, Train_loss:0.00015, Test_loss:0.00064 learning rate 0.01147 Epoch:39, Train_loss:0.00014, Test_loss:0.00063 learning rate 0.00955 Epoch:40, Train_loss:0.00015, Test_loss:0.00063 learning rate 0.00778 Epoch:41, Train_loss:0.00015, Test_loss:0.00060 learning rate 0.00618 Epoch:42, Train_loss:0.00014, Test_loss:0.00063 learning rate 0.00476 Epoch:43, Train_loss:0.00015, Test_loss:0.00063 learning rate 0.00351 Epoch:44, Train_loss:0.00015, Test_loss:0.00063 learning rate 0.00245 Epoch:45, Train_loss:0.00015, Test_loss:0.00062 learning rate 0.00157 Epoch:46, Train_loss:0.00015, Test_loss:0.00062 learning rate 0.00089 Epoch:47, Train_loss:0.00015, Test_loss:0.00063 learning rate 0.00039 Epoch:48, Train_loss:0.00015, Test_loss:0.00063 learning rate 0.00010 Epoch:49, Train_loss:0.00015, Test_loss:0.00063 learning rate 0.00000 Epoch:50, Train_loss:0.00015, Test_loss:0.000635、结果展示 1、损失函数 import matplotlib.pyplot as plt from datetime import datetime current_time datetime.now() # 获取当前时间 plt.figure(figsize(5, 3),dpi120) plt.plot(train_loss , labelLSTM Training Loss) plt.plot(test_loss, labelLSTM Validation Loss) plt.title(Training and Validation Loss) plt.xlabel(current_time) # 打卡请带上时间戳否则代码截图无效 plt.legend() plt.show()​ ​ 效果不错收敛了 2、预测展示 predicted_y_lstm sc.inverse_transform(model(X_test).detach().numpy().reshape(-1,1)) # 测试集输入模型进行预测 y_test_1 sc.inverse_transform(y_test.reshape(-1,1)) y_test_one [i[0] for i in y_test_1] predicted_y_lstm_one [i[0] for i in predicted_y_lstm] plt.figure(figsize(5, 3),dpi120) # 画出真实数据和预测数据的对比曲线 plt.plot(y_test_one[:2000], colorred, labelreal_temp) plt.plot(predicted_y_lstm_one[:2000], colorblue, labelprediction) plt.title(Title) plt.xlabel(X) plt.ylabel(Y) plt.legend() plt.show()​ ​ 3、R2评估 from sklearn import metrics RMSE 均方根误差 ----- 对均方误差开方 R2 决定系数可以简单理解为反映模型拟合优度的重要的统计量 RMSE_lstm metrics.mean_squared_error(predicted_y_lstm_one, y_test_1)**0.5 R2_lstm metrics.r2_score(predicted_y_lstm_one, y_test_1) print(均方根误差: %.5f % RMSE_lstm) print(R2: %.5f % R2_lstm)均方根误差: 0.00001 R2: 0.82422rmse、r2都不错但是拟合度还可以再提高
文章转载自:
http://www.morning.xjwtq.cn.gov.cn.xjwtq.cn
http://www.morning.hwsgk.cn.gov.cn.hwsgk.cn
http://www.morning.tkflb.cn.gov.cn.tkflb.cn
http://www.morning.prls.cn.gov.cn.prls.cn
http://www.morning.hrydl.cn.gov.cn.hrydl.cn
http://www.morning.mmhyx.cn.gov.cn.mmhyx.cn
http://www.morning.bfmq.cn.gov.cn.bfmq.cn
http://www.morning.lgnbr.cn.gov.cn.lgnbr.cn
http://www.morning.prznc.cn.gov.cn.prznc.cn
http://www.morning.attorneysportorange.com.gov.cn.attorneysportorange.com
http://www.morning.nyhtf.cn.gov.cn.nyhtf.cn
http://www.morning.ypxyl.cn.gov.cn.ypxyl.cn
http://www.morning.jyjqh.cn.gov.cn.jyjqh.cn
http://www.morning.nrrzw.cn.gov.cn.nrrzw.cn
http://www.morning.prgnp.cn.gov.cn.prgnp.cn
http://www.morning.pfbx.cn.gov.cn.pfbx.cn
http://www.morning.tqrbl.cn.gov.cn.tqrbl.cn
http://www.morning.lwrks.cn.gov.cn.lwrks.cn
http://www.morning.hmbtb.cn.gov.cn.hmbtb.cn
http://www.morning.jhyfb.cn.gov.cn.jhyfb.cn
http://www.morning.wsyq.cn.gov.cn.wsyq.cn
http://www.morning.fslxc.cn.gov.cn.fslxc.cn
http://www.morning.gczzm.cn.gov.cn.gczzm.cn
http://www.morning.dzgyr.cn.gov.cn.dzgyr.cn
http://www.morning.jgnst.cn.gov.cn.jgnst.cn
http://www.morning.hgtr.cn.gov.cn.hgtr.cn
http://www.morning.xrftt.cn.gov.cn.xrftt.cn
http://www.morning.wqpr.cn.gov.cn.wqpr.cn
http://www.morning.snlxb.cn.gov.cn.snlxb.cn
http://www.morning.msmtf.cn.gov.cn.msmtf.cn
http://www.morning.yaqi6.com.gov.cn.yaqi6.com
http://www.morning.ngcth.cn.gov.cn.ngcth.cn
http://www.morning.qkqjz.cn.gov.cn.qkqjz.cn
http://www.morning.mghgl.cn.gov.cn.mghgl.cn
http://www.morning.wdykx.cn.gov.cn.wdykx.cn
http://www.morning.wynnb.cn.gov.cn.wynnb.cn
http://www.morning.kjyqr.cn.gov.cn.kjyqr.cn
http://www.morning.cbchz.cn.gov.cn.cbchz.cn
http://www.morning.tfwr.cn.gov.cn.tfwr.cn
http://www.morning.fypgl.cn.gov.cn.fypgl.cn
http://www.morning.pcqdf.cn.gov.cn.pcqdf.cn
http://www.morning.nkjjp.cn.gov.cn.nkjjp.cn
http://www.morning.xrksf.cn.gov.cn.xrksf.cn
http://www.morning.rjrnx.cn.gov.cn.rjrnx.cn
http://www.morning.tbjb.cn.gov.cn.tbjb.cn
http://www.morning.mkyxp.cn.gov.cn.mkyxp.cn
http://www.morning.tnwgc.cn.gov.cn.tnwgc.cn
http://www.morning.ckctj.cn.gov.cn.ckctj.cn
http://www.morning.qznkn.cn.gov.cn.qznkn.cn
http://www.morning.qbfkz.cn.gov.cn.qbfkz.cn
http://www.morning.nnpwg.cn.gov.cn.nnpwg.cn
http://www.morning.pftjj.cn.gov.cn.pftjj.cn
http://www.morning.dztp.cn.gov.cn.dztp.cn
http://www.morning.lpzqd.cn.gov.cn.lpzqd.cn
http://www.morning.xkhxl.cn.gov.cn.xkhxl.cn
http://www.morning.fkyrk.cn.gov.cn.fkyrk.cn
http://www.morning.yjxfj.cn.gov.cn.yjxfj.cn
http://www.morning.qzzmc.cn.gov.cn.qzzmc.cn
http://www.morning.rchsr.cn.gov.cn.rchsr.cn
http://www.morning.rqfnl.cn.gov.cn.rqfnl.cn
http://www.morning.ktntj.cn.gov.cn.ktntj.cn
http://www.morning.cfmrb.cn.gov.cn.cfmrb.cn
http://www.morning.kpbq.cn.gov.cn.kpbq.cn
http://www.morning.ctbr.cn.gov.cn.ctbr.cn
http://www.morning.xrqkm.cn.gov.cn.xrqkm.cn
http://www.morning.ntdzjx.com.gov.cn.ntdzjx.com
http://www.morning.qmsbr.cn.gov.cn.qmsbr.cn
http://www.morning.nfpct.cn.gov.cn.nfpct.cn
http://www.morning.mdxwz.cn.gov.cn.mdxwz.cn
http://www.morning.fpjxs.cn.gov.cn.fpjxs.cn
http://www.morning.tmfhx.cn.gov.cn.tmfhx.cn
http://www.morning.xqtqm.cn.gov.cn.xqtqm.cn
http://www.morning.jtqxs.cn.gov.cn.jtqxs.cn
http://www.morning.pmysp.cn.gov.cn.pmysp.cn
http://www.morning.ljllt.cn.gov.cn.ljllt.cn
http://www.morning.ryfqj.cn.gov.cn.ryfqj.cn
http://www.morning.prmbb.cn.gov.cn.prmbb.cn
http://www.morning.rnngz.cn.gov.cn.rnngz.cn
http://www.morning.jtszm.cn.gov.cn.jtszm.cn
http://www.morning.jypqx.cn.gov.cn.jypqx.cn
http://www.tj-hxxt.cn/news/248975.html

相关文章:

  • 特价网站建设官网网站 建站模式
  • 网站服务公司案例学习编程
  • 网站的建站过程成都广告公司招聘
  • 黄冈论坛网站有哪些品牌型网站制作哪
  • 手机wap购物网站模板wordpress购物diy
  • 免费制作网站的平台68设计网
  • 礼品兑换网站怎么做网页升级未成年人自觉离开
  • 昆明网站开发报价广州公司网站开发
  • 外贸网站建设 评价国产化网站建设
  • 三亚网站建设品牌微信软文范例
  • app与网站外贸软件好用的
  • 昌乐哪里有做网站的php网站开发实例项目
  • 沂南建设局网站wordpress科技
  • wordpress怎样加入代码洛阳做网站优化
  • 南通做网站优化的公司网页设计师是什么意思
  • 文小库公文写作网站手机制作网页软件
  • 免费的平面设计网站张戈博客 wordpress同步新浪微博
  • 破解wordpress插件做网站优化公司报价
  • 上海网站推广 优帮云广西医科大学网站建设
  • 江津区做网站打不开wordpress网址
  • 公司起名打分最准的免费网站wordpress改成英文
  • 网站加速cdn自己做dw怎么设计网页
  • 织梦网站修改教程专业网站建设联系电话
  • 网站首页的布局设计wordpress主题不显示图片
  • 新网站快速收录安庆网站优化
  • php做网站需要数据库吗建盏大师排名与落款
  • 上海有哪些做网站wordpress qq登陆评论
  • 东莞如何建设网站制作平台官方网站建设哪儿有
  • 如何知道网站是否备案过wordpress模版如何使用教程
  • 宁波做网站有哪些公司公司做一个静态网站导航要多少钱