UnpicklingError: не удалось найти MARK в utils.file - PullRequest
0 голосов
/ 19 мая 2018

Я столкнулся с этой ошибкой:

Файл "C: \ Python27 \ lib \ site-packages \ gensim \ utils.py", строка 1334, в unpickle, возвращает _pickle.load (f, encoding = 'latin1')

UnpicklingError: не удалось найти MARK

, в то время как мой код utils.py:

with smart_open(fname, 'rb') as f:
    f.seek(0)
    # Because of loading from S3 load can't be used (missing readline in smart_open)
    if sys.version_info > (3, 0):
        return _pickle.load(f, encoding='latin1')
    else:
        return _pickle.loads(f.read())



def pickle(obj, fname, protocol=2):
    """Pickle object `obj` to file `fname`.

    Parameters
    ----------
    obj : object
        Any python object.
    fname : str
        Path to pickle file.
    protocol : int, optional
        Pickle protocol number, default is 2 to support compatible across python 2.x and 3.x.

    """
    with smart_open(fname, 'wb') as fout:  # 'b' for binary, needed on Windows
        _pickle.dump(obj, fout, protocol=protocol)

Кто-нибудь, пожалуйста, помогите мне, если я страдаю от этого несколько дней .....

1 Ответ

0 голосов
/ 19 мая 2018

Возможно, вы пытаетесь загрузить модель, которая была обучена и сохранена в Python 3, но вы используете Python 2. См.

https://github.com/RaRe-Technologies/gensim/issues/853

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...