使用 Keras 定義神經網路

Python 的 TensorFlow 入門

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

手語字母分類

此圖顯示手語字母 A。

此圖顯示手語字母 B。

此圖顯示手語字母 C。

此圖顯示手語字母 D。

Python 的 TensorFlow 入門

Sequential API

此圖顯示一個神經網路:第一個隱藏層 16 個節點,第二個 8 個,輸出層 4 個。

Python 的 TensorFlow 入門

Sequential API

  • 輸入層
  • 隱藏層
  • 輸出層
  • 依序排列
Python 的 TensorFlow 入門

建立 Sequential 模型

# 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 入門

建立 Sequential 模型

# 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 入門

Functional API

此圖顯示具有兩組輸入的神經網路。

Python 的 TensorFlow 入門

使用 Functional 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 入門

使用 Functional 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 入門

一起來練習吧!

Python 的 TensorFlow 入門

Preparing Video For Download...