Подпроцесс Python, вызывающий неожиданный вывод

Я пытаюсь вызвать двоичный файл C++ из Python, когда я запускаю следующую команду из терминала

/opt/dynet/NeurboParser/NeurboParser/build/neurboparser --test --file_test=/opt/dynet/NeurboParser/NeurboParser/data.sdp --srl_file_pruner_model=/opt/dynet/NeurboParser/NeurboParser/model/english_dm.pruner.model --srl_file_format=sdp --logtostderr --file_model=/opt/dynet/NeurboParser/NeurboParser/model/dm.adadelta.lstm200.layer2.h100.drop0.25.model --file_prediction=/opt/dynet/NeurboParser/NeurboParser/prediction/sdp.pred

Работает как положено

I0806 13:19:29.339009   561 SemanticPipe.cpp:784] dev loss: 6.16892
I0806 13:19:29.348740   561 NeurboParser.cpp:86] Testing took 5.727 sec.

Однако, когда я вызываю точно такую ​​же команду, используя подпроцесс. Откройте

command = [parser_file, '--test', '--file_test=/opt/dynet/NeurboParser/NeurboParser/data.sdp',
'--srl_file_pruner_model=/opt/dynet/NeurboParser/NeurboParser/model/english_dm.pruner.model',
'--srl_file_format=sdp',
'--logtostderr',
'--file_model=/opt/dynet/NeurboParser/NeurboParser/model/dm.adadelta.lstm200.layer2.h100.drop0.25.model',
'--file_prediction=/opt/dynet/NeurboParser/NeurboParser/prediction/sdp.pred']
process = subprocess.Popen(command, shell=False)
process.wait()

Я получаю значение нан

I0806 13:23:32.165498   568 SemanticPipe.cpp:784] dev loss: nan
I0806 13:23:32.177286   568 NeurboParser.cpp:86] Testing took 5.587 sec.

Что мне не хватает? Кто-нибудь знает, что может быть причиной этого?

0 ответов

Другие вопросы по тегам