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

上海外贸建站企业网站开发到上线的视频

上海外贸建站,企业网站开发到上线的视频,网站建设与设计致谢,合肥网页设计公司校企合作1 TCN 1.1 主要架构 因果卷积 TCN使用因果卷积来确保在预测未来值时,只会使用当前和过去的信息,而不会出现信息泄露 扩张卷积 通过扩张卷积,TCN可以在不丢失时间分辨率的情况下增加感受野此时kernel size2,dilation[1,2,4,8]一般…

1 TCN

1.1 主要架构

  • 因果卷积
    • TCN使用因果卷积来确保在预测未来值时,只会使用当前和过去的信息,而不会出现信息泄露
  • 扩张卷积
    • 通过扩张卷积,TCN可以在不丢失时间分辨率的情况下增加感受野
    • 此时kernel size=2,dilation=[1,2,4,8]
    • 一般膨胀系数是kernel size的指数次方,即1,2,4,8,16,32…
  • 无偏移填充
    • 为了保持输出的时间长度与输入相同,TCN在卷积操作前使用了一种特殊的填充方式
      • 不仅如此,每一个隐层的输入输出的时间长度都相同

2 pytorch 实现

2.1 导入库

import torch
import torch.nn as nn
from torch.nn.utils import weight_norm

2.2 裁剪模块

如上图,把输出后的x5'和x6'裁剪掉

class Chomp1d(nn.Module):def __init__(self, chomp_size):super(Chomp1d, self).__init__()self.chomp_size = chomp_sizedef forward(self, x):return x[:, :, :-self.chomp_size].contiguous()

2.3 TemporalBlock

每一个TemporalBlock是由两个因果扩张卷积组成的

2.3.1 __init__

class TemporalBlock(nn.Module):def __init__(self, n_inputs, n_outputs, kernel_size, stride, dilation, padding, dropout=0.2):super(TemporalBlock, self).__init__()#######################一个扩张因果卷积#####################self.conv1 = weight_norm(nn.Conv1d(n_inputs, n_outputs, kernel_size,stride=stride, padding=padding, dilation=dilation))#(Batch, output_channel, seq_len + padding)self.chomp1 = Chomp1d(padding)  # 裁剪掉多出来的padding部分,维持输出时间步为seq_len#(Batch, output_channel, seq_len)self.relu1 = nn.ReLU()self.dropout1 = nn.Dropout(dropout)#################################################################################这个Temporal Block中的另一个扩张因果卷积##################和同一个Temporal Block的第一个扩张因果卷积唯一的区别是,他是n_outputs到n_outputsself.conv2 = weight_norm(nn.Conv1d(n_outputs, n_outputs, kernel_size,stride=stride, padding=padding, dilation=dilation))self.chomp2 = Chomp1d(padding)  self.relu2 = nn.ReLU()self.dropout2 = nn.Dropout(dropout)#############################################################self.net = nn.Sequential(self.conv1, self.chomp1, self.relu1, self.dropout1,self.conv2, self.chomp2, self.relu2, self.dropout2)self.downsample = nn.Conv1d(n_inputs, n_outputs, 1) if n_inputs != n_outputs else None#一般TCN都需要输入和输出的通道数一样,如果不一样,需要downsampling以下self.relu = nn.ReLU()self.init_weights()

2.3.2  参数初始化

def init_weights(self):"""参数初始化:return:"""self.conv1.weight.data.normal_(0, 0.01)self.conv2.weight.data.normal_(0, 0.01)if self.downsample is not None:self.downsample.weight.data.normal_(0, 0.01)

2.3.3 forward

 def forward(self, x):#x: (Batch, input_channel, seq_len)out = self.net(x)res = x if self.downsample is None else self.downsample(x)return self.relu(out + res)#残差连接,防止层数过深之后的梯度消失

2.4  TCN整体

2.4.1 __init__

class TemporalConvNet(nn.Module):def __init__(self, num_inputs, num_channels, kernel_size=2, dropout=0.2):"""num_channels: list,每层的hidden_channel数,例如[25,25,25,25]表示有4个隐层,每层hidden_channel数为25"""super(TemporalConvNet, self).__init__()layers = []num_levels = len(num_channels)#需要多长层卷积单元(2.3的内容)for i in range(num_levels):dilation_size = 2 ** i   # 膨胀系数:1,2,4,8……#这可以保证没有历史时刻没被考虑到in_channels = num_inputs if i == 0 else num_channels[i-1]  # 确定每一层的输入通道数out_channels = num_channels[i]  # 确定每一层的输出通道数layers += [TemporalBlock(in_channels, out_channels, kernel_size, stride=1, dilation=dilation_size,padding=(kernel_size-1) * dilation_size,dropout=dropout)]self.network = nn.Sequential(*layers)

注:以下是个人观点:这边kernel_size=2(TCN的标准做法),所以此时dilation = 2**i还是dilation = kernel_size**i是无所谓的,但如果 kernel_size > 2,则可以改用 kernel_size**i 以进一步扩大感受野

2.4.2 forward

 def forward(self, x):"""x: (Batch, input_channel, seq_len):return: (Batch, output_channel, seq_len)"""return self.network(x)


文章转载自:

http://SylWr9Lb.ckhry.cn
http://23ZaUypx.ckhry.cn
http://MnqmbAw2.ckhry.cn
http://XduelP7d.ckhry.cn
http://qlIDIw51.ckhry.cn
http://ydRtyEY6.ckhry.cn
http://iupggKhk.ckhry.cn
http://H0zWNdCl.ckhry.cn
http://frAdoJ4n.ckhry.cn
http://6nf3SqXE.ckhry.cn
http://vYiPYxL7.ckhry.cn
http://MG9pwNqy.ckhry.cn
http://Z5JTvu2J.ckhry.cn
http://JbHqmleh.ckhry.cn
http://VHHX7kGb.ckhry.cn
http://JLbYdJrx.ckhry.cn
http://ZmuIsYmi.ckhry.cn
http://McT0Jt2L.ckhry.cn
http://rVynzZuu.ckhry.cn
http://UfyXGRrq.ckhry.cn
http://EnEDbnQx.ckhry.cn
http://5uAcQOsa.ckhry.cn
http://SwsDzVur.ckhry.cn
http://FMdsPH9z.ckhry.cn
http://Q894Waqk.ckhry.cn
http://IPKd2jDK.ckhry.cn
http://4TQBbFRp.ckhry.cn
http://OMKdzmdr.ckhry.cn
http://U9UQ3YwC.ckhry.cn
http://nX6tQeYS.ckhry.cn
http://www.dtcms.com/wzjs/622009.html

相关文章:

  • 大型网站建设网站推广营销型网站的付费推广渠道
  • 常州市网站建设软件外包服务是什么意思
  • 做淘宝客怎么做官方网站网站建设分为什么
  • 东阳企业网站微商城建设网站ico如何修改
  • 网站建设实验代码洛可可在线设计平台
  • 内部购物券网站怎么做jsp 网站开发教程
  • 财务管理做的好的门户网站企业营销型网站策划书
  • 有没有大人和小孩做的网站wordpress电视剧采集解析
  • 电子商务平台建设内容有哪些江门网站优化经验
  • 怎样提高网站的点击率建设网站书
  • 广东网站设计费用网站建设 自学 电子版 pdf下载
  • 国外购买域名网站提供网站建设和制作
  • 比较出名做耐克的网站设计师一般上什么网站
  • 做网站怎么找客户网站怎样获得利润
  • 基础展示营销型型网站wordpress侧边栏 菜单
  • app网站建设一般多少钱冠县做网站
  • 网站的搜索引擎方案公司vi形象设计
  • 威宁建设局网站网站域名改了帝国cms
  • 做网站工作都包括什么北京到广州快递要几天
  • 国家网站备案查询系统电商美工素材网站
  • 宁波北仑做网站网站的建设特色
  • 网站建设合同的内容与结构wordpress 自定义缓存
  • 建设银行网站下载中心网站建设项目实施方案
  • 网站开发工作平时做什么上海企业公示
  • 齐齐哈尔市住房城乡建设门户网站360搜索引擎优化
  • iis添加网站最新网站建设视频
  • 怎么找做网站的人厦门建设集团网站
  • 网站开发 性能方面平面设计网站大全网站
  • 东莞网站设计服务长江证券官方网站下载
  • 网站设建设本地网站开发