IST - Física HowTo - Informática 12:41
2025-12-22
  Bibliotecas
 
     Inteligência artificial
 
        Keras
 
           Utils
 
           Layers
 
           Models
 
           Exemplos
 

Keras &mdask; Models

Sumário
1. Introdução
Criação de modelos:
2. "Sequential:" Cria modelos com camadas simples
3. "Functional:" Cria modelos com múltiplas entradas e saídas, etc.
Métodos (variável "model"):
4. "add:" Adiciona uma camada a um modelo
5. "compile:" Faz a configurar o modelo
6. "evaluate:" Aplicar um modelo treinado a um conjunto de dados
7. "fit:" Executa o treino do modelo
8. "summary:" Visualizar o modelo
9. ":"
Leitura e escrita de modelos em ficheiros:
10. Guardar um modelo num ficheiro
11. Leitura de um modelo de um ficheiro
12. Links úteis
Início

1. Introdução

Os modelos são basicamente constituídos por uma ou mais entradas, por um conjunto de camadas interiores e por uma ou mais saídas. O Keras disponibiliza basicamente duas APIs para a criação de modelos e um conjunto de métodos que a elas se aplicam.
Na apresentação dos métodos vai usar como variável genérica de um model "model".
Início

2. "Sequential:" Cria modelos com camadas simples

keras.Sequential (layers=None, trainable=True, name=None)
Classe Sequential destina-se à criação de modelos simples em que cada camada tem um tensor de entrada e outro de saída.
Exemplo:
model = keras.Sequential([
layers.Dense(32, activation='relu', name="layer1"),
layers.Dense(48, activation='relu', name="layer2"),
layers.Dense(1, name="layer3")
Início

3. "Functional:" Cria modelos com múltiplas entradas e saídas, etc.

keras.Functional (layers=None, trainable=True, name=None)
A API Funcional do Keras é uma forma de criar modelos mais flexíveis do que o keras.Sequential. Ela pode lidar com modelos. com topologia não linear, camadas partilhadas e até mesmo múltiplas entradas ou saídas.
A ideia principal é que um modelo de aprendizagem profunda é geralmente um grafo acíclico dirigido (DAG) de camadas. Assim, uma forma de construir grafos de camadas.
Ver: Keras: The Functional API
Início

4. "add:" Adiciona uma camada a um modelo

Este método permite adicionar uma camada a um modelo. Exemplo:
model.add (layers.Dense(2, activation="relu"))
Início

5. "compile:" Faz a configurar o modelo

keras.model.compile (...)
Permite configurar o modelo. Vejamos alguns dos seus argumentos:
  • optimizer: Indica o optimizador a utilizar. Exemplo:
    optimizer='adam'
  • loss: Indica a função de perda, ou seja, a função que se deseja minimizar durante o treino e indica a sua precisão.
    Ela pode ser o nome de uma função ou uma "keras.losses.Loss". Exemplo:
    loss=keras.losses.BinaryCrossentropy()
  • metrics: Funções que se aplicam-se durante a avaliação do desempenho do modelo.
    Têm um papel idêntico a "loss" mas não se aplicam durante o treino.
    Exemplos:
    metrics=['accuracy']
    metrics=['binary_accuracy']
    ......
    
Ver: Keras: Losses
Início

6. "evaluate:" Aplicar um modelo treinado a um conjunto de dados

Para aplicar um modelo, "model", treinado a um conjunto de dados "dsData", pode usar-se o método "evaluate" que retorna o teste de perdas e teste de precisão:
loss, acc = model.evaluate (dsData)
print("Restored model, accuracy: {:5.2f}%".format(100 * acc))
Início

7. "fit:" Executa o treino do modelo

model.fit (dataset, ...)
Executa o treino do modelo usando o conjuntos de dados "dataset". Vejamos alguns dos seus argumentos:
  • epochs: Número de iterações do treinar o modelo (default: 1)
  • validation_data: Dataset com os dados de validação (default: None)
Início

8. "summary:" Visualizar o modelo

Para visualizar um modelo pode usar-se o método "summary":
model.summary ()
Para uma visualização mais detalhada ver: HowTo: keras.utils.plot_model
Início

9. ":"

Início

10. Guardar um modelo num ficheiro

model.save(filepath, overwrite=True, zipped=None, **kwargs)
É um aliás de mkeras.saving.save_model(). Guarda "model" num ficheiro, "filepath".
model.save ('__ficheiro__.keras')
O ficheiro assim criado, é um ficheiro "zip" que contém os seguintes ficheiros:
  • metadata.json
  • config.json
  • model.weights.h5
É ainda possível guardar os resultados do treino passo a passo ou guardar apenas os pesos:
  • Guardá-los no final
  • Guardá-los passo a passo
  • Guardar os pesos
Início

11. Leitura de um modelo de um ficheiro

A leitura de um modelo a partir de um ficheiro é feita com a função:
keras.models.load_model(filepath, custom_objects=None, compile=True, safe_mode=True)
em que "filepath" é o ficheiro em que foi guardado o modelo e Exemplo:
model = keras.models.load_model ('__ficheiro__.keras')
Ver: tf.keras.models.load_model
Início

12. Links úteis

Início