Ilość stworzonych próbek jest równa 0

0

Tutaj błąd:

Wybierz ilość stron do odwiedzenia: 0
Traceback (most recent call last):

  File ~\Documents\Vsiate\lib\site-packages\spyder_kernels\py3compat.py:356 in compat_exec
    exec(code, globals, locals)

  File c:\users\robert\desktop\ai\ai spyder.py:352
    output_logits = model(input_data_padded, input_lengths)

  File ~\Documents\Vsiate\lib\site-packages\torch\nn\modules\module.py:1130 in _call_impl
    return forward_call(*input, **kwargs)

  File c:\users\robert\desktop\ai\ai spyder.py:295 in forward
    packed_embedded = pack_padded_sequence(embedded, input_lengths, batch_first=True, enforce_sorted=False)

  File ~\Documents\Vsiate\lib\site-packages\torch\nn\utils\rnn.py:260 in pack_padded_sequence
    _VF._pack_padded_sequence(input, lengths, batch_first)

RuntimeError: Length of all samples has to be greater than 0, but found an element in 'lengths' that is <= 0

a tu część kodu z którą mam problemy

input_data = [torch.tensor([1, 2, 3]), torch.tensor([4, 5])]
output_data = [torch.tensor([6, 7, 8, 9]), torch.tensor([10, 11, 12])]
max_length = max(len(input_seq) for input_seq in input_data)

for i in range(len(input_sequences)):
    input_sequence = input_sequences[i]
    output_sequence = output_sequences[i]
    input_tensor = torch.tensor([word_to_index[word] for word in input_sequence.split()], dtype=torch.long)
    output_tensor = torch.tensor([word_to_index[word] for word in output_sequence.split()], dtype=torch.long)
    input_data.append(input_tensor)
    output_data.append(output_tensor)

input_data.extend([input_tensor] * (oversampling_factor * num_previous_responses))
output_data.extend([output_tensor] * (oversampling_factor * num_previous_responses))

input_data = pad_sequence(input_data, batch_first=True)
output_data = pad_sequence(output_data, batch_first=True)

padded_input_data = pad_sequence(input_data, batch_first=True, padding_value=0)
padded_output_data = pad_sequence(output_data, batch_first=True, padding_value=0)

problem jest z tym że program widzi zero a nie powinno tak być

0

A u Ciebie input_sequences to nie jest 0? Bo to wygląda jakbyś sam wprowadził to 0:

VisiateAI napisał(a):
Wybierz ilość stron do odwiedzenia: 0
0

mam dane tekstowe z pliku a to zapytanie dotyczy web crabing czy ma wyszukiwać nowe strony aby dodać je do bazy uczenia.

0

Zaczalbym od dodania kodu walidujacego input, zeby odnalezc miejsce w ktorym dane sa nieprawidlowe (o czym zreszta informuje blad).

for i, tensor in enumerate(input_data):
    if len(tensor) == 0:
        print(f"Tensor in input_data at index {i} has length 0")

for i, tensor in enumerate(output_data):
    if len(tensor) == 0:
        print(f"Tensor in output_data at index {i} has length 0")

1 użytkowników online, w tym zalogowanych: 0, gości: 1