ImportError:没有名为' keras_contrib'

时间:2018-04-12 08:08:08

标签: python

我正在尝试使用下面的import命令导入Keras lib代码以执行CRF,但是错误会增加为标题。请分享解决方案。

用于执行的命令是

from keras_contrib.layers import CRF
  

追踪(最近一次呼叫最后一次):

     

文件"",第1行,in      来自keras_contrib.layers导入CRF

     

ImportError:没有名为' keras_contrib'

的模块

5 个答案:

答案 0 :(得分:2)

此错误意味着Python无法在Python路径定义的某个目录中找到该模块。该模块未安装或安装在另一个目录中。

如果未安装,请参阅https://github.com/keras-team/keras-contrib了解安装说明。

如果已安装但未找到,则很可能需要将安装它的目录添加到Python路径中。您可以通过检查变量sys.path(例如python -c 'import sys; print sys.path')来了解当前的Python路径。您可能需要在运行脚本之前通过设置环境变量PYTHONPATH将另一个目录添加到路径中,但还有其他选项。有关见解,请参阅PYTHONPATH vs. sys.path

答案 1 :(得分:2)

经过一段时间的努力,我非常愿意清楚这个问题,所以我搜索了一会儿,然后想出来并进行了测试。

通过指定python版本创建新的conda env时,它将使用conda_root_python版本。如果你没有安装 pip 包,并尝试在你创建的conda env下使用pip,它将只运行conda_root_pip并在root site_packages中安装包。

我知道在您创建的conda环境中安装python包 的三种方法。 为了更好的解释,我们使用相同的conda根环境的python版本创建一个conda env。

conda create -n myenv python

予。其中一位官员建议,使用 conda 命令为指定的conda环境安装包,

conda install -n myenv tensorflow

II。另一个官方建议,进入你指定的环境并运行conda install

source activate myenv
conda install tensorflow

以上两种方式您不需要安装额外的软件包,如pip和其他与pip相关的软件包。

III。对于那些真正想要 pip 的人,只是因为习惯了。 安装pip包(就像上面两种方式一样)。

conda install -n myenv pip

source active myenv
conda install pip

然后在你的环境中进行pip安装

pip install tensorflow

--------上面的新编辑15.April.2018 --------------

只是为了更清楚。

如果您在anaconda环境下工作,您还应该在该环境中安装所需的所有模块和IDE。

这里我只举一个anaconda env flow的例子:

conda create --name=my_conda_env python=2.7  #create an environment

activate my_conda_env #get into that env
pip install numpy     #install packages you need
...
pip install keras_contrib
pip install spyder   #install IDE

Getting Started with conda

---------

尝试在root中安装

  1. 激活root
  2. pip install keras_conrib
  3. 返回 tensorflow
  4. 启动你的spyder并再试一次
  5. 也许这是你的问题 Module installed on Conda, but gives error on importing in Spyder (Python IDE)

    -----------------以上新答案

    看来你是在conda环境下,env-name是“tensorflow”,所以尝试启动python并再次尝试导入。说清楚

    1. 确保 C:\ Users>
    2. 前面有(tensorflow)
    3. 键入 python 以启动python
    4. 导入keras_contrib ,看看你的评论中是否有anaconda env(tensorflow)中的keras_contrib,它应该是
    5. 来自keras_conrib.layers的
    6. 导入CRF (crf或CRF?只是尝试)
    7. 如果你在env“tensorflow”中安装了keras_contrib,也应该启动python并在同一个环境中执行你的工作,对于新的环境,你必须再次安装它。

      对于新手来说,就像我一样玩蟒蛇一段时间后仍然不熟悉anaconda,我希望你没有拿出来。如下:

      我曾经认为我的 anaconda env 已经在python中(实际上还没有),所以我只是输入 来自keras_contrib.layers导入CRF 当我看到(tensorflow)C:/ Users> 这实际上是错误的

      如上所述,正确的方法是进入python(第2步)或ipython或jupyter只是为了测试你是否得到了包。

      ---------------------以下是旧答案

      我认为您将 keras keras_contrib 混淆了。 它们是两个不同的模块。 尝试pip install keras_contrib或使用其他方式安装 keras_contrib

答案 2 :(得分:1)

只需运行:

conda install git+https://www.github.com/keras-team/keras-contrib.git

答案 3 :(得分:0)

简单

(sudo) pip install git+https://www.github.com/keras-team/keras-contrib.git
installation instructions中提到的

帮了我大忙。

答案 4 :(得分:0)

如果您尝试使用git cloning和setup.py安装tensorflow-keras版本或什至是keras版本,并安装并收到上述错误,则可能需要使用以下命令将keras-contrib文件夹的路径添加到系统路径中-

import sys sys.path.append('<remaining_path>/keras_contrib')