def custom1(input):
List1=[]
for i in input:
List1.append(i)
return List1
vectorizer = TfidfVectorizer(tokenizer=custom1)
在拟合我的向量化器后,我将其导出。然而,当我加载我的向量化器时,它提示无法找到模块custom1。有人能帮帮我吗?或者有没有其他方法来加载和保存向量化器?
AttributeError: Can’t get attribute ‘custom1′ on main’
回答:
首先,我不明白你的函数在做什么,因为它只是将一个数组复制到另一个数组中。你能详细说明一下吗?
如果你想使用pickle存储某些东西,只需调用
pickle.dump(vectorizer, open("vectorizer.pickle", "wb"))
将来重新加载它时,你可以使用
vectorizer = pickle.load(open("vectorizer.pickle", "rb"))
要pickle一个函数,我建议使用Cloudpickle
def custom1(input):
return input
pickledfunction = cloudpickle.dumps(custom1)
pickle.loads(pickledfunction)([1,2,3])