Различные тензоры для тензоров Pytorch в функцииPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Различные тензоры для тензоров Pytorch в функции

Сообщение Anonymous »

У меня есть проблема с Pytorch, потому что я новичок. Я пытаюсь внедрить какой -то алгоритм кодирования с использованием словесных словесных и матрицы Torch.zero. Но у меня проблемы, это не сработало должным образом:
Например, имея одну и ту же функцию с или без Break дает различные выходные матрицы. Я проверил это только для первой матрицы, и я думаю, что это то же самое с другими. Функция с Break дает правильную матрицу, с 1 в 45 индексах (см. Пример ниже), функция без разрыва в цикле для цикла содержит один в неправильном месте (в 18 индексе). Однако я ничего не изменил в коде, несмотря на перерыв .
Вот функция без перерыва:

Код: Выделить всё

def encode_dialog_states(df, symptoms_voc, pathos_voc, max_turn_num=30):
N = max_turn_num
M = len(symptoms_voc) + len(pathos_voc)
print("Dialog state matrix shape is:", N, 'x', M)

df['DIALOG_STATE_MATRIX'] = [None] * len(df)

X = torch.zeros(N,M)
for idx, row in df.iterrows():
X.zero_()

patho_idx = pathos_voc.get(row['PATHOLOGY'])
X[:, patho_idx] = 1
#print('patho_idx', patho_idx)

for t, evidence in enumerate(row['EVIDENCES']):
sym_idx = symptoms_voc.get(evidence)

X[t:N, len(pathos_voc) + sym_idx] = 1

df.at[idx, 'DIALOG_STATE_MATRIX'] = X

return df
< /code>
Вот та же функция с разрывом в первом цикле: < /p>
def encode_dialog_states(df, symptoms_voc, pathos_voc, max_turn_num=30):
N = max_turn_num
M = len(symptoms_voc) + len(pathos_voc)
print("Dialog state matrix shape is:", N, 'x', M)

df['DIALOG_STATE_MATRIX'] = [None] * len(df)

X = torch.zeros(N,M)
for idx, row in df.iterrows():
X.zero_()

patho_idx = pathos_voc.get(row['PATHOLOGY'])
X[:, patho_idx] = 1
#print('patho_idx', patho_idx)

for t, evidence in enumerate(row['EVIDENCES']):
sym_idx = symptoms_voc.get(evidence)

X[t:N, len(pathos_voc) + sym_idx] = 1

df.at[idx, 'DIALOG_STATE_MATRIX'] = X
break

return df

< /code>
Я проверил обе функции для следующего примера и получить различные результаты: < /p>
для патологии train_set.loc [0, 'pathology'] 

Подробнее здесь: [url]https://stackoverflow.com/questions/78447930/different-tensor-output-for-pytorch-tensors-in-function[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»