首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Netbeans中的大规模在线分析:无法访问检测环境

Netbeans中的大规模在线分析:无法访问检测环境
EN

Stack Overflow用户
提问于 2017-07-07 11:32:25
回答 1查看 623关注 0票数 5

我试图在Netbeans中运行一些大规模在线分析(MOA)的演示代码。以下是代码:

代码语言:javascript
复制
package javaapplication10_moa;

import moa.classifiers.trees.HoeffdingTree;
import moa.classifiers.Classifier;
import moa.core.TimingUtils;
import moa.streams.generators.RandomRBFGenerator;
import com.yahoo.labs.samoa.instances.Instance;
import java.io.IOException;


/**
 *
 * @author LENOVO
 */
public class JavaApplication10_MOA {

        public JavaApplication10_MOA(){            
        }

        public void run(int numInstances, boolean isTesting){
                Classifier learner = new HoeffdingTree();
                RandomRBFGenerator stream = new RandomRBFGenerator();
                stream.prepareForUse();

                learner.setModelContext(stream.getHeader());
                learner.prepareForUse();

                int numberSamplesCorrect = 0;
                int numberSamples = 0;
                boolean preciseCPUTiming = TimingUtils.enablePreciseTiming();
                long evaluateStartTime = TimingUtils.getNanoCPUTimeOfCurrentThread();
                while (stream.hasMoreInstances() && numberSamples < numInstances) {
                        Instance trainInst = stream.nextInstance().getData();
                        if (isTesting) {
                                if (learner.correctlyClassifies(trainInst)){
                                        numberSamplesCorrect++;
                                }
                        }
                        numberSamples++;
                        learner.trainOnInstance(trainInst);
                }
                double accuracy = 100.0 * (double) numberSamplesCorrect/ (double) numberSamples;
                double time = TimingUtils.nanoTimeToSeconds(TimingUtils.getNanoCPUTimeOfCurrentThread()- evaluateStartTime);
                System.out.println(numberSamples + " instances processed with " + accuracy + "% accuracy in "+time+" seconds.");
        }        

        public static void main(String[] args) throws IOException {
                JavaApplication10_MOA exp = new JavaApplication10_MOA();
                exp.run(1000000, true);
        } 

}

这是输出:

无法访问仪表环境。请检查是否在java的“SizeOfAgent”命令行参数中指定了包含-javaagent类的jar文件。在5.5秒内处理了1000000个实例,准确率为91.0458%。成功构建(总时间:5秒)

问题是Netbeans无法访问检测环境,我认为它类似于配置文件。我尝试了Netbeans如何在Java中设置命令行参数的建议,通过运行-> Set Project ->定制。将参数设置为-javaagent:sizeofag.jar。(请帮帮我,谢谢你!)

EN

回答 1

Stack Overflow用户

发布于 2017-07-15 07:50:54

我通常通过Project->Properties->Run->VM和以下选项设置java代理:

代码语言:javascript
复制
-javaagent:"<full path to jar>/target.jar"

此外,我在netbens论坛在NetBeans中配置javaagent上找到了老话题,所以它应该能工作。

PS:请看下面

顺便说一下,我下载了moa-release-2016.04.zip,解压缩,在Netbeans中创建了简单的java项目,在Library部分添加了<path>/moa-release-2016.04/lib/moa-2016.04.jar路径,并且运行代码时没有任何错误或警告。在Run部分,我甚至没有提到javaagent。这是我的输出窗口:

代码语言:javascript
复制
run:
1000000 instances processed with 91.0458% accuracy in 5.480392592 seconds.
BUILD SUCCESSFUL (total time: 5 seconds)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44969739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档