在我的項目中,我有一種從本地磁盤加載大型模型的方法。加載模型大約需要15分鐘,有時更多。我想要做的是創建一個runnable方法加載模型一次,然後,從不同的類我調用此方法來執行一些代碼。事實上,我不知道如何實現這一點,請你指導我嗎? 下面是簡單的僞代碼:調用不同類的可運行方法
// class A has two method , load the model , and does some calculation
Class A: 1.Runnable method: LoadModel();
2.Mehtod2: distance();
// here i would like to run this programe anytime, pass some parameters and call the method "distance" in class A
Class B: 1.import Loadmodel() class and invoke distance();
在我的腦海,我想創建一個類似於服務器而不是服務器的東西:)
更新:下面的代碼是我到目前爲止已經試過。
public class load implements Runnable {
WordVectors wordVectors;
public void run() {
try {
load();
} catch (FileNotFoundException ex) {
java.util.logging.Logger.getLogger(load.class.getName()).log(Level.SEVERE, null, ex);
} catch (UnsupportedEncodingException ex) {
java.util.logging.Logger.getLogger(load.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void load() throws FileNotFoundException, UnsupportedEncodingException {
//Your display method implementation.
wordVectors = WordVectorSerializer.loadTxtVectors(new File("glove.twitter.27B.200d.txt"));
}
public double Simmiraty(String a, String b){
return wordVectors.similarity(a,b);
}
public static void main(String[] args) {
load Obj= new load();
Obj.run();
}
}
第二類:
public class B{
public static void main(String[] args) throws Exception {
load ob =new load();
System.out.println(ob.Simmiraty("iphone", "battery"));
}
}
我有上面的代碼prolem: 1.一旦加載模型停止運行。 2.我無法從第一類調用任何方法。
您的代碼不可讀。請使用stackoverflow代碼塊功能。 – SachinSarawgi