Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

IMDB.splits

Obtive o seguinte erro ao tentar rodar o código mostrado na aula:

'function' object has no attribute 'splits'.

Aparentemente houveram algumas mudanças na biblioteca desde a produção desse material. O Field também mudou o caminho.

Encontrie a seguinte solução na documentação:

train_iter=datasets.IMDB(split=('train'))
test_iter=datasets.IMDB(split=('test'))


def tokenize(label, line):
    return line.split()

train = []
train_label=[]
for label, line in train_iter:
    train += tokenize(label, line)
    train_label.append(label)   

test = []
test_label=[]

for label, line in test_iter:
    test += tokenize(label, line)
    test_label.append(label) 


    TEXT.build_vocab(train,
                max_size=25_000,
                vectors='glove.6B.100d'    )

Utilizando essa solução obtive uma lista train com um tamanho de 5844680, sendo 280617 elementos únicos.

O problema é que o tamanho do vocabulários está ficando muito pequeno. 176 por 100.

print(TEXT.vocab.vectors.size())

está retornando:

TEXT.vocab.vectors.size([176,100])

2 respostas
solução!

Acabo de descobrir a solução. Na verdade é bem simples.

Basta modificar dataset.IMDB por legacy.dataset.IMDB na hora de carregar o dataset.

Oi Estevan! Tudo bem com você?

Muito obrigada por compartilhar aqui no fórum sua solução, tenho certeza que vai ajudar muitas pessoas com o mesmo problema!

Vou estar marcando seu post como solução para fechar o tópico. Novamente, muito obrigada!

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