Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Keras

Keras é uma API de alto nível para Python que permite criar e treinar redes neurais e que, desde o Keras 3, executa o mesmo código em JAX, TensorFlow ou PyTorch.

Keras é uma API Python de alto nível e código aberto para criar e treinar redes neuronais. François Chollet lançou-a em março de 2015 para tornar rápidas de escrever as experiências de aprendizado profundo: um modelo é uma pilha ou um grafo de camadas, compile define o otimizador, a função de perda e as métricas, e fit executa o ciclo de treino. Keras tornou-se a API oficial de alto nível do TensorFlow, e o Keras 3, lançado em novembro de 2023, executa o mesmo código de modelo em JAX, TensorFlow ou PyTorch, selecionado quando Keras é importado. O código curto e legível faz dele uma escolha comum para ensino, prototipagem e competições Kaggle, bem como para modelos de produção em classificação de imagens e processamento de linguagem natural.

Como funciona o Keras#

Um modelo Keras é composto por camadas como Dense, Conv2D, LSTM e MultiHeadAttention, cada uma com os seus próprios pesos. O Keras oferece três formas de as combinar: a API Sequential para uma pilha simples, a API funcional para grafos com ramificações, camadas partilhadas ou várias entradas, e a criação de subclasses de keras.Model para controlar totalmente a passagem direta. Um modelo compilado é treinado com fit, que trata do agrupamento em lotes, da retropropagação, das métricas, dos dados de validação e dos callbacks para guardar pontos de controlo ou interromper o treino antecipadamente; em seguida, avalia dados novos com evaluate e predict. Este código treina um pequeno classificador de dígitos no conjunto de dados MNIST incluído no Keras:

import os

os.environ["KERAS_BACKEND"] = "torch"  # or "jax" or "tensorflow", set before importing Keras

import keras

# MNIST handwritten digits, with pixels scaled to [0, 1]
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

# Define the model as a stack of layers
model = keras.Sequential(
    [
        keras.Input(shape=(28, 28)),
        keras.layers.Flatten(),
        keras.layers.Dense(128, activation="relu"),
        keras.layers.Dense(10, activation="softmax"),
    ]
)

# Configure training, then train and evaluate
model.compile(optimizer="adam", loss="sparse_categorical_crossentropy", metrics=["accuracy"])
model.fit(x_train, y_train, epochs=2, batch_size=64, verbose=0)
loss, accuracy = model.evaluate(x_test, y_test, verbose=0)
print(f"Test accuracy: {accuracy:.3f}")

Após duas épocas, apresenta uma precisão de teste de cerca de 0.96; alterar "torch" para "jax" ou "tensorflow" executa o mesmo modelo noutra estrutura sem editar qualquer outra linha.

Keras 3 e os seus backends#

Originalmente, o Keras era executado em vários motores, incluindo Theano, TensorFlow e CNTK. O Keras 2.3, lançado em setembro de 2019, foi a última versão com vários backends; depois disso, o desenvolvimento passou para o TensorFlow como tf.keras. O Keras 3 recuperou a independência de backend: as camadas e os modelos são escritos com base em keras.ops, um conjunto de operações ao estilo NumPy implementado por cada backend, pelo que um modelo guardado no formato .keras pode ser recarregado e treinado em qualquer backend. Com o backend PyTorch, um modelo Keras também é um torch.nn.Module que um ciclo de treino PyTorch personalizado pode usar, e, desde o Keras 3.8, um backend OpenVINO apenas para inferência executa modelos treinados em hardware Intel.

Desde o TensorFlow 2.16, instalar o TensorFlow instala o Keras 3, e o código que ainda precisa do Keras 2 usa o pacote separado tf_keras. Os conversores de modelos também visam o Keras: quando o Ultralytics YOLO exporta YOLO26 para um TensorFlow SavedModel, o conversor onnx2tf reconstrói a rede PyTorch a partir do grafo ONNX como um modelo Keras, camada a camada, antes de o guardar.

Modelos pré-treinados no KerasHub#

O KerasHub disponibiliza implementações Keras 3 de arquiteturas populares com pontos de controlo pré-treinados, como ResNet para imagens, BERT para texto e os modelos de linguagem de grande dimensão Gemma. Um nome predefinido carrega um modelo pronto para aprendizado por transferência: keras_hub.models.ImageClassifier.from_preset("resnet_50_imagenet") devolve um classificador treinado com ImageNet que a afinação adapta a um novo conjunto de dados com a mesma chamada fit usada acima. Tal como o restante Keras 3, os modelos KerasHub são executados em qualquer um dos três backends de treino.

Keras vs. TensorFlow e PyTorch#

  • TensorFlow: Uma estrutura completa, com o seu próprio ambiente de execução, compilador e ferramentas de implementação, como TensorFlow Serving e LiteRT. Keras é a API em que muitos utilizadores do TensorFlow escrevem modelos, e TensorFlow é um dos motores que executam código Keras.
  • PyTorch: Uma estrutura em que os utilizadores normalmente escrevem o próprio ciclo de treino ou recorrem a uma biblioteca como PyTorch Lightning. Keras fornece o ciclo através de fit e pode usar PyTorch como backend, pelo que os dois não são mutuamente exclusivos.
  • JAX: A biblioteca da Google de transformações de funções combináveis para diferenciação, compilação XLA e vetorização. JAX não inclui uma API integrada de camadas ou treino, e Keras é uma das formas de obter uma sobre essa base.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina