第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從 joblib 文件加載的 TfidfVectorizer 模型僅在同一會話中訓(xùn)練時才有效

從 joblib 文件加載的 TfidfVectorizer 模型僅在同一會話中訓(xùn)練時才有效

www說 2023-08-22 10:38:50
sklearn...TfidfVectorizer僅當(dāng)分析器返回對象列表時,在訓(xùn)練后立即應(yīng)用它才有效nltk.tree.Tree。這是一個謎,因為模型在應(yīng)用之前總是從文件加載。與在該會話中進行訓(xùn)練時相比,在自己的會話開始時加載和應(yīng)用模型文件時,調(diào)試顯示模型文件沒有任何錯誤或不同。分析儀在這兩種情況下均適用并正常工作。下面是一個幫助重現(xiàn)這種神秘行為的腳本:import joblibimport numpy as npfrom nltk import Treefrom sklearn.feature_extraction.text import TfidfVectorizerdef lexicalized_production_analyzer(sentence_trees):    productions_per_sentence = [tree.productions() for tree in sentence_trees]    return np.concatenate(productions_per_sentence)def train(corpus):    model = TfidfVectorizer(analyzer=lexicalized_production_analyzer)    model.fit(corpus)    joblib.dump(model, "model.joblib")def apply(corpus):    model = joblib.load("model.joblib")    result = model.transform(corpus)    return result# exmaple datatrees = [Tree('ROOT', [Tree('FRAG', [Tree('S', [Tree('VP', [Tree('VBG', ['arkling']), Tree('NP', [Tree('NP', [Tree('NNS', ['dots'])]), Tree('VP', [Tree('VBG', ['nestling']), Tree('PP', [Tree('IN', ['in']), Tree('NP', [Tree('DT', ['the']), Tree('NN', ['grass'])])])])])])]), Tree(',', [',']), Tree('VP', [Tree('VBG', ['winking']), Tree('CC', ['and']), Tree('VP', [Tree('VBG', ['glimmering']), Tree('PP', [Tree('IN', ['like']), Tree('NP', [Tree('NNS', ['jewels'])])])])]), Tree('.', ['.'])])]), Tree('ROOT', [Tree('FRAG', [Tree('NP', [Tree('NP', [Tree('NNP', ['Rose']), Tree('NNS', ['petals'])]), Tree('NP', [Tree('NP', [Tree('ADVP', [Tree('RB', ['perhaps'])]), Tree(',', [',']), Tree('CC', ['or']), Tree('NP', [Tree('DT', ['some'])]), Tree('NML', [Tree('NN', ['kind'])])]), Tree('PP', [Tree('IN', ['of']), Tree('NP', [Tree('NN', ['confetti'])])])])]), Tree('.', ['.'])])])]corpus = [trees, trees, trees]首先訓(xùn)練模型并保存model.joblib文件。train(corpus)result = apply(corpus)print("number of elements in results: " + str(result.getnnz()))print("shape of results: " + str(result.shape))我們打印結(jié)果數(shù).getnnz()以表明該模型正在處理 120 個元素:number of elements in results: 120shape of results: (3, 40)但是該模型兩次都是從文件加載的,并且沒有全局變量(我知道),因此我們無法想到為什么它在一種情況下有效而在另一種情況下不起作用。
查看完整描述

1 回答

?
GCT1015

TA貢獻(xiàn)1827條經(jīng)驗 獲得超4個贊

Pythonhash函數(shù)在運行之間是不確定的,這意味著該值在運行之間可能不一致。因此,哈希值被腌制,joblib而不是按應(yīng)有的方式重新計算。所以這看起來像是 中的一個錯誤nltk。這會導(dǎo)致模型在重新加載時看不到產(chǎn)生式規(guī)則,因為散列不匹配,因此就好像產(chǎn)生式規(guī)則從未存儲在詞匯中一樣。

相當(dāng)棘手!

在修復(fù)此特定問題之前nltk,在運行訓(xùn)練和測試腳本之前設(shè)置PYTHONHASHSEED將強制哈希每次都相同。

PYTHONHASHSEED=0?python?script.py


查看完整回答
反對 回復(fù) 2023-08-22
  • 1 回答
  • 0 關(guān)注
  • 171 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號