openNMT pytorch быстрый старт UserWarning: неявный выбор размера для softmax устарел

Я использую Mac OS el capitán и пытаюсь следовать руководству по быстрому старту для версии OpenNMT Pytorch. На этапе обучения я получаю следующее предупреждение:

OpenNMT-py/onmt/modules/GlobalAttention.py:177: UserWarning: Implicit dimension choice for softmax has been deprecated. Change the call to include dim=X as an argument. 

align_vectors = self.sm(align.view(batch*targetL, sourceL))
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/torch/nn/modules/container.py:67: UserWarning: Implicit dimension choice for log_softmax has been deprecated. Change the call to include dim=X as an argument.
  input = module(input)

Шаг 1: Предварительная обработка данных (работает как положено)

python preprocess.py -train_src data/src-train.txt -train_tgt data/tgt-train.txt -valid_src data/src-val.txt -valid_tgt data/tgt-val.txt -save_data data/demo

Шаг 2: Модель поезда (выдает предупреждающее сообщение)

python train.py -data data/demo -save_model demo-model

Кто-нибудь сталкивался с этим предупреждением или есть какие-то указатели, чтобы решить его?

0 ответов

Почти всегда вам понадобится последнее измерение, когда вы вычисляете кросс-энтропию, чтобы ваша линия могла выглядеть так:

torch.nn.functional.log_softmax(x, -1)

Из предупреждения довольно ясно, что вы должны явно упомянуть измерение, поскольку неявный выбор размера для softmax устарел.

В моем случае я использую log_softmaxи я изменил ниже строки кода, чтобы включить измерение.

torch.nn.functional.log_softmax(x) # This throws warning.

изменено на

torch.nn.functional.log_softmax(x, dim = 1) # This doesn't throw warning.
Другие вопросы по тегам