我正在尝试在Google Colab上训练自定义NER模型。我在VM上安装了Java,然后运行以下命令来调用NER jar文件。但是似乎什么也没发生。
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:[错误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'
答案 0 :(得分:0)
来自python文档
在Unix上,如果args是一个字符串,则该字符串将解释为要执行的程序的名称或路径。
https://docs.python.org/2/library/subprocess.html
因此,您正在尝试执行一个名为"java -cp ..."
的程序,该程序肯定不存在。您想将args
拆分为["java", "-cp", ...]
的数组。
但是更简单地,在Colab中,您可以使用!
调用shell命令,因此您可以这样做
!java -cp ...
此外,请确保java
位于$PATH
中。