全连接层
keras.layers.Dense(units,
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)
一般只需要用到第一个参数units,即输出神经元的数量。
activation为使用的激活函数。
示例
from tensorflow.keras.layers import Dense, Flatten
import tensorflow as tf
import numpy as np
# 定义一个展平层
flatten = Flatten()
# 定义一个全连接层
dense = Dense(1024, activation='relu')
# 生成一个维度为[64, 720, 720, 3]的矩阵
x = np.random.random((64, 720, 720, 3))
print(x.shape) # [64, 720, 720, 3]
# 转成tensor类型,第一个维度64表示batch
# numpy中的数据类型和tensorflow中的数据类型完全兼容,所以这一步可以省略
x = tf.convert_to_tensor(x)
print(x.shape) # [64, 720, 720, 3]
# 进行展平
y = flatten(x)
print(y.shape) # [64, 1555200]
# 全连接
z = dense(y)
print(z.shape) # [64, 1024]