Ao executar torch.stack(dados_tns), recebi o seguinte erro:
RuntimeError: stack expects each tensor to be equal size, but got [4, 55] at entry 0 and [6, 55] at entry 2
O erro ocorre porque os nomes têm comprimentos diferentes — por exemplo, "Mota" tem 4 letras e gera um tensor de shape (4, 55), enquanto "Suarez" tem 6 letras e gera um tensor (6, 55). A função torch.stack exige que todos os tensores tenham exatamente o mesmo shape, pois tensores são estruturas homogêneas e regulares — uma generalização das matrizes que não admite dimensões variáveis.
Isso reflete uma característica fundamental dos tensores: sua regularidade é justamente o que permite operações matemáticas eficientes (especialmente em GPU), mas essa mesma característica impede que armazenemos sequências de tamanhos diferentes em uma única estrutura tensorial sem algum tipo de tratamento prévio.
Por isso, a alternativa escolhida neste momento é passar um nome de cada vez para a rede neural (batch size = 1), evitando o problema de dimensionalidade variável. Mais adiante no curso, aprenderemos a usar técnicas como padding e packing (via torch.nn.utils.rnn.packpaddedsequence) para lidar de forma eficiente com sequências de tamanhos variáveis em formato tensorial.