python - python-weka 包装器中的运行时错误

标签 python django weka

我编写了以下代码来在 python 和 weka 之间建立连接,然后尝试对加载的数据进行聚类。第一次执行时它工作正常,但是当我尝试在同一 session 中第二次运行此代码时,它给出了一个错误。

jvm.start()
loader = Loader(classname="weka.core.converters.CSVLoader")
data = loader.load_file("/C:/Users/swati/Desktop/MTP_FINAL/Music_recommendation/recommendation/matrix2.csv")

convert = Filter(classname="weka.filters.unsupervised.attribute.NumericToNominal")
convert.inputformat(data)
data = convert.filter(data)
#print data

clusterer = Clusterer(classname="weka.clusterers.SimpleKMeans", options=["-N", "6"])
clusterer.build_clusterer(data)
#print(clusterer)
ans1=[]
for i in range(0,data.num_instances):
    ans1.append(clusterer.cluster_instance(data.get_instance(i)))

n = data.num_instances
jvm.stop()

以下是错误。第二次无法启动jvm。请帮助我解决这个问题。如何纠正这个问题。

RuntimeError at /

Failed to start Java VM

Request Method:     GET
Request URL:    http://127.0.0.1:8000/
Django Version:     1.7.4
Exception Type:     RuntimeError
Exception Value:    

Failed to start Java VM

Exception Location:     C:\Python27\lib\site-packages\javabridge\jutil.py in start_vm, line 259
Python Executable:  C:\Python27\python.exe
Python Version:     2.7.9
Python Path:    

['C:\\Users\\swati\\Desktop\\MTP_FINAL\\Music_recommendation',
 'C:\\Python27\\lib\\site-packages\\setuptools-12.0.5-py2.7.egg',
 'C:\\Python27\\lib\\site-packages\\mysql_python-1.2.5-py2.7-win32.egg',
 'C:\\Windows\\system32\\python27.zip',
 'C:\\Python27\\DLLs',
 'C:\\Python27\\lib',
 'C:\\Python27\\lib\\plat-win',
 'C:\\Python27\\lib\\lib-tk',
 'C:\\Python27',
 'C:\\Python27\\lib\\site-packages']

最佳答案

jvm.stop() 方法只是包装对 javabridge.kill_vm() 方法的调用。根据javabridge documentation ,一旦 JVM 被杀死,就无法再次启动它。通常,您会在调用 main 方法之前和之后启动和停止 JVM,类似于:

import traceback
import weka.core.jvm as jvm

def main():
    # cool stuff happening here
    pass

if __name__ == "__main__":
    try:
        jvm.start()
        main()
    except Exception, e:
        print(traceback.format_exc())
    finally:
        jvm.stop()

关于python - python-weka 包装器中的运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29249384/

相关文章:

javascript - Django:如何在另一个 javascript 文件中导入 javascript

python - Django 显示页面未找到

django - 安装 django.contrib.comments 应用程序后无法同步我的 django 数据库

machine-learning - 如何使用遗传算法在WEKA中找到投票分类器的权重?

python - 在 Python Flask 中,如何获取当前登录用户的角色名称?

python - 为什么我的 PanelND 工厂抛出 KeyError?

python - 内容长度被剥离

python - CELERYBEAT_SCHEDULE 中的任务未被处理

java - 使用java进行多线程交叉验证

java - 如何避免使用@SuppressWarnings?