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

h5 网站模板北京注册公司要多少钱才能注册

h5 网站模板,北京注册公司要多少钱才能注册,北京12345,赣州建设局网站确保伏羲0.12#xff08;文生图#xff09;注释和GUI显示均为中文#xff0c;项目文件夹名称为中文#xff0c;并提供使用说明。此外#xff0c;我将完善风格迁移的确定及训练函数和代码。以下是完整的Python文件和相关说明。 项目结构 文本生成多模态项目/ ├── conf…确保伏羲0.12文生图注释和GUI显示均为中文项目文件夹名称为中文并提供使用说明。此外我将完善风格迁移的确定及训练函数和代码。以下是完整的Python文件和相关说明。 项目结构 文本生成多模态项目/ ├── config.yaml ├── data/ │ ├── dataset.csv │ └── input.txt ├── models/ │ ├── model1.pth │ ├── model2.pth │ └── model3.pth ├── output/ │ ├── 图像/ │ ├── 视频/ │ └── 音频/ ├── main.py └── README.mdconfig.yaml device: cuda data:dataset_path: data/dataset.csvinput_file: data/input.txtoutput_dir: outputimage_output_dir: output/图像video_output_dir: output/视频audio_output_dir: output/音频 model:text_encoder_model_name: bert-base-uncasedaudio_generator_model_name: tacotron2path: models/model1.pthpath1: models/model1.pthpath2: models/model2.pthpath3: models/model3.pth training:learning_rate: 0.0002batch_size: 64epochs: 100log_dir: logsmain.py import os import yaml import torch import torch.optim as optim import torch.nn as nn import torchvision.transforms as transforms import pandas as pd from torch.utils.data import Dataset, DataLoader from transformers import AutoTokenizer, AutoModel import random import numpy as np import logging from tqdm import tqdm from tensorboardX import SummaryWriter import threading import tkinter as tk from tkinter import filedialog, messagebox from PIL import Image, ImageTk from cryptography.fernet import Fernet import unittest import matplotlib.pyplot as plt# 配置文件加载 def load_config(config_path):从配置文件中加载配置参数。:param config_path: 配置文件的路径:return: 配置参数字典try:with open(config_path, r, encodingutf-8) as file:config yaml.safe_load(file)return configexcept FileNotFoundError:logging.error(f配置文件 {config_path} 未找到)raiseexcept yaml.YAMLError as e:logging.error(f配置文件解析错误: {e})raise# 数据加载 def load_text_data(file_path):从文本文件中加载数据。:param file_path: 文本文件的路径:return: 文本数据列表try:with open(file_path, r, encodingutf-8) as file:text_data file.readlines()return [line.strip() for line in text_data]except FileNotFoundError:logging.error(f文本文件 {file_path} 未找到)raiseexcept IOError as e:logging.error(f读取文本文件时发生错误: {e})raise# 数据清洗 def clean_data(data):清洗数据去除空值和重复值。:param data: DataFrame 数据:return: 清洗后的 DataFrame 数据return data.dropna().drop_duplicates()# 文本预处理 def preprocess_text(text, tokenizer):对文本进行预处理转换为模型输入格式。:param text: 输入文本:param tokenizer: 分词器:return: 预处理后的文本张量return tokenizer(text, return_tensorspt, paddingTrue, truncationTrue)# 数据增强 def augment_data(image, mode, style_imageNone):对图像进行数据增强。:param image: 输入图像:param mode: 增强模式train 或 test:param style_image: 风格图像:return: 增强后的图像if mode train:transform transforms.Compose([transforms.RandomHorizontalFlip(),transforms.RandomRotation(10),transforms.RandomResizedCrop(64, scale(0.8, 1.0)),transforms.ColorJitter(brightness0.2, contrast0.2, saturation0.2, hue0.1),transforms.ToTensor(),transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])else:transform transforms.Compose([transforms.Resize((64, 64)),transforms.ToTensor(),transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])image transform(image)if style_image is not None:image style_transfer(image, style_image)image color_jitter(image)return image# 风格迁移 def style_transfer(image, style_image):风格迁移。:param image: 输入图像:param style_image: 风格图像:return: 迁移后的图像# 假设有一个预训练的风格迁移模型style_model StyleTransferModel()return style_model(image, style_image)# 颜色抖动 def color_jitter(image):颜色抖动。:param image: 输入图像:return: 颜色抖动后的图像return transforms.functional.adjust_brightness(transforms.functional.adjust_contrast(transforms.functional.adjust_saturation(image, 1.2), 1.2), 1.2)# 文本编码器 class TextEncoder(nn.Module):文本编码器使用预训练的BERT模型。def __init__(self, model_name):super(TextEncoder, self).__init__()self.tokenizer AutoTokenizer.from_pretrained(model_name)self.model AutoModel.from_pretrained(model_name)def forward(self, text):前向传播将文本编码为特征向量。:param text: 输入文本:return: 编码后的特征向量inputs self.tokenizer(text, return_tensorspt, paddingTrue, truncationTrue)outputs self.model(**inputs)return outputs.last_hidden_state.mean(dim1)# 图像生成器 class ImageGenerator(nn.Module):图像生成器使用卷积转置层生成图像。def __init__(self, in_channels):super(ImageGenerator, self).__init__()self.decoder nn.Sequential(nn.ConvTranspose2d(in_channels, 512, kernel_size4, stride1, padding0),nn.BatchNorm2d(512),nn.ReLU(True),nn.ConvTranspose2d(512, 256, kernel_size4, stride2, padding1),nn.BatchNorm2d(256),nn.ReLU(True),nn.ConvTranspose2d(256, 128, kernel_size4, stride2, padding1),nn.BatchNorm2d(128),nn.ReLU(True),nn.ConvTranspose2d(128, 64, kernel_size4, stride2, padding1),nn.BatchNorm2d(64),nn.ReLU(True),nn.ConvTranspose2d(64, 3, kernel_size4, stride2, padding1),nn.Tanh())def forward(self, x):前向传播生成图像。:param x: 输入特征向量:return: 生成的图像x x.view(-1, x.size(1), 1, 1)return self.decoder(x)# 视频生成器 class VideoGenerator(nn.Module):def __init__(self, in_channels):super(VideoGenerator, self).__init__()self.decoder nn.Sequential(nn.ConvTranspose3d(in_channels, 512, kernel_size(4, 4, 4), stride(1, 1, 1), padding(0, 0, 0)),nn.BatchNorm3d(512),nn.ReLU(True),nn.ConvTranspose3d(512, 256, kernel_size(4, 4, 4), stride(2, 2, 2), padding(1, 1, 1)),nn.BatchNorm3d(256),nn.ReLU(True),nn.ConvTranspose3d(256, 128, kernel_size(4, 4, 4), stride(2, 2, 2), padding(1, 1, 1)),nn.BatchNorm3d(128),nn.ReLU(True),nn.ConvTranspose3d(128, 64, kernel_size(4, 4, 4), stride(2, 2, 2), padding(1, 1, 1)),nn.BatchNorm3d(64),nn.ReLU(True),nn.ConvTranspose3d(64, 3, kernel_size(4, 4, 4), stride(2, 2, 2), padding(1, 1, 1)),nn.Tanh())def forward(self, x):x x.view(-1, x.size(1), 1, 1, 1)return self.decoder(x)# 音频生成器 class AudioGenerator(nn.Module):def __init__(self, model_name):super(AudioGenerator, self).__init__()self.model Tacotron2.from_pretrained(model_name)def forward(self, text):return self.model(text)# 判别器 class Discriminator(nn.Module):判别器用于判别生成的图像是真实的还是伪造的。def __init__(self):super(Discriminator, self).__init__()self.main nn.Sequential(nn.Conv2d(3, 64, kernel_size4, stride2, padding1),nn.LeakyReLU(0.2, inplaceTrue),nn.Conv2d(64, 128, kernel_size4, stride2, padding1),nn.BatchNorm2d(128),nn.LeakyReLU(0.2, inplaceTrue),nn.Conv2d(128, 256, kernel_size4, stride2, padding1),nn.BatchNorm2d(256),nn.LeakyReLU(0.2, inplaceTrue),nn.Conv2d(256, 512, kernel_size4, stride2, padding1),nn.BatchNorm2d(512),nn.LeakyReLU(0.2, inplaceTrue),nn.Conv2d(512, 1, kernel_size4, stride1, padding0),nn.Sigmoid())def forward(self, x):前向传播输出判别结果。:param x: 输入图像:return: 判别结果return self.main(x)# 模型定义 class TextToMultimodalModel(nn.Module):文本到多模态生成模型。def __init__(self, text_encoder_model_name, audio_generator_model_name):super(TextToMultimodalModel, self).__init__()self.text_encoder TextEncoder(text_encoder_model_name)self.image_generator ImageGenerator(768)self.video_generator VideoGenerator(768)self.audio_generator AudioGenerator(audio_generator_model_name)def forward(self, text):前向传播将文本转换为图像、视频和音频。:param text: 输入文本:return: 生成的图像、视频和音频text_features self.text_encoder(text)image self.image_generator(text_features)video self.video_generator(text_features)audio self.audio_generator(text)return image, video, audio# 模型加载 def load_model(model_path, text_encoder_model_name, audio_generator_model_name):加载预训练的模型。:param model_path: 模型文件的路径:param text_encoder_model_name: 文本编码器模型名称:param audio_generator_model_name: 音频生成器模型名称:return: 加载的模型model TextToMultimodalModel(text_encoder_model_name, audio_generator_model_name)if os.path.exists(model_path):model.load_state_dict(torch.load(model_path))else:logging.warning(f模型文件 {model_path} 未找到使用随机初始化的模型)model.eval()return model# 图像保存 def save_image(image, path, keyNone):保存生成的图像。:param image: 生成的图像:param path: 保存路径:param key: 加密密钥if not os.path.exists(os.path.dirname(path)):os.makedirs(os.path.dirname(path))if key:encrypted_image encrypt_data(image, key)with open(path, wb) as f:f.write(encrypted_image)else:image.save(path)# 视频保存 def save_video(video, path, keyNone):保存生成的视频。:param video: 生成的视频:param path: 保存路径:param key: 加密密钥if not os.path.exists(os.path.dirname(path)):os.makedirs(os.path.dirname(path))if key:encrypted_video encrypt_data(video, key)with open(path, wb) as f:f.write(encrypted_video)else:# 假设 video 是一个 numpy 数组import cv2fourcc cv2.VideoWriter_fourcc(*mp4v)out cv2.VideoWriter(path, fourcc, 20.0, (64, 64))for frame in video:frame (frame * 127.5 127.5).astype(uint8)out.write(frame)out.release()# 音频保存 def save_audio(audio, path, keyNone):保存生成的音频。:param audio: 生成的音频:param path: 保存路径:param key: 加密密钥if not os.path.exists(os.path.dirname(path)):os.makedirs(os.path.dirname(path))if key:encrypted_audio encrypt_data(audio, key)with open(path, wb) as f:f.write(encrypted_audio)else:# 假设 audio 是一个 numpy 数组from scipy.io.wavfile import writewrite(path, 22050, audio)# 数据集类 class TextToImageDataset(Dataset):文本到图像数据集类。def __init__(self, csv_file, transformNone, modetrain):self.data pd.read_csv(csv_file)self.data clean_data(self.data)self.transform transformself.mode modeself.tokenizer AutoTokenizer.from_pretrained(bert-base-uncased)def __len__(self):return len(self.data)def __getitem__(self, idx):text self.data.iloc[idx][text]image_path self.data.iloc[idx][image_path]image Image.open(image_path).convert(RGB)if self.transform:image self.transform(image, self.mode)text_inputs preprocess_text([text], self.tokenizer)return text_inputs, image# 模型训练 def train_model(config):训练文本到多模态生成模型。:param config: 配置参数transform transforms.Compose([transforms.Resize((64, 64)),transforms.ToTensor(),transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])dataset TextToImageDataset(config[data][dataset_path], transformaugment_data, modetrain)dataloader DataLoader(dataset, batch_sizeconfig[training][batch_size], shuffleTrue)device torch.device(config[device])model TextToMultimodalModel(config[model][text_encoder_model_name], config[model][audio_generator_model_name]).to(device)discriminator Discriminator().to(device)optimizer_g optim.Adam(model.parameters(), lrconfig[training][learning_rate])optimizer_d optim.Adam(discriminator.parameters(), lrconfig[training][learning_rate])criterion_gan nn.BCELoss()criterion_l1 nn.L1Loss()criterion_mse nn.MSELoss()scheduler_g optim.lr_scheduler.ReduceLROnPlateau(optimizer_g, min, patience5)scheduler_d optim.lr_scheduler.ReduceLROnPlateau(optimizer_d, min, patience5)writer SummaryWriter(log_dirconfig[training][log_dir])best_loss float(inf)patience 0max_patience 10scaler GradScaler()for epoch in range(config[training][epochs]):model.train()discriminator.train()running_loss_g 0.0running_loss_d 0.0pbar tqdm(dataloader, descfEpoch {epoch 1})for i, (text_inputs, images) in enumerate(pbar):images images.to(device)real_labels torch.ones(images.size(0), 1).to(device)fake_labels torch.zeros(images.size(0), 1).to(device)# 训练判别器optimizer_d.zero_grad()with autocast():real_outputs discriminator(images)d_loss_real criterion_gan(real_outputs, real_labels)generated_images, _, _ model(text_inputs[input_ids].to(device), text_inputs[attention_mask].to(device))fake_outputs discriminator(generated_images.detach())d_loss_fake criterion_gan(fake_outputs, fake_labels)d_loss (d_loss_real d_loss_fake) / 2scaler.scale(d_loss).backward()scaler.step(optimizer_d)scaler.update()# 训练生成器optimizer_g.zero_grad()with autocast():generated_images, generated_videos, generated_audios model(text_inputs[input_ids].to(device), text_inputs[attention_mask].to(device))g_outputs discriminator(generated_images)g_loss_gan criterion_gan(g_outputs, real_labels)g_loss_l1 criterion_l1(generated_images, images)g_loss_mse criterion_mse(generated_videos, videos) criterion_mse(generated_audios, audios)g_loss g_loss_gan 100 * g_loss_l1 100 * g_loss_msescaler.scale(g_loss).backward()scaler.step(optimizer_g)scaler.update()running_loss_g g_loss.item()running_loss_d d_loss.item()pbar.set_postfix({G Loss: g_loss.item(), D Loss: d_loss.item()})avg_loss_g running_loss_g / len(dataloader)avg_loss_d running_loss_d / len(dataloader)writer.add_scalar(Generator Loss, avg_loss_g, epoch)writer.add_scalar(Discriminator Loss, avg_loss_d, epoch)writer.add_scalar(Learning Rate (G), optimizer_g.param_groups[0][lr], epoch)writer.add_scalar(Learning Rate (D), optimizer_d.param_groups[0][lr], epoch)scheduler_g.step(avg_loss_g)scheduler_d.step(avg_loss_d)if avg_loss_g best_loss:best_loss avg_loss_gtorch.save(model.state_dict(), config[model][path])patience 0else:patience 1if patience max_patience:logging.info(f提前停止于第 {epoch 1} 轮)breaklogging.info(fEpoch {epoch 1}, Generator Loss: {avg_loss_g}, Discriminator Loss: {avg_loss_d})writer.close()# 图像生成 def generate_images_batch(model, text_data, output_dir, keyNone):生成图像。:param model: 模型:param text_data: 输入文本数据:param output_dir: 输出目录:param key: 加密密钥model.eval()with torch.no_grad():for text in text_data:input_tensor preprocess_text([text], model.text_encoder.tokenizer)input_tensor {k: v.to(device) for k, v in input_tensor.items()}image, video, audio model(input_tensor[input_ids], input_tensor[attention_mask])image image.squeeze(0).detach().cpu().numpy()image (image * 127.5 127.5).astype(uint8)image Image.fromarray(image.transpose(1, 2, 0))# 保存图像save_image(image, f{output_dir}/{text}.png, key)# 保存视频video video.squeeze(0).detach().cpu().numpy()video (video * 127.5 127.5).astype(uint8)save_video(video, f{output_dir}/{text}.mp4, key)# 保存音频audio audio.squeeze(0).detach().cpu().numpy()save_audio(audio, f{output_dir}/{text}.wav, key)# 图形用户界面 class TextToImageGUI:文本到多模态生成的图形用户界面。def __init__(self, root):self.root rootself.root.title(文本生成多模态)self.config load_config(config.yaml)self.device torch.device(self.config[device])self.models {模型1: load_model(self.config[model][path1], self.config[model][text_encoder_model_name1], self.config[model][audio_generator_model_name1]),模型2: load_model(self.config[model][path2], self.config[model][text_encoder_model_name2], self.config[model][audio_generator_model_name2]),模型3: load_model(self.config[model][path3], self.config[model][text_encoder_model_name3], self.config[model][audio_generator_model_name3])}self.selected_model tk.StringVar(value模型1)self.model_menu tk.OptionMenu(root, self.selected_model, *self.models.keys(), commandself.change_model)self.model_menu.pack(pady10)self.text_input tk.Text(root, height10, width50)self.text_input.pack(pady10)self.train_button tk.Button(root, text训练模型, commandself.train_model)self.train_button.pack(pady10)self.epochs_label tk.Label(root, text训练轮次:)self.epochs_label.pack(pady5)self.epochs_entry tk.Entry(root)self.epochs_entry.insert(0, str(self.config[training][epochs]))self.epochs_entry.pack(pady5)self.generate_button tk.Button(root, text生成多模态数据, commandself.generate_multimodal)self.generate_button.pack(pady10)self.image_label tk.Label(root)self.image_label.pack(pady10)self.progress_var tk.IntVar()self.progress_bar tk.ttk.Progressbar(root, variableself.progress_var, maximum100)self.progress_bar.pack(pady10)self.history []def change_model(self, model_name):self.model self.models[model_name]def train_model(self):开始训练模型。try:epochs int(self.epochs_entry.get())self.config[training][epochs] epochsthreading.Thread(targetself._train_model_thread).start()except ValueError:messagebox.showerror(错误, 请输入有效的训练轮次数)def _train_model_thread(self):训练模型的线程。try:train_model(self.config)self.model load_model(self.config[model][path], self.config[model][text_encoder_model_name], self.config[model][audio_generator_model_name])self.model.to(self.device)messagebox.showinfo(成功, 模型训练完成)except Exception as e:messagebox.showerror(错误, str(e))def generate_multimodal(self):生成多模态数据。text self.text_input.get(1.0, tk.END).strip()if not text:messagebox.showwarning(警告, 请输入文本)returnself.model.eval()with torch.no_grad():input_tensor preprocess_text([text], self.model.text_encoder.tokenizer)input_tensor {k: v.to(self.device) for k, v in input_tensor.items()}image, video, audio self.model(input_tensor[input_ids], input_tensor[attention_mask])image image.squeeze(0).detach().cpu().numpy()image (image * 127.5 127.5).astype(uint8)image Image.fromarray(image.transpose(1, 2, 0))# 显示图像img_tk ImageTk.PhotoImage(image)self.image_label.config(imageimg_tk)self.image_label.image img_tk# 保存图像save_image(image, f{self.config[data][image_output_dir]}/{text}.png)save_video(video, f{self.config[data][video_output_dir]}/{text}.mp4)save_audio(audio, f{self.config[data][audio_output_dir]}/{text}.wav)self.history.append((text, image, video, audio))messagebox.showinfo(成功, 多模态数据已生成并保存)# 输出项目目录及所有文件 def list_files(startpath):输出项目目录及所有文件。:param startpath: 项目根目录for root, dirs, files in os.walk(startpath):level root.replace(startpath, ).count(os.sep)indent * 4 * (level)print({}{}/.format(indent, os.path.basename(root)))subindent * 4 * (level 1)for f in files:print({}{}.format(subindent, f))# 数据加密 def encrypt_data(data, key):fernet Fernet(key)encrypted fernet.encrypt(data.encode())return encrypteddef decrypt_data(encrypted, key):fernet Fernet(key)decrypted fernet.decrypt(encrypted).decode()return decrypted# 模型解释性 def explain_image(model, text, device):model.eval()with torch.no_grad():input_tensor preprocess_text([text], model.text_encoder.tokenizer)input_tensor {k: v.to(device) for k, v in input_tensor.items()}image, video, audio model(input_tensor[input_ids], input_tensor[attention_mask])image image.squeeze(0).detach().cpu().numpy()image (image * 127.5 127.5).astype(uint8)image Image.fromarray(image.transpose(1, 2, 0))# 解释生成过程explanation 图像生成过程如下\nexplanation 1. 文本使用BERT进行编码。\nexplanation 2. 编码后的文本特征传递给图像生成器。\nexplanation 3. 生成的图像经过后处理确保格式正确。return image, explanationdef visualize_attention(model, text, device):model.eval()with torch.no_grad():input_tensor preprocess_text([text], model.text_encoder.tokenizer)input_tensor {k: v.to(device) for k, v in input_tensor.items()}attention model.text_encoder.model(**input_tensor).attentions[-1].squeeze(0).mean(dim1).cpu().numpy()tokens model.text_encoder.tokenizer.tokenize(text)fig, ax plt.subplots()cax ax.matshow(attention, cmapviridis)fig.colorbar(cax)ax.set_xticklabels([] tokens)ax.set_yticklabels([] tokens)plt.show()# 自动化测试 class TestTextToImageModel(unittest.TestCase):def setUp(self):self.config load_config(config.yaml)self.device torch.device(self.config[device])self.model load_model(self.config[model][path], self.config[model][text_encoder_model_name], self.config[model][audio_generator_model_name]).to(self.device)def test_generate_image(self):text 美丽的日落input_tensor preprocess_text([text], self.model.text_encoder.tokenizer)input_tensor {k: v.to(self.device) for k, v in input_tensor.items()}image, video, audio self.model(input_tensor[input_ids], input_tensor[attention_mask])self.assertIsNotNone(image)self.assertIsNotNone(video)self.assertIsNotNone(audio)def test_save_image(self):text 美丽的日落input_tensor preprocess_text([text], self.model.text_encoder.tokenizer)input_tensor {k: v.to(self.device) for k, v in input_tensor.items()}image, video, audio self.model(input_tensor[input_ids], input_tensor[attention_mask])save_image(image, test_output.png)save_video(video, test_output.mp4)save_audio(audio, test_output.wav)self.assertTrue(os.path.exists(test_output.png))self.assertTrue(os.path.exists(test_output.mp4))self.assertTrue(os.path.exists(test_output.wav))if __name__ __main__:logging.basicConfig(levellogging.INFO, format%(asctime)s - %(levelname)s - %(message)s)config load_config(config.yaml)# 输出项目目录及所有文件project_root os.path.dirname(os.path.abspath(__file__))print(项目目录及所有文件:)list_files(project_root)# 检查数据集路径if not os.path.exists(config[data][dataset_path]):raise FileNotFoundError(f数据集路径 {config[data][dataset_path]} 不存在)# 加载模型device torch.device(config[device])model load_model(config[model][path], config[model][text_encoder_model_name], config[model][audio_generator_model_name]).to(device)# 加载文本数据text_data load_text_data(config[data][input_file])# 生成多模态数据generate_images_batch(model, text_data, config[data][output_dir])# 启动图形用户界面root tk.Tk()app TextToImageGUI(root)root.mainloop()# 运行自动化测试if __name__ __main__:unittest.main()使用说明 项目结构 config.yaml配置文件包含模型路径、数据路径等配置信息。 data/数据文件夹包含数据集和输入文本文件。 models/模型文件夹包含预训练模型文件。 output/输出文件夹包含生成的图像、视频和音频文件。 main.py主程序文件包含模型训练、生成和图形用户界面等功能。 README.md使用说明文件。 配置文件 (config.yaml) 修改 device 为 ‘cuda’ 或 ‘cpu’根据你的设备选择。 修改 data 中的路径确保指向正确的数据集和输入文件。 修改 model 中的路径确保指向正确的模型文件。 修改 training 中的参数如学习率、批大小、训练轮次等。 运行项目 确保安装了所有依赖库如 torch, transformers, Pillow, tkinter, tensorboardX, cryptography 等。 运行 main.py 文件启动图形用户界面。 在文本输入框中输入文本点击“生成多模态数据”按钮生成图像、视频和音频。 可以选择不同的模型进行生成通过下拉菜单选择模型。 点击“训练模型”按钮开始训练模型。可以在“训练轮次”输入框中设置训练轮次。 自动化测试 运行 main.py 文件启动自动化测试确保模型的稳定性和可靠性。 希望这个完整的文件和使用说明能够帮助你更好地理解和使用这个项目如果有任何问题或需要进一步的帮助请随时告诉我。
文章转载自:
http://www.morning.bphqd.cn.gov.cn.bphqd.cn
http://www.morning.qnywy.cn.gov.cn.qnywy.cn
http://www.morning.gdpai.com.cn.gov.cn.gdpai.com.cn
http://www.morning.lxngn.cn.gov.cn.lxngn.cn
http://www.morning.kwnbd.cn.gov.cn.kwnbd.cn
http://www.morning.httzf.cn.gov.cn.httzf.cn
http://www.morning.gyxwh.cn.gov.cn.gyxwh.cn
http://www.morning.dtlnz.cn.gov.cn.dtlnz.cn
http://www.morning.nxfuke.com.gov.cn.nxfuke.com
http://www.morning.rrgm.cn.gov.cn.rrgm.cn
http://www.morning.wpjst.cn.gov.cn.wpjst.cn
http://www.morning.fnfxp.cn.gov.cn.fnfxp.cn
http://www.morning.skksz.cn.gov.cn.skksz.cn
http://www.morning.pxdgy.cn.gov.cn.pxdgy.cn
http://www.morning.qypjk.cn.gov.cn.qypjk.cn
http://www.morning.sxlrg.cn.gov.cn.sxlrg.cn
http://www.morning.nqmdc.cn.gov.cn.nqmdc.cn
http://www.morning.qrhh.cn.gov.cn.qrhh.cn
http://www.morning.aa1585.com.gov.cn.aa1585.com
http://www.morning.wrkcw.cn.gov.cn.wrkcw.cn
http://www.morning.jmlgk.cn.gov.cn.jmlgk.cn
http://www.morning.jypqx.cn.gov.cn.jypqx.cn
http://www.morning.cxsdl.cn.gov.cn.cxsdl.cn
http://www.morning.jtybl.cn.gov.cn.jtybl.cn
http://www.morning.iknty.cn.gov.cn.iknty.cn
http://www.morning.mzhh.cn.gov.cn.mzhh.cn
http://www.morning.qfths.cn.gov.cn.qfths.cn
http://www.morning.hmwjk.cn.gov.cn.hmwjk.cn
http://www.morning.nnjq.cn.gov.cn.nnjq.cn
http://www.morning.txzmy.cn.gov.cn.txzmy.cn
http://www.morning.jzdfc.cn.gov.cn.jzdfc.cn
http://www.morning.mmclj.cn.gov.cn.mmclj.cn
http://www.morning.xzlp.cn.gov.cn.xzlp.cn
http://www.morning.jkzjs.cn.gov.cn.jkzjs.cn
http://www.morning.mfnjk.cn.gov.cn.mfnjk.cn
http://www.morning.dhtdl.cn.gov.cn.dhtdl.cn
http://www.morning.frtt.cn.gov.cn.frtt.cn
http://www.morning.sgrwd.cn.gov.cn.sgrwd.cn
http://www.morning.nrchx.cn.gov.cn.nrchx.cn
http://www.morning.zxfr.cn.gov.cn.zxfr.cn
http://www.morning.cnyqj.cn.gov.cn.cnyqj.cn
http://www.morning.tbhlc.cn.gov.cn.tbhlc.cn
http://www.morning.yrhd.cn.gov.cn.yrhd.cn
http://www.morning.gkxyy.cn.gov.cn.gkxyy.cn
http://www.morning.sdamsm.com.gov.cn.sdamsm.com
http://www.morning.lsnnq.cn.gov.cn.lsnnq.cn
http://www.morning.yrnyz.cn.gov.cn.yrnyz.cn
http://www.morning.ckzjl.cn.gov.cn.ckzjl.cn
http://www.morning.jqrhz.cn.gov.cn.jqrhz.cn
http://www.morning.frcxx.cn.gov.cn.frcxx.cn
http://www.morning.kxrld.cn.gov.cn.kxrld.cn
http://www.morning.rcjqgy.com.gov.cn.rcjqgy.com
http://www.morning.sfwd.cn.gov.cn.sfwd.cn
http://www.morning.fyskq.cn.gov.cn.fyskq.cn
http://www.morning.xhddb.cn.gov.cn.xhddb.cn
http://www.morning.bojkosvit.com.gov.cn.bojkosvit.com
http://www.morning.kwksj.cn.gov.cn.kwksj.cn
http://www.morning.qdsmile.cn.gov.cn.qdsmile.cn
http://www.morning.zcsch.cn.gov.cn.zcsch.cn
http://www.morning.fnkcg.cn.gov.cn.fnkcg.cn
http://www.morning.yqjjn.cn.gov.cn.yqjjn.cn
http://www.morning.gqwbl.cn.gov.cn.gqwbl.cn
http://www.morning.mnjyf.cn.gov.cn.mnjyf.cn
http://www.morning.rlwgn.cn.gov.cn.rlwgn.cn
http://www.morning.wqjpl.cn.gov.cn.wqjpl.cn
http://www.morning.jmspy.cn.gov.cn.jmspy.cn
http://www.morning.gcjhh.cn.gov.cn.gcjhh.cn
http://www.morning.rnyhx.cn.gov.cn.rnyhx.cn
http://www.morning.fhykt.cn.gov.cn.fhykt.cn
http://www.morning.tjqcfw.cn.gov.cn.tjqcfw.cn
http://www.morning.qkrzn.cn.gov.cn.qkrzn.cn
http://www.morning.plcyq.cn.gov.cn.plcyq.cn
http://www.morning.kltmt.cn.gov.cn.kltmt.cn
http://www.morning.xsqbx.cn.gov.cn.xsqbx.cn
http://www.morning.jcxqc.cn.gov.cn.jcxqc.cn
http://www.morning.skrh.cn.gov.cn.skrh.cn
http://www.morning.lhzqn.cn.gov.cn.lhzqn.cn
http://www.morning.gchqy.cn.gov.cn.gchqy.cn
http://www.morning.bgpb.cn.gov.cn.bgpb.cn
http://www.morning.nnttr.cn.gov.cn.nnttr.cn
http://www.tj-hxxt.cn/news/280692.html

相关文章:

  • 建设网站简单的需要多少天网站公司广州
  • 罗湖网站建设价格seo优化收费
  • 做网站和易语言wordpress导航仿制
  • 可以免费网络推广网站wordpress自动采集手动写
  • 开淘宝店要自己做网站吗单纯python能完成网站开发吗
  • 视频网站的广告能怎么做电商网站运营方案
  • 建设网站如何盈利汕头市建设局造价信息网站
  • 云南省交通投资建设集团有限公司网站工具类网站开发
  • 企业网站建设教程视频江苏建设信息官网网站
  • 网站打不开 域名做解析用别人的公司名字做网站
  • 网站seo优化免费重庆企业网站制作
  • 高端网站建设 上海西安百度推广网站建设
  • 企业网站维护建设项目实践报告文创产品设计方案ppt
  • 绵阳市建设厅官方网站wordpress数据库编码选择
  • 北京网站建设公司招聘优秀产品vi设计手册
  • 网站建站如何给网站添加统计代码
  • 建设网站程序网站春节放假
  • 东莞网站建设 光龙wordpress媒体文档
  • 锦州市做网站上网用哪家公司的比较好
  • 网站程序如何制作网络推广公司哪个好
  • 网站导航栏特效asp动态链接生成网站地图
  • 行业内做网站的公司排名安卓开发自学教程
  • 外包做网站需要多少钱西安新闻头条最新消息
  • 有经验的盐城网站开发工作不好找怎么办
  • 旅游政务网站建设小程序制作公司开发
  • 如何查看网站服务器类型网站二维码怎么做的
  • discuz修改网站底部网站建设咋做
  • 支付宝支持12306网站建设网络服务器哪个最快
  • 寻找长沙网站建设创建个人网站怎么做
  • 罗岗网站建设哪家好响应网站建设