用 Keras 定义神经网络

Python 中的 TensorFlow 入门

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

手语字母分类

此图展示手语字母 A。

此图展示手语字母 B。

此图展示手语字母 C。

此图展示手语字母 D。

Python 中的 TensorFlow 入门

顺序 API

该图显示一个神经网络:第一隐藏层 16 个节点,第二隐藏层 8 个,输出层 4 个。

Python 中的 TensorFlow 入门

顺序 API

  • 输入层
  • 隐藏层
  • 输出层
  • 顺序排列
Python 中的 TensorFlow 入门

构建顺序模型

# Import tensorflow
from tensorflow import keras

# Define a sequential model
model = keras.Sequential()
# Define first hidden layer
model.add(keras.layers.Dense(16, activation='relu', input_shape=(28*28,)))
Python 中的 TensorFlow 入门

构建顺序模型

# Define second hidden layer
model.add(keras.layers.Dense(8, activation='relu'))
# Define output layer
model.add(keras.layers.Dense(4, activation='softmax'))
# Compile the model
model.compile('adam', loss='categorical_crossentropy')
# Summarize the model
print(model.summary())
Python 中的 TensorFlow 入门

函数式 API

该图显示一个具有两组输入的神经网络。

Python 中的 TensorFlow 入门

使用函数式 API

# Import tensorflow
import tensorflow as tf

# Define model 1 input layer shape
model1_inputs = tf.keras.Input(shape=(28*28,))

# Define model 2 input layer shape
model2_inputs = tf.keras.Input(shape=(10,))
# Define layer 1 for model 1
model1_layer1 = tf.keras.layers.Dense(12, activation='relu')(model1_inputs)

# Define layer 2 for model 1
model1_layer2 = tf.keras.layers.Dense(4, activation='softmax')(model1_layer1)
Python 中的 TensorFlow 入门

使用函数式 API

# Define layer 1 for model 2
model2_layer1 = tf.keras.layers.Dense(8, activation='relu')(model2_inputs)

# Define layer 2 for model 2
model2_layer2 = tf.keras.layers.Dense(4, activation='softmax')(model2_layer1)
# Merge model 1 and model 2
merged = tf.keras.layers.add([model1_layer2, model2_layer2])
# Define a functional model
model = tf.keras.Model(inputs=[model1_inputs, model2_inputs], outputs=merged)

# Compile the model
model.compile('adam', loss='categorical_crossentropy')
Python 中的 TensorFlow 入门

Passons à la pratique !

Python 中的 TensorFlow 入门

Preparing Video For Download...