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

网页图片批量下载优化网站排名怎么制作

网页图片批量下载,优化网站排名怎么制作,网站建设价格情况,成都 地铁 建设 网站提供以下功能 TCN类Conv1d 和 ConvTranspose1d 层的实现,并带有因果/非因果切换功能流式推理(Streaming Inference)选项,可用于实时应用兼容 ONNX(Open Neural Network Exchange)格式,可在非Py…

 


提供以下功能

  • TCN类
  • Conv1dConvTranspose1d的实现,并带有因果/非因果切换功能
  • 流式推理(Streaming Inference)选项,可用于实时应用
  • 兼容 ONNX(Open Neural Network Exchange)格式,可在非Python环境(如C++)中使用已训练的TCN模型

1 TCN类

 

from pytorch_tcn import TCNmodel = TCN(num_inputs: int,num_channels: ArrayLike,kernel_size: int = 4,dilations: Optional[ ArrayLike ] = None,dilation_reset: Optional[ int ] = None,dropout: float = 0.1,causal: bool = True,use_norm: str = 'weight_norm',activation: str = 'relu',kernel_initializer: str = 'xavier_uniform',use_skip_connections: bool = False,input_shape: str = 'NCL',embedding_shapes: Optional[ ArrayLike ] = None,embedding_mode: str = 'add',use_gate: bool = False,lookahead: int = 0,output_projection: Optional[ int ] = None,output_activation: Optional[ str ] = None,
)

1.1 输入&输出形状

 (N, Cin, L)

  • N:批量大小
  • Cin:输入/出 通道数(特征维度)
  • L:序列长度

1.2 参数详解

num_inputs输入数据的特征维度
num_channels

一个list,指定每个残差块的通道数

(这个TCN多少层也是通过这个来确定的)

kernel_size卷积核大小
dilations膨胀率
  • 若为 None,则自动计算为 2^(0...n)(标准做法)。
  • 也可手动传入特定膨胀率列表,如 [1, 2, 4, 8]
dilation_reset膨胀率重置
  • 若不重置,膨胀率会指数级增长,导致内存溢出。
  • 如果设置了重置,那么超过之后会从最小的dilation开始再来一轮。
    • 例如,dilation_reset=16 使膨胀率超过16后重置,如 [1, 2, 4, 8, 16, 1, 2, 4, ...]
dropout
causal

是否使用因果卷积

  • True:忽略未来信息,适用于实时预测
  • False:考虑未来信息,可用于非实时预测
use_norm

归一化方式

  • 可选:weight_norm(默认)/batch_norm/layer_norm/None
  • weight_norm 在原论文中使用,其他方式需根据具体任务测试。
activation激活函数:默认 relu
kernel_initializer

权重初始化

  • 可选:uniform / normal / kaiming_uniform / kaiming_normal / xavier_uniform / xavier_normal
  • 默认 xavier_uniform,相比 normal 初始化更稳定。
use_skip_connections

跳跃连接

  • True:每个残差块的输出都会传递到最终输出(类似 WaveNet)。
  • False(默认):不使用跳跃连接(原始 TCN 结构)
input_shape输入形状格式)
  • NCL(默认):批量大小、通道数、序列长度(PyTorch 格式)。
  • NLC:批量大小、序列长度、通道数(时序数据常见格式)。
output_projection输出投影:
  • 若非 None,则通过 1x1 卷积将输出投影到指定维度。
  • 适用于输入和输出维度不同的情况
output_activation输出激活函数:
  • 可选 softmax 等,用于分类任务。
  • None(默认):不使用激活函数。

2因果卷积

pytorch-TCN 提供了一个 因果卷积层,它继承自 PyTorch 的 Conv1d,可以直接替换标准的 Conv1d

2.1 参数说明

2.1.1 TemporalConv1d(因果卷积层)

in_channels输入通道数
out_channels输出通道数
kernel_size卷积核大小
stride步长,默认 1
padding默认 0,自动计算,若手动设置可能会报错
dilation膨胀率,默认 1
groups组卷积数,默认 1
bias是否使用偏置,默认 True
padding_mode填充模式,默认 zeros
device运行设备,默认 None(自动选择)
dtype数据类型,默认 None
causal是否使用因果卷积,默认 True

 2.1.2 TemporalConvTranspose1d(转置卷积层)

in_channels输入通道数
out_channels输出通道数
kernel_size卷积核大小
stride步长,默认 1
padding默认 0,自动计算,若手动设置可能会报错
dilation膨胀率,默认 1
groups组卷积数,默认 1
bias是否使用偏置,默认 True
padding_mode填充模式,默认 zeros
device运行设备,默认 None(自动选择)
dtype数据类型,默认 None
causal是否使用因果卷积,默认 True

2.2 基本使用举例 

from pytorch_tcn import TemporalConv1d, TemporalConvTranspose1d
import torch# 因果卷积层
conv = TemporalConv1d(in_channels=32,     # 输入通道数out_channels=32,    # 输出通道数kernel_size=3,      # 卷积核大小causal=True         # 是否使用因果卷积
)# 反卷积层(转置卷积)
conv_t = TemporalConvTranspose1d(in_channels=32,out_channels=32,kernel_size=4,stride=2
)# 前向传播
x = torch.randn(10, 32, 100)  # (batch_size=10, in_channels=32, seq_len=100)y = conv(x, inference=False, in_buffer=None)    
# 进行卷积运算
y_t = conv_t(x, inference=False, in_buffer=None)  
# 进行转置卷积y.shape,y_t.shape
#(torch.Size([10, 32, 100]), torch.Size([10, 32, 200]))

3 流式推理

  • 模型能够逐块(blockwise)处理数据,而无需加载完整的序列。
  • 这一功能对于实时应用至关重要。

3.1  流式推理的挑战

  • 在 TCN 结构中,若 kernel_size > 1,为了保证输出的时间步与输入相同,TCN 始终会使用零填充(zero padding)
  • 然而,在块状处理(blockwise processing)时,零填充可能会导致感受野断裂,从而影响模型的推理效果
    • 假设输入序列为[ X1, X2, X3, X4 ]
    • 使用 kernel_size=3dilation=1 的因果网络时,第一层的填充长度为 2
    • 期望的输入格式:[ 0, 0, X1, X2, X3, X4 ]
    • 但若按块状输入 [X1, X2][X3, X4],则会导致:[ 0, 0, X1, X2 ] + [ 0, 0, X3, X4 ]
    • ——>不同块的填充断裂,使得推理结果与整体序列处理时不同,影响模型的表现。
  • ——>TCN 采用内部缓冲区(buffer),用于存储网络的输入历史,并在下一次推理时将其作为填充
    • 因此,无论数据是否是整块输入还是逐块输入,最终输出都是一致的。
    • 注意:流式推理时,批量大小 batch_size 必须为 1

3.2 如何使用流式推理

from pytorch_tcn import TCN# 初始化 TCN 模型
tcn = TCN(num_inputs=10,      # 输入特征数num_channels=[32, 64, 128],causal=True,         # 流式推理只适用于因果网络
)# 处理新序列前 **必须** 重置缓冲区
tcn.reset_buffers()
#作用是,清空存储的历史输入,确保每次推理不会受到上一次序列的影响。# 流式推理的输入数据按块分割
for block in blocks:  # 每个 block 形状:(1, num_inputs, block_size)out = tcn(block, inference=True)  # 启用流式推理,使 TCN 在推理时利用缓冲区填充,确保逐块处理时的输出与完整序列处理时一致。


文章转载自:

http://VJVTlVpY.xbxks.cn
http://GbsI4OlS.xbxks.cn
http://gO89XZca.xbxks.cn
http://LXOPH8DH.xbxks.cn
http://ohMI12qr.xbxks.cn
http://Dv2KmYoi.xbxks.cn
http://djs7Vi7T.xbxks.cn
http://Q6x9spSP.xbxks.cn
http://mgHJhzie.xbxks.cn
http://dJElxpRx.xbxks.cn
http://X3N4VNva.xbxks.cn
http://hQhQRhj6.xbxks.cn
http://qGrNlMVP.xbxks.cn
http://UCKVZnE0.xbxks.cn
http://ZTcGf4aU.xbxks.cn
http://szurricC.xbxks.cn
http://7rEKpdiZ.xbxks.cn
http://xiUf59z1.xbxks.cn
http://WJqmASbO.xbxks.cn
http://Uoi88Zw8.xbxks.cn
http://Byvmt4Of.xbxks.cn
http://IcUXgzn7.xbxks.cn
http://8i0Tko2Z.xbxks.cn
http://dzG6j99L.xbxks.cn
http://Q0lVGa5d.xbxks.cn
http://ozUIE2x9.xbxks.cn
http://f4lUlsyD.xbxks.cn
http://BFWTGY0Y.xbxks.cn
http://o88DKbi5.xbxks.cn
http://bsuUf63H.xbxks.cn
http://www.dtcms.com/wzjs/685621.html

相关文章:

  • 有关图书网站建设策划书做网站v1认证是什么意思
  • 手机上网自动跳转网站建设摩托车价格大全
  • 网站建设与推广销售户话术网站设计模版免费下载
  • 外包公司做的网站wordpress文章修改失败
  • 网站收录查询代码哪里有建设网站中的视频下载
  • 优质校建设专题网站网站建设初稿
  • 大型的平台类网站建设需要多少资金上海公司排名前十
  • 做网站平台多少钱阳江网络问政平台下载
  • 网站建设毕业设计模板百度域名值多少钱
  • python flask做网站西充企业网站建设
  • 校友会网站建设医院网站建设
  • 绵阳网站托管wordpress 无法播放音乐
  • 电商网站建设概念龙岩app定制开发
  • 网站视频主持人制作电子商务网站建设过程
  • 搜索引擎排名网站网站报价怎么做
  • 成都装修网站制作多少钱wordpress页面改风格
  • 网站可访问性企业网站 价格
  • 软件ui设计怎么做网站中企动力天津科技有限公司
  • 企业网站使用不规范地图如何处罚上往建站
  • 做优化网站制作单页网站要网址
  • 响应式网站建设好么如何做网站诊断
  • 网站建设系wordpress的登录页
  • 北京专业企业营销网站建设wordpress后台添加自定义输入框
  • 网站开发容易找工作吗建设银行官网首页登录入口
  • 网站建设哪家好公司外包公司名称
  • 海曙网站建设哪家好网页上的视频怎么保存到本地
  • 用wordpress搭建目录网站建筑网片自动清洗机
  • 网站维护建设费应计入科目广州创建网站
  • 网站班级文化建设南京 微网站 建站
  • 有关网站建设国内外现状的文献网站建设前期调研公司汇报