Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não entendi o FOR e nomes_de_classificacoes

Olá,

Segue o código:

dataset = keras.datasets.fashion_mnist
((imagens_treino, identificacoes_treino),(imagens_teste, identificacoes_teste)) = dataset.load_data()

nomes_de_classificacoes = ['Camiseta', 'Calça', 'Pullover','Vestido','Casaco','Sandália','Camisa','Tênis','Bolsa','Bota']

for imagem in range(10):
    plt.subplot(2,5, imagem+1)
    plt.imshow(imagens_treino[imagem])
    **plt.title(nomes_de_classificacoes[identificacoes_treino[imagem]])** # <<<<< não entendi essa parte.

Não consegui entender o que se passa nesse código. Como o keras sabe qual a classe somente relacionando com a lista? O que se passa por "baixo dos panos" nesse caso? Ele relaciona o número do item na lista com o número da variavel "identificacoes_treino"?

1 resposta
solução!

Oi Igor! Tudo bem com você? Espero que sim!

Primeiro, peço desculpas pela demora em te trazer uma resposta.

Pela documentação foi possível entender que a variável identificacoes_treino é um array com as respostas referentes ao conjunto imagens_treino, que contém de 60.000 conjuntos de vários valores numerados de 0 a 9. Cada um desses números representam um tipo de roupa definido pela tabela abaixo:

RótuloDescrição
0Camiseta
1Calça
2Pullover
3Vestido
4Casaco
5Sandália
6Camisa
7Tênis
8Bolsa
9Bota

Por isso que, ao montar a lista nomes_de_classificacoes, a professora seguiu a mesma ordem de roupas, pois essa é a ordem de vestimentas adotada pelo próprio Keras.

No código que você destacou percebemos que primeiro é executado identificacoes_treino[imagem] esse código vai dar o retorno dos 10 primeiros valores do array identificacoes_treino que podem ser observados abaixo:

lista_de_dez_valores = []
for imagem in range(10):
  lista_de_dez_valores.append(identificacoes_treino[imagem])
print(lista_de_dez_valores)

# resultado:
[9, 0, 0, 3, 0, 2, 7, 2, 5, 5]

Analisando o resultado obtido e os dados da tabela acima, é possível identificar cada modelo de vestimenta que os dez primeiros valores de identificacoes_treino estão referenciando: Bota, Camiseta, Camiseta, Vestido, Camiseta, Pullover, Tênis, Pullover, Sandália e Sandália.

Depois disso, temos a segunda parte da execução com nomes_de_classificacoes[identificacoes_treino[imagem]] que, os valores gerados de identificacoes_treino[imagem], ou seja, números de 0 a 9, servem como índices para os dados da lista nomes_de_classificacoes e como a lista está corretamente ordenada de acordo com a documentação do Keras, o título de cada plot é corretamente definido como o nome de cada peça de roupa.

Eu espero ter te ajudado! Se surgir outra dúvida estarei disposta a ajudar ;-)

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software