原始错误信息:

AttributeError: Can't get attribute '_unpickle_timestamp' on <module 'pandas._libs.tslibs.timestamps' from '/home/***/.virtualenvs/api/lib/python3.8/site-packages/pandas/_libs/tslibs/timestamps.cpython-38-x86_64-linux-gnu.so'>

原因:

        中文意思是pandas._libs.tslibs.timestamps缺少属性_unpickle_timestamp。这个错误是在本地序列化保存模型之后,需要在服务器的环境中加载进行测试,在load的时候报错。是因为在不同的环境中,pandas的版本不一致导致。序列化与反序列化的过程中,pandas的版本要保持一直,否侧就会出现上述错误。

解决办法:

        这个问题已经找到解决办法就简单了,重新安装本地或服务器一方的pandas使得版本一直就OK。我的本地的版本是1.3.3,服务器的版本是1.1.5。重装本地的版本需要重新保存模型,或许还需要重新训练模型,由于我训练模型需要一天一夜,所以选择了更新服务器上的pandas至1.3.3,问题就解决了。相关命令:

pip list  # 查看安装库列表
pip uninstall pandas  # 卸载pandas
pip install pandas==1.3.3  # 安装pandas

Logo

更多推荐