2017-08-17 24 views
9

स्कोरिंग के लिए फ़ाइल करने के लिए टोकननाइज़र ऑब्जेक्ट को सहेजना मैंने नीचे दिए गए चरणों (व्यापक रूप से) का पालन करके केरास लाइब्रेरी का उपयोग करके एक भावना वर्गीकरण मॉडल को प्रशिक्षित किया है। Tokenizer वस्तु/वर्ग केरास टेक्स्ट प्रीप्रोसेसिंग -

  • का उपयोग कर विधि model.fit()
  • इस मॉडल
  • स्कोरिंग के लिए

    अब इस मॉडल का उपयोग कर मूल्यांकन का उपयोग कर एक मॉडल का निर्माण, मैं दृश्यों में

    1. Convert पाठ कोष मॉडल को फ़ाइल में सहेजने और फ़ाइल से लोड करने में सक्षम था। हालांकि मुझे Tokenizer ऑब्जेक्ट को फ़ाइल में सहेजने का कोई तरीका नहीं मिला है। इसके बिना मुझे हर बार कॉर्पस को संसाधित करना होगा जब भी मुझे एक वाक्य भी स्कोर करना होगा। क्या इसके चारों ओर एक रास्ता है?

    उत्तर

    17

    सबसे आम तरीका pickle या joblib का उपयोग करना सबसे आम तरीका है।

    import pickle 
    
    # saving 
    with open('tokenizer.pickle', 'wb') as handle: 
        pickle.dump(tokenizer, handle, protocol=pickle.HIGHEST_PROTOCOL) 
    
    # loading 
    with open('tokenizer.pickle', 'rb') as handle: 
        tokenizer = pickle.load(handle) 
    
    +0

    क्या आप परीक्षण सेट पर फिर से टोकनज़र.fit_on_texts को कॉल करते हैं ? – cgl

    +0

    नहीं। यदि आप फिट * कॉल करते हैं तो यह सूचकांक बदल सकता है। अचार लोड टोकननाइज़र उपयोग करने के लिए तैयार है। –

    1

    मैं keras रेपो में इस मुद्दे को https://github.com/keras-team/keras/issues/9289 बना लिया है: यहाँ आप कैसे क्रम में pickle उपयोग करने के लिए Tokenizer को बचाने के लिए पर एक उदाहरण है। जब तक एपीआई बदल नहीं जाता है, तब तक इस समस्या का एक लिंक होता है जिसमें कोड को प्रदर्शित किया जाता है कि टोकननाइज़र को मूल दस्तावेज़ों के बिना टोकननाइज़र को कैसे सहेजना और पुनर्स्थापित करना है। मैं अपनी सभी मॉडल जानकारी को JSON फ़ाइल (क्योंकि कारणों, लेकिन मुख्य रूप से मिश्रित जेएस/पायथन पर्यावरण) में स्टोर करना पसंद करता हूं, और यह इसके लिए अनुमति देगा, यहां तक ​​कि sort_keys = True

    संबंधित मुद्दे