Definire reti neurali con Keras

Introduzione a TensorFlow in Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Classificare le lettere della lingua dei segni

Questa immagine mostra la lettera A nella lingua dei segni.

Questa immagine mostra la lettera B nella lingua dei segni.

Questa immagine mostra la lettera C nella lingua dei segni.

Questa immagine mostra la lettera D nella lingua dei segni.

Introduzione a TensorFlow in Python

La API sequenziale

Questa immagine mostra una rete neurale con 16 nodi nel primo livello nascosto, 8 nel secondo e 4 nel livello di output.

Introduzione a TensorFlow in Python

La API sequenziale

  • Livello di input
  • Livelli nascosti
  • Livello di output
  • In ordine sequenziale
Introduzione a TensorFlow in Python

Costruire un modello sequenziale

# 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,)))
Introduzione a TensorFlow in Python

Costruire un modello sequenziale

# 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())
Introduzione a TensorFlow in Python

La API funzionale

La figura mostra una rete neurale con due insiemi di input.

Introduzione a TensorFlow in Python

Usare la API funzionale

# 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)
Introduzione a TensorFlow in Python

Usare la API funzionale

# 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')
Introduzione a TensorFlow in Python

Esercitiamoci!

Introduzione a TensorFlow in Python

Preparing Video For Download...