Как хранить и загружать векторизатор TFIdf с помощью pickle? - PullRequest
0 голосов
/ 02 апреля 2020
def custom1(input):
      List1=[] 
    for i in input:
        List1.append(i)
    return List1
vectorizer = TfidfVectorizer(tokenizer=custom1)

После установки моего векторизатора. Однако, я выгружаю его, когда загружаю свой векторизатор, он говорит, что не может найти модуль custom1. Может кто-нибудь, пожалуйста, помогите или есть другой способ загрузить и сохранить векторизатор?

AttributeError: Не удается получить атрибут 'custom1' на главной '

1 Ответ

0 голосов
/ 02 апреля 2020

Сначала я не понимаю, что делает ваша функция, поскольку она только копирует массив в другой. Можете ли вы указать это более подробно?

Если вы хотите сохранить что-либо с помощью pickle, просто позвоните

pickle.dump(vectorizer, open("vectorizer.pickle", "wb"))

и чтобы перезагрузить его в будущем, вы можете использовать

vectorizer = pickle.load(open("vectorizer.pickle", "rb"))

Чтобы выбрать функцию, я бы рекомендовал использовать Cloudpickle

def custom1(input):
  return input

pickledfunction = cloudpickle.dumps(custom1)
pickle.loads(pickledfunction)([1,2,3])
...