【问题标题】:System Call C++ with Weka使用 Weka 的系统调用 C++
【发布时间】:2015-01-31 08:04:56
【问题描述】:

我正在编写一个 C++ 项目,它偶尔会使用 system 调用 Weka 来获取一些机器学习信息。首先,我想确保训练模型 (training.model) 是最新的。所以,在 main 的开头,我调用:

system("\"java weka.classifiers.trees.J48 -t ML_data.arff -d training.model\"");

这给了Error: could not find or load main class weka.classifiers.trees.J48。我知道这意味着什么,所以我将名为 Weka-3-6 的整个 Weka 项目文件夹移到了我的项目所在的目录中。于是我尝试了:

system("\"java \Weka-3-6\\weka.classifiers.trees.J48 -t ML_data.arff -d training.model\"");

但这会返回Error: could not find or load Weka-3-6\weka.classifiers.trees.J48

我觉得我在正确的附近,但我无法正确使用斜线,而且我不想弄乱绝对路径,因为文件夹有空格,这使得它更加混乱。有任何想法吗?非常感谢您的帮助。

【问题讨论】:

    标签: c++ weka


    【解决方案1】:

    打开终端/cmd 提示并尝试在终端/cmd 提示中运行您的命令。以下是 Windows 的示例 cmd 批处理脚本。您的问题很可能是 java 类路径设置而不是 weka 问题。如果您成功执行以下命令,请在 c++ 中再次尝试您的命令。

    SET WEKA_HOME=C:\Program Files\Weka-3-7
    SET CLASSPATH=%CLASPATH%;%WEKA_HOME%\weka.jar
    SET HEAP_OPTION=-Xms4096m -Xmx8192m
    SET JAVA_COMMAND=java %HEAP_OPTION%
    %JAVA_COMMAND% weka.core.SystemInfo
    

    【讨论】:

      猜你喜欢
      • 2016-02-09
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 2014-12-25
      相关资源
      最近更新 更多