Definování neuronových sítí pomocí Keras

Úvod do TensorFlow v Pythonu

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Klasifikace písmen znakové řeči

Tento obrázek znázorňuje písmeno A ve znakové řeči.

Tento obrázek znázorňuje písmeno B ve znakové řeči.

Tento obrázek znázorňuje písmeno C ve znakové řeči.

Tento obrázek znázorňuje písmeno D ve znakové řeči.

Úvod do TensorFlow v Pythonu

Sekvenční API

Obrázek znázorňuje neuronovou síť s 16 uzly v první skryté vrstvě, 8 ve druhé a 4 ve výstupní vrstvě.

Úvod do TensorFlow v Pythonu

Sekvenční API

  • Vstupní vrstva
  • Skryté vrstvy
  • Výstupní vrstva
  • Seřazeny v posloupnosti
Úvod do TensorFlow v Pythonu

Sestavení sekvenčního modelu

# 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,)))
Úvod do TensorFlow v Pythonu

Sestavení sekvenčního modelu

# 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())
Úvod do TensorFlow v Pythonu

Funkcionální API

Obrázek znázorňuje neuronovou síť se dvěma sadami vstupů.

Úvod do TensorFlow v Pythonu

Použití funkcionálního 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)
Úvod do TensorFlow v Pythonu

Použití funkcionálního 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')
Úvod do TensorFlow v Pythonu

Pojďme si to procvičit!

Úvod do TensorFlow v Pythonu

Preparing Video For Download...