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

本地电脑做视频网站 外网连接不上聚企360做的网站

本地电脑做视频网站 外网连接不上,聚企360做的网站,摄影网站怎么做数据库,无锡短视频推广RNN#xff0c;即循环神经网络#xff08;Recurrent Neural Network#xff09;#xff0c;是一种深度学习模型#xff0c;特别适用于处理序列数据。以下是对RNN的简要介绍#xff1a; RNN的特点#xff1a; 记忆性#xff1a;与传统的前馈神经网络不同#xff0c;R…RNN即循环神经网络Recurrent Neural Network是一种深度学习模型特别适用于处理序列数据。以下是对RNN的简要介绍 RNN的特点 记忆性与传统的前馈神经网络不同RNN具有内部状态记忆可以捕获到目前为止观察到的序列信息。参数共享在处理序列的不同时间步时RNN使用相同的权重这意味着模型的参数数量不会随着输入序列长度的增加而增加。灵活性RNN能够处理任意长度的输入序列。 RNN的结构 输入层接收序列中的单个元素。隐藏层包含循环单元这些单元具有记忆功能能够存储之前的信息。输出层根据当前输入和隐藏层的状态输出结果。 RNN的类型 简单RNN基础模型但容易受到梯度消失和梯度爆炸问题的影响。LSTM长短期记忆网络通过引入门控机制解决了简单RNN的长期依赖问题。GRU门控循环单元LSTM的变体结构更简单但性能相似。 应用场景 自然语言处理如语言模型、机器翻译、文本生成等。语音识别将语音信号转换为文本。时间序列预测如股票价格预测、天气预报等。 数据下载模块 import os import shutil import requests import tempfile from tqdm import tqdm from typing import IO from pathlib import Path# 指定保存路径为 home_path/.mindspore_examples cache_dir Path.home() / .mindspore_examplesdef http_get(url: str, temp_file: IO):使用requests库下载数据并使用tqdm库进行流程可视化req requests.get(url, streamTrue)content_length req.headers.get(Content-Length)total int(content_length) if content_length is not None else Noneprogress tqdm(unitB, totaltotal)for chunk in req.iter_content(chunk_size1024):if chunk:progress.update(len(chunk))temp_file.write(chunk)progress.close()def download(file_name: str, url: str):下载数据并存为指定名称if not os.path.exists(cache_dir):os.makedirs(cache_dir)cache_path os.path.join(cache_dir, file_name)cache_exist os.path.exists(cache_path)if not cache_exist:with tempfile.NamedTemporaryFile() as temp_file:http_get(url, temp_file)temp_file.flush()temp_file.seek(0)with open(cache_path, wb) as cache_file:shutil.copyfileobj(temp_file, cache_file)return cache_pathimdb_path download(aclImdb_v1.tar.gz, https://mindspore-website.obs.myhuaweicloud.com/notebook/datasets/aclImdb_v1.tar.gz) imdb_path 加载IMDB数据集 import re import six import string import tarfileclass IMDBData():IMDB数据集加载器加载IMDB数据集并处理为一个Python迭代对象。label_map {pos: 1,neg: 0}def __init__(self, path, modetrain):self.mode modeself.path pathself.docs, self.labels [], []self._load(pos)self._load(neg)def _load(self, label):pattern re.compile(raclImdb/{}/{}/.*\.txt$.format(self.mode, label))# 将数据加载至内存with tarfile.open(self.path) as tarf:tf tarf.next()while tf is not None:if bool(pattern.match(tf.name)):# 对文本进行分词、去除标点和特殊字符、小写处理self.docs.append(str(tarf.extractfile(tf).read().rstrip(six.b(\n\r)).translate(None, six.b(string.punctuation)).lower()).split())self.labels.append([self.label_map[label]])tf tarf.next()def __getitem__(self, idx):return self.docs[idx], self.labels[idx]def __len__(self):return len(self.docs) imdb_train IMDBData(imdb_path, train) len(imdb_train) import mindspore.dataset as dsdef load_imdb(imdb_path):imdb_train ds.GeneratorDataset(IMDBData(imdb_path, train), column_names[text, label], shuffleTrue, num_samples10000)imdb_test ds.GeneratorDataset(IMDBData(imdb_path, test), column_names[text, label], shuffleFalse)return imdb_train, imdb_test imdb_train, imdb_test load_imdb(imdb_path) imdb_train 加载预训练词向量 预训练词向量是对输入单词的数值化表示通过nn.Embedding层采用查表的方式输入单词对应词表中的index获得对应的表达向量。 因此进行模型构造前需要将Embedding层所需的词向量和词表进行构造。 import zipfile import numpy as npdef load_glove(glove_path):glove_100d_path os.path.join(cache_dir, glove.6B.100d.txt)if not os.path.exists(glove_100d_path):glove_zip zipfile.ZipFile(glove_path)glove_zip.extractall(cache_dir)embeddings []tokens []with open(glove_100d_path, encodingutf-8) as gf:for glove in gf:word, embedding glove.split(maxsplit1)tokens.append(word)embeddings.append(np.fromstring(embedding, dtypenp.float32, sep ))# 添加 unk, pad 两个特殊占位符对应的embeddingembeddings.append(np.random.rand(100))embeddings.append(np.zeros((100,), np.float32))vocab ds.text.Vocab.from_list(tokens, special_tokens[unk, pad], special_firstFalse)embeddings np.array(embeddings).astype(np.float32)return vocab, embeddings glove_path download(glove.6B.zip, https://mindspore-website.obs.myhuaweicloud.com/notebook/datasets/glove.6B.zip) vocab, embeddings load_glove(glove_path) len(vocab.vocab()) idx vocab.tokens_to_ids(the) embedding embeddings[idx] idx, embedding 数据集预处理 通过加载器加载的IMDB数据集进行了分词处理但不满足构造训练数据的需要因此要对其进行额外的预处理。其中包含的预处理如下 通过Vocab将所有的Token处理为index id。将文本序列统一长度不足的使用pad补齐超出的进行截断。 import mindspore as mslookup_op ds.text.Lookup(vocab, unknown_tokenunk) pad_op ds.transforms.PadEnd([500], pad_valuevocab.tokens_to_ids(pad)) type_cast_op ds.transforms.TypeCast(ms.float32) imdb_train imdb_train.map(operations[lookup_op, pad_op], input_columns[text]) imdb_train imdb_train.map(operations[type_cast_op], input_columns[label])imdb_test imdb_test.map(operations[lookup_op, pad_op], input_columns[text]) imdb_test imdb_test.map(operations[type_cast_op], input_columns[label]) imdb_train, imdb_valid imdb_train.split([0.7, 0.3]) imdb_train imdb_train.batch(64, drop_remainderTrue) imdb_valid imdb_valid.batch(64, drop_remainderTrue) Embedding Embedding层又可称为EmbeddingLookup层其作用是使用index id对权重矩阵对应id的向量进行查找当输入为一个由index id组成的序列时则查找并返回一个相同长度的矩阵 RNN(循环神经网络) 循环神经网络Recurrent Neural Network, RNN是一类以序列sequence数据为输入在序列的演进方向进行递归recursion且所有节点循环单元按链式连接的神经网络。 Dense 在经过LSTM编码获取句子特征后将其送入一个全连接层即nn.Dense将特征维度变换为二分类所需的维度1经过Dense层后的输出即为模型预测结果。 import math import mindspore as ms import mindspore.nn as nn import mindspore.ops as ops from mindspore.common.initializer import Uniform, HeUniformclass RNN(nn.Cell):def __init__(self, embeddings, hidden_dim, output_dim, n_layers,bidirectional, pad_idx):super().__init__()vocab_size, embedding_dim embeddings.shapeself.embedding nn.Embedding(vocab_size, embedding_dim, embedding_tablems.Tensor(embeddings), padding_idxpad_idx)self.rnn nn.LSTM(embedding_dim,hidden_dim,num_layersn_layers,bidirectionalbidirectional,batch_firstTrue)weight_init HeUniform(math.sqrt(5))bias_init Uniform(1 / math.sqrt(hidden_dim * 2))self.fc nn.Dense(hidden_dim * 2, output_dim, weight_initweight_init, bias_initbias_init)def construct(self, inputs):embedded self.embedding(inputs)_, (hidden, _) self.rnn(embedded)hidden ops.concat((hidden[-2, :, :], hidden[-1, :, :]), axis1)output self.fc(hidden)return output hidden_size 256 output_size 1 num_layers 2 bidirectional True lr 0.001 pad_idx vocab.tokens_to_ids(pad)model RNN(embeddings, hidden_size, output_size, num_layers, bidirectional, pad_idx) loss_fn nn.BCEWithLogitsLoss(reductionmean) optimizer nn.Adam(model.trainable_params(), learning_ratelr) def forward_fn(data, label):logits model(data)loss loss_fn(logits, label)return lossgrad_fn ms.value_and_grad(forward_fn, None, optimizer.parameters)def train_step(data, label):loss, grads grad_fn(data, label)optimizer(grads)return lossdef train_one_epoch(model, train_dataset, epoch0):model.set_train()total train_dataset.get_dataset_size()loss_total 0step_total 0with tqdm(totaltotal) as t:t.set_description(Epoch %i % epoch)for i in train_dataset.create_tuple_iterator():loss train_step(*i)loss_total loss.asnumpy()step_total 1t.set_postfix(lossloss_total/step_total)t.update(1)
http://www.tj-hxxt.cn/news/225360.html

相关文章:

  • 企业网站主要有哪四种类型服装网站建设的目的
  • 建站模板系统企业网站可以个人备案
  • 网站的打开速度有域名怎么发布网站吗
  • 石油大学 网页设计与网站建设诸暨市建设局网站
  • 外链网站推荐几个直播策划方案范文
  • 各行各业网站建设新泰高品质网站建设
  • 做网站软件ps旅游前 做攻略有什么网站好用
  • 私人建设网站好业宝微商城
  • 合肥网站搭建公司哪家好pc端软件下载
  • 南宁企业建站程序低代码开发平台 开源
  • 企业局域网做网站屏蔽用illustrator做网站
  • 网站建设建议药类网站整站模板下载
  • 如何建立自己音乐网站潍坊网站建设咨询
  • 开发一个个人网站高清视频网络服务器免费
  • jsp网站建立微信公众号运营大学
  • 医院网站模板下载北京广告公司地址
  • 网站风险怎么解决方案两当网站建设
  • 牡丹江建设网站呼和浩特市城乡建设保障局网站
  • 免费做网站手机模板网站建设+百度
  • 做电影网站视频放在那里做网站用那种数据库
  • 杭州 做网站沈阳男科医院去哪里
  • 网页源码怎么做网站庆阳网红宝军
  • 互联网推广销售好做吗官网关键词优化价格
  • 网站建设合同中英文网站建设 网站优化
  • 做简历最好的网站网站建设黄页软件
  • 设计个企业网站网页咋弄唐河企业网站制作哪家好
  • dw做的网站要多大网络开发工程师是做什么的
  • 重庆做网站哪个好些嘛前端需要学什么语言
  • 共享门店新增跑腿距离计算优化关于seo网站优化公司
  • 云主机网站济南市商务局官方网站