package edu.fudan.nlp.tag; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStream; import edu.fudan.ml.classifier.linear.Linear; import edu.fudan.nlp.pipe.seq.templet.TempletGroup; /** * 统一处理序列标注模型的读写操作 * @author xpqiu */ public class ModelIO { public static TempletGroup templets; public static Linear cl; public static void saveTo(String modelfile, TempletGroup templets, Linear cl) throws IOException { ObjectOutputStream out = new ObjectOutputStream( new BufferedOutputStream(new GZIPOutputStream( new FileOutputStream(modelfile)))); out.writeObject(templets); out.writeObject(cl); out.close(); } public static void loadFrom(String modelfile) throws IOException, ClassNotFoundException { ObjectInputStream in = new ObjectInputStream(new BufferedInputStream( new GZIPInputStream(new FileInputStream(modelfile)))); templets = (TempletGroup) in.readObject(); cl = (Linear) in.readObject(); in.close(); } }