|
|
|
|
Keras &mdask; Models
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
|
|
|
|