
Texto e imagem no mesmo espaço
A foto do ônibus disputa com três frases. O cosseno fica perto de 0,28 e, depois de um multiplicador perto de 100, a porcentagem vai a 100%.
Abrir no ColabUma foto e uma frase não cabem na mesma conta. O CLIP transforma as duas em vetores e mede se apontam para o mesmo lado. A rede de difusão faz o caminho inverso: parte do chiado da televisão fora do ar e, passo a passo, chega numa imagem.
São cinco notebooks curtos. Cada um abre no Google Colab e instala o que precisa. Os dois primeiros rodam na CPU. Do terceiro em diante, uma GPU T4 deixa a geração rápida.
São 24 exercícios, seis nas aulas 1 a 4. Cada um abre no próprio notebook: a preparação refaz o pedaço da aula, você troca a resposta, e o conferir diz na hora se fechou. Ver os 24 exercícios.

A foto do ônibus disputa com três frases. O cosseno fica perto de 0,28 e, depois de um multiplicador perto de 100, a porcentagem vai a 100%.
Abrir no Colab
Você escreve os nomes e o modelo aponta o mais perto, sem um dataset novo. Na foto dos dois gatos, o plural verdadeiro ganha. A busca pela frase devolve o ônibus.
Abrir no Colab
A rede parte do chiado e, em dois passos, entrega um ônibus vermelho. A mesma semente, com outra frase, troca o sol pela neve.
Abrir no Colab
Primeiro a foto some no ruído, sem rede nenhuma. Depois quatro passos trazem uma imagem de volta. O strength decide quanto da foto original sobrevive.
Abrir no Colab
Quatro sementes, a mesma frase. O CLIP mede qual foto fica mais perto do texto. A nota é semelhança com a legenda, não gosto.
Abrir no ColabCada exercício abre sozinho. A preparação refaz o pedaço da aula de que a pergunta precisa. Troque resposta = None e rode a célula. No fim, uma solução já conferida.
Qual é o índice da frase vencedora em legendas? O índice começa em 0.
Escreva o texto da frase vencedora, não o índice.
Abrir no ColabQual é o cosseno (entre -1 e 1) da frase que ganhou? Esse número está em cosenos, antes do softmax.
Quantas frases ficaram com probabilidade maior que 0,2?
Abrir no ColabRode pontuar de novo na mesma foto, agora com estas três frases: a photo of a yellow bus, a photo of a cat, a photo of a dog. Responda com o texto da vencedora.
Qual é o número pelo qual o modelo multiplica o cosseno antes do softmax? É model.logit_scale.exp().
Na foto dos gatos, qual classe ganhou quando os textos eram só as palavras (cat, dog, bus)? Responda com a palavra.
E quando o texto virou a photo of a ...? Responda de novo com a classe (cat, dog ou bus), não com a frase inteira.
O índice vencedor mudou entre a palavra solta e a frase a photo of a ...? Responda True ou False.
Na busca pela frase, qual foto ficou em primeiro? Responda com a chave do dicionário fotos (onibus, gatos ou cachorro).
Qual foto ficou em último na mesma busca?
Abrir no ColabQual a diferença de cosseno entre a primeira foto e a segunda na busca?
Abrir no ColabQuantos pixels de largura tem foto_gerada?
O UNet não recebe RGB. Quantos canais tem o latente que entra nele?
Abrir no ColabO Turbo anda poucos passos na geração, mas o agendador ainda conhece a escala inteira do treino. Quantos passos de treino estão em pipe.scheduler.config.num_train_timesteps?
Gere de novo o mesmo prompt, com semente 4 e 1 passo. A resposta é a imagem. Ela precisa ter 512×512 e não pode ser a mesma foto_gerada.
A rede pinta um quadrado menor, de lado 512 / pipe.vae_scale_factor. Qual é esse lado, em pixels?
Antes de decodificar, o latente é dividido por pipe.vae.config.scaling_factor. Qual é esse número?
Qual é o alpha_bar no passo 0? Perto de 1, a foto original ainda pesa quase tudo.
Qual é o alpha_bar no passo 999?
Qual é o shape do tensor devolvido por com_ruido(limpa, 500)? Responda com uma tupla.
A foto no passo 999 fica mais longe da original do que a foto no passo 0? Responda True ou False. Distância aqui é a média do valor absoluto da diferença.
Quantos quadros a volta do Turbo guardou em passos_modelo?
O img2img anda int(passos * strength) passos. Com 4 passos de inferência, quantos rodam com strength 0,35 e com strength 0,9? Responda a tupla, nessa ordem.
resposta = None e rode a célula. A seguinte mostra uma solução que o conferir aprova.