本来能跑通但装了XGBoost后报错:NotImplementedError: Cannot convert a symbolic Tensor (lstm/strided_slice:0) to a numpy array.是怎么回事
时间: 2024-03-02 16:48:29 浏览: 151
xgboost 安装xgboost失败时所需的插件
5星 · 资源好评率100%
这个错误通常是由于尝试将一个TensorFlow符号张量转换为NumPy数组引起的。这通常发生在使用TensorFlow 2.x版本的动态图模式(Eager Execution)时,因为在动态图模式下,TensorFlow张量可以在Python对象和TensorFlow操作之间自由转换。
XGBoost依赖于NumPy,并且可能会更改TensorFlow的默认行为,从而导致此类错误。为了解决这个问题,您可以尝试在XGBoost之前禁用Eager Execution模式,可以通过以下代码实现:
```python
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
```
这将禁用动态图模式,并将TensorFlow操作转换为静态图模式。这应该可以解决您遇到的问题。
阅读全文