python - UnpicklingError:在 utils.file 中找不到 MARK
问题描述
我正面临这个错误:
File "C:\Python27\lib\site-packages\gensim\utils.py", line 1334, in unpickle
return _pickle.load(f, encoding='latin1')
UnpicklingError: could not find 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)
任何人都请帮助我我痛苦了几天......
解决方案
您可能正在尝试加载在 Python 3 中训练和保存的模型,但您使用的是 Python 2。请参阅
推荐阅读
- google-apps-script - 正则表达式中的 Google 表格活动列引用
- cypher - popoto.js 在不选择属性的情况下查询具有相同关系的所有标签
- angular - 出现在页面外的角垫菜单
- python - 加速 Pandas 的 findall 日期语法分析
- java - 我们可以在我们的应用程序中播放我们的 YouTube 频道视频吗?
- excel - Power Query:在列中搜索关键字列表并仅返回具有至少一个匹配项的行的功能
- java - 像MathPow这样的Java方法,在效率上具有迭代和递归的解决方案-作业
- python - Python & Redis - 从 Redis 问题中设置/读取值的 Flask API
- c# - txt文件打不开
- r - 使用 plotly 绘制 3D 表面(使用 akima::interp 进行矩阵变换)