pickled-python机器学习模型使用硬编码路径,而不是';t在其他机器上运行-怎么办?

pickled-python机器学习模型使用硬编码路径,而不是';t在其他机器上运行-怎么办?,python,amazon-web-services,machine-learning,pickle,Python,Amazon Web Services,Machine Learning,Pickle,我使用AutoGluon在计算机上本地创建ML模型。 现在我想通过AWS部署它们,但我意识到在该过程中创建的所有pickle文件都使用硬编码的路径引用来引用其他pickle文件: /home/myname/Desktop/ETC\u PATH/autoglion/ 我使用cloudpickle.dump(predictor,open('FINAL_MODEL.pkl','wb'))对最终的集成模型进行pickle处理,但AutoGlion创建了许多单独模型的其他pickle文件,然后将其引用为/

我使用AutoGluon在计算机上本地创建ML模型。 现在我想通过AWS部署它们,但我意识到在该过程中创建的所有pickle文件都使用硬编码的路径引用来引用其他pickle文件:

/home/myname/Desktop/ETC\u PATH/autoglion/

我使用
cloudpickle.dump(predictor,open('FINAL_MODEL.pkl','wb'))
对最终的集成模型进行pickle处理,但AutoGlion创建了许多单独模型的其他pickle文件,然后将其引用为
/home/myname/Desktop/ETC\u PATH/autoglion/models/
/home/myname/Desktop/ETC\u PATH/autoglion/models/specific\u model/
等等

如何实现所有绝对路径都被相对路径替换,如
root/autoglion/which_PATH
,其中root可以设置为任意值,具体取决于模型稍后保存的位置

任何指示都会有帮助


编辑:我确信我找到了问题。如果不加载FINAL_MODEL.pkl(这似乎是硬编码路径),而是使用AutoGlion的
predictor=task.load(MODEL_dir)
它应该正确地找到所有依赖项,无论AutoGlion文件夹作为一个整体是否被移动

编辑:这解决了问题:如果我不加载FINAL_MODEL.pkl(似乎是硬编码路径),而是使用AutoGlion的
predictor=task.load(MODEL_dir)
它应该正确地找到所有依赖项,无论AutoGlion文件夹是否整体移动

请将该编辑移到一个答案(如果可行的话)。