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.