0

我正在通过 pyspark 运行带有 systemml SVM 组件的 Flask 应用程序。该应用程序运行了大约一天左右,然后每当使用 SVM 进行预测时它就会开始出错。抛出的错误是:

Caused by: java.io.FileNotFoundException: /tmp/systemml/_p1_10.101.38.73/cache/cache000005058.dat (No such file or directory)

我相信正在发生的事情是 systemml 正在写入 /tmp/ ,然后最终被我正在使用的容器清除。然后,当它进行预测时,它会尝试读取此文件并出错。我的猜测正确吗?解决这个问题的最佳方法是什么?有没有办法告诉 systemml 将其缓存写入何处?

谢谢你提供的所有帮助!

4

1 回答 1

1

是的,在 SystemML master(和即将发布的版本)中,您可以简单地使用ml.setConfigProperty("localtmpdir", "/tmp2/systemml")来修改此缓存目录或任何其他配置。但是,SystemML 0.14 中的 Python MLContext API 尚未公开这一点。

作为一种变通方法,您也可以将SystemML-config.xml带有自定义配置的(参见 systemml/conf 模板)放入安装了 SystemML.jar 的目录中。

于 2017-08-14T08:02:10.090 回答