您可以將其保存爲GZIP 。通常它更緊湊。
File f = new File(path);
FileOutputStream fileOutputStream = new FileOutputStream(f);
GZIPOutputStream gzipOutputStream = new GZIPOutputStream(fileOutputStream);
ObjectOutputStream objectOutputStream = new ObjectOutputStream(gzipOutputStream);
objectOutputStream.writeObject(yourClassifier);
objectOutputStream.flush();
objectOutputStream.close();
gzipOutputStream.close();
fileOutputStream.close();
加載它,你可以使用:
File f = new File(path);
FileInputStream fileInputStream = new FileInputStream(f);
GZIPInputStream gzipInputStream = new GZIPInputStream(fileInputStream);
ObjectInputStream objectOutputStream = new ObjectInputStream(gzipInputStream);
Classifier mlClassifier = (Classifier) objectOutputStream.readObject();
objectOutputStream.close();
gzipInputStream.close();
fileInputStream.close();
其從73 MB減少它只有13 MB - 所以它的工作。 但是,模型本身仍然佔用大量內存(導致java堆錯誤)。有沒有辦法從weka分類器中移除樣本? –
您可以訓練更緊湊的模型。你目前使用什麼分類器? – AndreyF
隨機森林。我不認爲這個龐大的規模可以模擬容量(樹木數量等)。它不應該取決於火車的大小。 –