Запустите команду Java из записной книжки Google Colab - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь обучить пользовательской модели NER в Google Colab. Я установил Java на ВМ и выполнил следующую команду для вызова файла JAR NER. Но ничего не происходит.

import subprocess
subprocess.call(['java', '-jar', '/content/gdrive/stanford-ner.jar', 'edu.stanford.nlp.ie.crf.CRFClassifier', '-prop prop.txt'])

Я вижу 1 на экране, но не обученную модель.

Я пробовал подпроцесс, но команда не выполняется.

import subprocess
cmd="java -cp /content/gdrive/stanford-ner.jar edu.stanford.nlp.ie.crf.CRFClassifier -prop prop.txt"
output = subprocess.check_output(cmd)

Ошибка

FileNotFoundError: [Errno 2] Нет такого файла или каталога: 'java -cp /content/gdrive/stanford-ner.jar edu.stanford.nlp.ie.crf.CRFClassifier -prop prop.txt':' java -cp /content/gdrive/stanford-ner.jar edu.stanford.nlp.ie.crf.CRFClassifier -prop prop.txt '

1 Ответ

0 голосов
/ 09 ноября 2019

Из документа python

В Unix, если args - строка, строка интерпретируется как имя или путь к программе для выполнения.

https://docs.python.org/2/library/subprocess.html

Следовательно, вы пытаетесь выполнить программу с именем "java -cp ...", которая, безусловно, не существует. Вы хотите разделить args как массив ["java", "-cp", ...].

Но проще говоря, в Colab вы можете вызывать команды оболочки, используя !, следовательно, вы можете сделать

!java -cp ...

Также убедитесь, что java находится в $PATH.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...