从Google Colab Notebook运行Java命令

时间:2019-11-06 13:29:55

标签: python-3.x google-colaboratory

我正在尝试在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'

1 个答案:

答案 0 :(得分:0)

来自python文档

  

在Unix上,如果args是一个字符串,则该字符串将解释为要执行的程序的名称或路径。

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

因此,您正在尝试执行一个名为"java -cp ..."的程序,该程序肯定不存在。您想将args拆分为["java", "-cp", ...]的数组。

但是更简单地,在Colab中,您可以使用!调用shell命令,因此您可以这样做

!java -cp ...

此外,请确保java位于$PATH中。