Python Tensorflow – tf.keras.layer.Conv1DTranspose()函数

Python Tensorflow – tf.keras.layer.Conv1DTranspose()函数

tf.keras.layer.Conv1DTranspose()函数用于在数据上应用转置的一维卷积操作,也被称为去卷积。

语法:

tf.keras.layers.Conv1DTranspose( filters, kernel_size, strides=1, padding=’valid’, output_padding=None, data_format=None, dilation_rate=1, activation=None, use_bias=True, kernel_initializer=’glorot_uniform’, bias_initializer=’zeros’, kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None, **kwargs)

输入形状:一个三维张量的形状:(batch_size,步骤,通道)。

输出形状:一个形状的三维张量:(batch_size, new_steps, filters)。

参数:

  • filters(整数):输出空间的维度(即卷积中输出滤波器的数量)。
  • kernel_size(整数):一维卷积窗口的整数长度。
  • strides:沿着时间维度的卷积的步幅。
  • padding(填充)。:填充模式。
  • output_padding:
  • data_format:数据格式。这指定了输入中各尺寸的顺序。 channels_last是默认值。
  • dilation_rate:在每个维度上,用于扩张卷积的扩张率。它应该是一个整数。
  • activation:该层的激活函数。
  • use_bias(布尔值):如果该层有一个偏置向量,或没有。True是默认值。
  • kernel_initializer:卷积核权重矩阵的初始化器。
  • bias_initializer:偏压向量的初始化器。
  • kernel_regularizer:应用于内核权重矩阵的正则函数。
  • bias_regularizer:应用于偏置向量的正则函数。
  • activity_regularizer:应用于激活的正则函数。
  • kernel_constraint:卷积核权重的约束条件。
  • bias_constraint:偏差向量的约束。

返回:一个三维张量,代表激活(conv1dtranspose(inputs, kernel) + bias)。

示例 1:

import tensorflow as tf
  
tensor_shape=(4, 28, 1)
input_shape=tensor_shape[1:]
X=tf.random.normal(tensor_shape)
  
def model(input_shape):
    X_input=tf.keras.layers.Input(shape=input_shape)
    X_output=tf.keras.layers.Conv1DTranspose(filters=8, 
                                             kernel_size=4,
                                             strides=2)(X_input)
    model=tf.keras.models.Model(inputs=X_input, 
                                outputs=X_output)
    return model
    
model=model(input_shape)
  
Y=model.predict(X, steps=2)
print(Y.shape)

输出:

(4, 58, 8)

示例 2:

import tensorflow as tf
  
tensor_shape = (4, 4, 1)
input_shape = tensor_shape[1:]
X = tf.random.normal(tensor_shape)
  
  
def model(input_shape):
    X_input = tf.keras.layers.Input(shape=input_shape)
    X_output = tf.keras.layers.Conv1DTranspose(
        filters=3, kernel_size=3, strides=1)(X_input)
    model = tf.keras.models.Model(inputs=X_input, outputs=X_output)
    return model
  
  
model = model(input_shape)
  
Y = model.predict(X, steps=2)
print(Y)

输出:

[[[-0.30124253 -0.36105427 -0.2042067 ]
 [ 0.02215503 -0.02281483  0.06209912]
 [ 0.00216722 -0.06402665 -0.45107672]
 [ 0.61782545  0.6981941   0.5305761 ]
 [ 0.38394764  0.49401727 -0.32046565]
 [-0.72445303 -0.70179087  0.51991314]]
[[-0.21620852 -0.25913674 -0.14656372]
 [-0.42101222 -0.5400373  -0.2516055 ]
 [ 1.1399035   1.2468109   0.51620144]
 [ 0.45842776  0.60374933 -0.43827266]
 [-0.996245   -0.97118413  0.717214  ]
 [ 0.03621851  0.03508553 -0.02599269]]
[[-0.23306094 -0.27933523 -0.15798767]
 [ 0.22609143  0.23278703  0.18968783]
 [ 0.2541324   0.2872892  -0.21050403]
 [ 0.47528732  0.6270335   0.680698  ]
 [ 0.05677184  0.1858277  -0.08888393]
 [-0.7763872  -0.75210047  0.5571844 ]]
[[ 1.2402442   1.4864949   0.8407385 ]
 [-0.580338   -0.49230838 -0.5872358 ]
 [-1.7384369  -1.8894652   0.76116455]
 [ 0.8071178   0.74401593 -0.37187982]
 [ 0.41134852  0.42184594 -0.30380705]
 [-0.13865426 -0.13431692  0.09950703]]]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Tensorflow 教程