tensorflow - Tensorflow:如何应用一维卷积特征/通道虎钳?
问题描述
我想处理形状为 [时间点,# 特征] 的多元时间序列
我的目标是将一维卷积(带有自己的过滤器)分别应用于每个特征流([时间点,1])。我不想使用 2D 卷积,因为它们会对所有特征流应用相同的过滤器。
我知道tf.keras.layers.DepthwiseConv2D和tf.keras.layers.SeparableConv2D存在,但我不确定这些是否适合解决问题以及如何解决。
是否可以在不拆分 #feature 许多输入中的输入并对其应用卷积的情况下执行此操作?
解决方案
您可以使用Conv1D
Tensorflow ( link ) 中定义的函数和groups
参数来为每个特征定义单独的过滤器。
一个例子:
import tensorflow as tf
BATCH_SIZE = 128
N_TIME_POINTS = 300
N_FEATURES = 25
N_FILTERS_PER_FEATURE = 4
x = tf.random.normal(input_shape = (BATCH_SIZE, N_FEATURES, N_TIME_POINTS))
y = tf.keras.layers.Conv1D(
filters=N_FILTERS_PER_FEATURE*N_FEATURES,
kernel_size=3, # How many temporal samples fit into each filter
activation='relu',
padding='causal',
groups=N_FEATURES, # Important! treat each feature as a separate input
input_shape=x.shape[1:])(x)
请注意选择类型的重要性padding
(有关更多信息,请参阅填充文档)。
推荐阅读
- python-3.x - Python - 类实例共享类字典变量?
- javascript - 如何从用户那里获取 setInterval 的时间间隔
- git - Git 中的内部/外部合并是什么意思?
- angular - 将带有 json 数据的数组转换为带有 field 和 value 属性的数组
- appium-ios - 无法读取未定义的属性“计数”
- xml - 使用选择何时为应用模板调用 XSLT 的参数设置条件
- spring-jms - 什么是安慰主题端点用例?
- c# - 更改 Twiml 响应消息
- angular - 从打字稿打开角度 mat-datepicker
- c# - 如何从网格视图的底部顶部更改位置添加列