Python LightGBM jupyter以外的意外行为

Python LightGBM jupyter以外的意外行为,python,jupyter-notebook,lightgbm,Python,Jupyter Notebook,Lightgbm,我有一个奇怪的想法,但当我使用LightGBM模型来计算一些预测时 我在jupyter内部训练了一个LightGBM模型,并使用pickle将其转储到一个文件中。此模型用于外部类 我的问题是,当我从jupyter之外的这个外部类调用我的prediction函数时,它总是预测0.5的输出(在所有行上)。当我在jupyter内部使用完全相同的类时,我得到了预期的输出。在这两种情况下,使用完全相同的模型和完全相同的数据 如何解释这种行为,如何在jupyter之外获得相同的结果?这和我在jupyter里

我有一个奇怪的想法,但当我使用LightGBM模型来计算一些预测时

我在jupyter内部训练了一个LightGBM模型,并使用pickle将其转储到一个文件中。此模型用于外部类

我的问题是,当我从jupyter之外的这个外部类调用我的prediction函数时,它总是预测0.5的输出(在所有行上)。当我在jupyter内部使用完全相同的类时,我得到了预期的输出。在这两种情况下,使用完全相同的模型和完全相同的数据

如何解释这种行为,如何在jupyter之外获得相同的结果?这和我在jupyter里面训练模特有关吗?(我无法想象为什么会这样,但atm不知道这个bug是从哪里来的)

编辑:已用版本: 在两次使用相同的lgb版本(2.2.3)时,我还检查了python版本(3.6.8)和所有系统路径(sys.path输出)。除了“/home/xxx/.local/lib/python3.6/site packages/IPython/extensions”和“/home/xxx/.IPython”之外,路径是相等的


编辑2:我复制了jupyter中使用的代码,并将其作为普通python文件运行。这种方式制作的模型现在在jupyter内部和外部都能工作。我仍然想知道为什么会产生这个bug。

这不可能是jupyter的问题,因为jupyter只是一个与python通信的接口。问题可能是您正在使用不同的python环境和不同版本的lgbm。。。检查jupyter和python终端上的
import lightgbm as lgb
lgb.\uuuu版本\uuuu
,确保它们相同(或者检查这些版本之间是否有一些重大更改)

感谢您的回复。在两次使用相同的lgb版本(2.2.3)时,我还检查了python版本(3.6.8)和所有系统路径(sys.path输出)。除了“/home/xxx/.local/lib/python3.6/site packages/IPython/extensions”和“/home/xxx/.IPython”之外,路径是相等的。