Detecção de Imagens com Deep Learning utilizando TensorFlow e Keras – Mãos à Obra com Red Hat #8

Posted by


Este tutorial irá guiá-lo pelo processo de reconhecimento de imagens com Deep Learning usando TensorFlow e Keras. Vamos usar o ambiente de desenvolvimento Mão no Código by Red Hat #8 para executar nosso código e treinar um modelo de identificação de imagens.

Passo 1: Preparação do Ambiente

Antes de começarmos, certifique-se de ter o Mão no Código #8 instalado em seu computador. Você pode encontrar instruções sobre como fazer isso no site oficial do projeto. Após a instalação, abra o ambiente de desenvolvimento e vamos começar.

Passo 2: Carregando o Conjunto de Dados

Neste tutorial, usaremos o conjunto de dados CIFAR-10, que consiste em 60.000 imagens coloridas de 32×32 pixels divididas em 10 classes diferentes. Vamos carregar o conjunto de dados usando o TensorFlow.

from tensorflow.keras.datasets import cifar10

(x_train, y_train), (x_test, y_test) = cifar10.load_data()

Passo 3: Pré-processamento dos Dados

Antes de alimentar os dados para o modelo, é importante pré-processá-los. Vamos normalizar os valores dos pixels das imagens para escalá-los entre 0 e 1.

x_train = x_train / 255.0
x_test = x_test / 255.0

Além disso, precisamos converter os rótulos em um formato one-hot encoding para que nosso modelo possa interpretá-los corretamente.

from tensorflow.keras.utils import to_categorical

y_train = to_categorical(y_train, num_classes=10)
y_test = to_categorical(y_test, num_classes=10)

Passo 4: Construindo o Modelo

Agora vamos construir nosso modelo de rede neural convolucional usando o Keras. Vamos definir uma arquitetura simples com algumas camadas convolucionais e de pooling.

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense

model = Sequential()
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)))
model.add(MaxPooling2D((2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D((2, 2)))
model.add(Flatten())
model.add(Dense(256, activation='relu'))
model.add(Dense(10, activation='softmax'))

Passo 5: Compilando e Treinando o Modelo

Agora que o modelo está construído, precisamos compilá-lo com uma função de perda e um otimizador.

model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])

Em seguida, podemos treinar o modelo com o conjunto de dados de treinamento.

model.fit(x_train, y_train, batch_size=64, epochs=10, validation_data=(x_test, y_test))

Passo 6: Avaliando o Modelo

Depois que o modelo é treinado, podemos avaliá-lo com o conjunto de dados de teste para ver como ele se sai em relação a dados novos.

loss, accuracy = model.evaluate(x_test, y_test)
print(f'Acurácia do modelo: {accuracy}')

Parabéns! Você concluiu com sucesso o tutorial de reconhecimento de imagens com Deep Learning usando TensorFlow e Keras no ambiente Mão no Código by Red Hat #8. Experimente ajustar a arquitetura do modelo ou os parâmetros do treinamento para ver se você pode melhorar ainda mais a precisão do modelo. Divirta-se codando!

0 0 votes
Article Rating
28 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@oOoOfrank1
2 months ago

Mais alguém está tendo problemas com os imports?

@gabrielrockmetal
2 months ago

Executei os códigos no meu próprio computador e deu tudo certo 🙂
Ambiente Ubuntu 22.04 com Tensorflow e Cuda.

@neto_x
2 months ago

18:05 a função sigmoid não retorna valores entre -1 e 1, é de 0 a 1. Ou me enganei?

@user-rl6yn4hz5w
2 months ago

Onde que acha esse dataset??? 🙁

@patrick-ramos
2 months ago

Nossa, tô procurando um conteúdo desse há anos, tô até arrepiado aqui kkk 🚀

@claudioabreu8981
2 months ago

muito bom, obrigado!

@wagnernogueira1727
2 months ago

Muito legal!

@kaburaru3471
2 months ago

Caracaaaa, que conteúdo excelente!!!!

@0nz3
2 months ago

Mano, alguém pode me falar como se prepara o ambiente do projeto para VS code (Visual Studio Code) Por favor

@jessicaholis
2 months ago

Poderiam agregar ao canal questões de concurso, né? É muito difícil achar material de TI.

@duckcwb5946
2 months ago

Olá, se eu precisasse utilizar mais de duas classes, eu teria que realizar muitas mudanças?

@Hugo.Digital
2 months ago

Esse quadro não é o meu preferido… mas dessa vez, não vou poder resistir…rsrsr

@pauloceschin5201
2 months ago

Parabéns Tarcisio Oliveira. Muito didático e pratico. Ótimo conteúdo ! abraços

@pedrocosta9769
2 months ago

Lindões, me diga uma coisa, no landing page de vocês, verifiquei que vocês não fazem verificação se o email é válido ou não (se existe ou não). Não há como mais fazer essa verificação? Eu digitei um email falso lá e passou. Faltou essa implementação? Queria muito que vocês me dessem esse feedback. Abraço.

@mommodearaque123
2 months ago

Eu gostaria de um video completo sobre Engenharia de Controle e Automação

@marcelospaiva
2 months ago

Vcs são brabos demais. Tanta coisa a aprender ainda com vcs…

@MeuHD
2 months ago

Que vídeo maravilhoso! Código + IA + gatinhos e cachorrinhos , uma junção perfeita para mim ! ♥️🥰

@matheusdefariasbonfim636
2 months ago

Caso seja de interesse de alguem, fiz um video mostrando como usei o keras para reconhecimento de pessoas com mascaras usando a webcam (https://www.youtube.com/watch?v=58JmETGFQZk&lc=UgwKcn_Sry5SsrHynBl4AaABAg)

Anonymous
2 months ago

VCS SÃO P.HODAAAAAAAAAAAAAAAAAAAAAAAAAAAA

@devlucao
2 months ago

Muito bom