2017-02-22 78 views
0

這更像是一個最佳/常見實踐問題。使用小型Spacy模型創建測試環境

我們在我們的生產系統中使用Spacy。在進行測試時,我們不得不下載完整的模型(解析器+單詞向量),這些模型可能非常緩慢(約30分鐘),令人沮喪。也許更好的策略可能是創建一個自定義的輕量級空間模型進行測試,例如,只有1000個單詞vocab和一個較小的解析模型。

當使用可應用於此場景的大型數據模型進行測試時,是否提出了策略/最佳實踐?

回答

0

這基本上取決於你需要測試什麼和如何。 你可能並不真的需要或想測試spacy本身,你想測試你的功能依賴於從空間的結果,在這方面的一個良好的做法是模擬來自spacy的響應和測試你的代碼信任spacy正常工作(它確實有測試;))。在我們的環境中,我們在導入spacy時加載了模型,所以我們必須模擬導入的模塊以便不加載這些數據。

當然有創建模型的輕量級版本的選項,但這不是一個簡單的情況,它可能需要在每個Spacy版本更改上工作,並且必須牢記其他開發人員應該能夠更新之後測試/需求發生變化的模型。

如果您實際上需要模型,並且最大的問題是等待它們下載,請考慮使用數據緩存。許多CI環境都可以爲你緩存模型,並且直到推出新版本的spacy纔會有效。

+0

我更喜歡不嘲笑像spacy這樣的關鍵部分,這樣我們的測試就可以儘可能的逼真和'整合'。然而,正如你所說的,我們現在使用的CI(Circle CI)允許緩存模型。所以下載時間現在好多了。謝謝! – Rajhans