Tensorflow(十六) —— 全连接层
1. 全连接层
import tensorflow as tf
from tensorflow import keras
# **************** fully connected layers
x = tf.random.normal([1000,784])
net = keras.layers.Dense(512)
out = net(x)
print("out:",out.shape)
print("kernel:",net.kernel.shape)
print("bias:",net.bias.shape)
# 指定layers的输入形状,可多次指定,指定后则可确定kernel和bias的shape
net = keras.layers.Dense(10)
try:
net.kernel.shape
except Exception as error:
print("error:",error)
net.build(input_shape = [None,4])
print("1:",net.kernel.shape)
net.build(input_shape = [None,100])
print("2:",net.kernel.shape)
net.build(input_shape=(100,20))
print("3:",net.kernel.shape)
try:
net(tf.random.normal((100,30)))
except Exception as error:
print("error2:",error)
out = net(tf.random.uniform([100,20]))
print(out.shape)
2. Multi Layers
# ****************** Multi Layers
"""
keras.Sequential([layer1,layer2,layer3,...,layern])
"""
model = keras.Sequential([
keras.layers.Dense(2,activation = "relu"),
keras.layers.Dense(2,activation = "relu"),
keras.layers.Dense(2)
])
model.build(input_shape = [None,3])
print(model.summary())
print(model.trainable_variables)
"""
[w1,b1,w2,b2,w3,b3]
"""
for p in model.trainable_variables:
print(p.name,p.shape)
本文为参考龙龙老师的“深度学习与TensorFlow 2入门实战“课程书写的学习笔记
by CyrusMay 2022 04 16