keras.layers.GlobalAveragePooling1D()的使用方法

2周前 60次点击 来自 TensorFlow

在对文本数据处理过程中,对文本数据进行平均池化操作,输入得数据格式为:

(batch_size, steps, features)

batch_size表示本批次有多少条文本
steps表示一个文本里面有是多少个单词
features表示一个单词使用多少维度进行表示

输出得数据格式为:

(batch_size, features)
features表示一行文本使用多少个维度进行表示

所以从上面得输入和输出可以看出。steps这个维度不见了,
所以这允许模型以尽可能最简单的方式处理可变长度的输入。

import numpy as np
from tensorflow import keras

data = np.array([[0, 1, 0], [1, 0, 1]])
print(data)
embedding_layer = keras.layers.Embedding(input_dim=2, output_dim=4, input_length=3)
result = embedding_layer(data)
print(result)

pooling_layer = keras.layers.GlobalAveragePooling1D()
result = pooling_layer(result)
print(result)

数据的变化过程为:

[[0 1 0]
 [1 0 1]]
 
 embedding==>密集编码,计算友好
 
 tf.Tensor(
[[[-0.0493378  -0.02530904  0.04381312  0.0398261 ]
  [-0.00647835  0.04268562  0.03686781  0.04260086]
  [-0.0493378  -0.02530904  0.04381312  0.0398261 ]]

 [[-0.00647835  0.04268562  0.03686781  0.04260086]
  [-0.0493378  -0.02530904  0.04381312  0.0398261 ]
  [-0.00647835  0.04268562  0.03686781  0.04260086]]], shape=(2, 3, 4), dtype=float32)
	
	 pooling==>降维提取特征
 
 tf.Tensor(
[[-0.03505132 -0.00264415  0.04149802  0.04075102]
 [-0.02076483  0.02002073  0.03918291  0.04167594]], shape=(2, 4), dtype=float32)
Card image cap
开发者雷

尘世间一个小小的开发者,每天增加一些无聊的知识,就不会无聊了

要加油~~~

技术文档 >> 系列应用 >>
热推应用
Let'sLearnSwift
学习Swift的入门教程
PyPie
Python is as good as Pie
标签