每当我在终端上运行 tensorflow 时,sklearn 都会发出警告消息
Posted
技术标签:
【中文标题】每当我在终端上运行 tensorflow 时,sklearn 都会发出警告消息【英文标题】:sklearn warning message whenever I run tensorflow on terminal 【发布时间】:2017-11-30 15:54:39 【问题描述】:每次我在终端上运行 tensorflow 文件时,都会在文件运行之前弹出此警告。我检查了我的 sklearn 版本,它是 0.18.1。您如何使此消息不出现?谢谢。
anaconda2/envs/tensorflow/lib/python2.7/site-packages/sklearn/cross_validation.py:44:DeprecationWarning:此模块在 0.18 版中已弃用,取而代之的是 model_selection 模块,其中所有重构的类和函数被移动。另请注意,新的 CV 迭代器的接口与此模块的接口不同。此模块将在 0.20 中删除。 "这个模块将在 0.20 中被移除。", DeprecationWarning)
【问题讨论】:
【参考方案1】:这不是一条错误消息,它只是一个警告,模块 cross_validation
已从 sklearn.cross_validation 传输到 sklearn.model_selection.。这根本不是问题。
如果您仍然渴望修复它,那么您应该找出代码的 sn-p 尝试导入 sklearn.cross_validation
并将其更改为 sklearn.model_selection
。
如果您同时检查sklearn.cross_validation
和sklearn.model_selection
,您会发现它们包含相同的方法。同样,这不是错误。
【讨论】:
我明白这一点。我在我的问题中称其为警告,错误地将其称为标题中的错误。你碰巧知道修复它的代码的 sn-p 吗?每次运行时看到它有点烦人.. 好的。您要么执行 explicitly 或隐式执行,即在引发警告弹出的导入 TensorFlow 模块之一中更改不正确的import
。
谢谢。我只是好奇为什么会突然出现。我以前没有这个警告。由于另一个错误,我卸载并重新安装了 tensorflow,之后开始出现这种情况。我正在做的唯一导入是 import tensorflow as tf.我没有导入 sklearn。我想知道是否有一种方法可以永久修复它,而无需执行您提到的显式或隐式方法..
如果只导入TensorFlow而弹出这个警告,说明import sklearn.cross_validation
写在一个(或一堆)TensorFlow模块中.因此,通过隐式解决问题,我的意思是将该代码行更改为相应模块中的适当行。除了显式方法之外,没有其他方法可以解决此问题。或者您可以一直等到 TensorFlow 更新到新版本,其中修复了这个 import
。以上是关于每当我在终端上运行 tensorflow 时,sklearn 都会发出警告消息的主要内容,如果未能解决你的问题,请参考以下文章
AoE 搭档 TensorFlow Lite ,让终端侧 AI 开发变得更加简单。
我已经安装了 tensorflow(CPU) 并为它创建了环境。我在 anacondaa 版本上运行代码,但运行代码时 spyder shwing 错误