Tem alguma coisa errada nesse código, testou copiando igualzinho da aula. Acredito que ao usar a função amostrar, nas linas a gente chama as funções name2tensor e label2tenor, não sei se é só a name2tensor que não está dando certo ou se são as duas. Deu pra ver que houve um corte em 7 min do vídeo, mas não mostrar a correção no código.
def amostrar(num_amostras): dados_amostra, rotulos_amostra = [], []
for cat in categorias:
num_nomes = len(dados[categorias.index(cat)])
indices = np.random.choice( range(num_nomes), size=num_amostras)
dados_amostra.extend( [dado for idx, dado in enumerate(dados[categorias.index(cat)]) if idx in indices ] )
rotulos_amostra.extend( [rotulo for idx, rotulo in enumerate(rotulos[categorias.index(cat)]) if idx in indices ] )
dados_amostra = [name2tensor(nome) for nome in dados_amostra]
rotulos_amostra = [label2tensor(rotulo) for rotulo in rotulos_amostra]
return dados_amostra, rotulos_amostra
num_amostras = 50 dados_tns, rotulos_tns = amostrar(num_amostras)