2013-09-28 355 views
5

Tôi cố gắng để chạy một phân loại trong WEKA, sử dụng một bộ phân loại J48 sử dụng dòng lệnh sau:Tăng đống để tránh Out of Lỗi bộ nhớ trong WEKA

$ java -Xmx2048m -cp /home/weka-3-7-9/weka.jar weka.classifiers.trees.J48 -t input.arff -i -k -d J48-data.model & 

Mặc dù kích thước của arff của tôi là 43,8 M, và tôi aumented không gian đống đến 2048m, tôi vẫn nhận được các lỗi sau đây:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 
    at java.util.ArrayList.<init>(ArrayList.java:132) 
    at weka.core.Instances.initialize(Instances.java:196) 
    at weka.core.Instances.<init>(Instances.java:177) 
    at weka.classifiers.trees.j48.ClassifierSplitModel.split(ClassifierSplitModel.java:252) 
    at weka.classifiers.trees.j48.ClassifierTree.buildTree(ClassifierTree.java:159) 
    at weka.classifiers.trees.j48.C45PruneableClassifierTree.buildClassifier(C45PruneableClassifierTree.java:126) 
    at weka.classifiers.trees.J48.buildClassifier(J48.java:249) 
    at weka.classifiers.evaluation.Evaluation.evaluateModel(Evaluation.java:1485) 
    at weka.classifiers.Evaluation.evaluateModel(Evaluation.java:649) 
    at weka.classifiers.AbstractClassifier.runClassifier(AbstractClassifier.java:297) 
    at weka.classifiers.trees.J48.main(J48.java:1062) 

Không ai biết nếu tôi làm điều gì sai? Hoặc có thể chỉ cho tôi một giải pháp khác để tăng số lượng heap?

Cảm ơn bạn trước.

Trả lời

13

Hướng dẫn nhanh cho người dùng Ubuntu: Vùng heap có thể được đặt bằng cách thay đổi dòng MEMORY="256m" trong tệp /usr/bin/weka bằng trình chỉnh sửa ưa thích của bạn.

+1

Giải pháp này cũng phù hợp với Người dùng MacOSx. – owwoow14

2

Weka's instructions tuyên bố rằng lệnh "-Xmx ..." sẽ không hoạt động từ giao diện dòng lệnh đơn giản. Tôi tin rằng bạn nên tăng kích thước heap bằng cách chỉnh sửa các tập tin RunWeka.ini. Liên kết tôi đã cung cấp sẽ hướng bạn đi đúng hướng.