【问题标题】:Cannot import Keras from TensorFlow contrib package in Datalab无法从 Datalab 中的 TensorFlow contrib 包中导入 Keras
【发布时间】:2017-07-12 21:42:06
【问题描述】:

我正在尝试从 Datalab 实例中的 TensorFlow contrib 包中导入 Keras(我使用的是 Tensorflow 1.1.0 版本和 Python 2.7)

from tensorflow.contrib.keras.python.keras.regularizers import l1,l2
from tensorflow.contrib.keras.python.keras.models import Sequential, load_model
from tensorflow.contrib.keras.python.keras.layers import Dense, Dropout, Activation
from tensorflow.contrib.keras.python.keras.constraints import max_norm
from tensorflow.contrib.keras.python.keras.optimizers import RMSprop, Adam
from tensorflow.contrib.keras.python.keras.layers.normalization import BatchNormalization

但我收到以下错误:

ImportErrorTraceback (most recent call last)
<ipython-input-52-adf3061b6b33> in <module>()
      1 #from tensorflow.contrib.keras import *
----> 2 from tensorflow.contrib.keras.python.keras.regularizers import l1,l2
      3 from tensorflow.contrib.keras.python.keras.models import Sequential, load_model
      4 from tensorflow.contrib.keras.python.keras.layers import Dense, Dropout, Activation
      5 from tensorflow.contrib.keras.python.keras.constraints import max_norm

/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/keras/__init__.py in <module>()
     24 
     25 # pylint: disable=wildcard-import
---> 26 from tensorflow.contrib.keras.api.keras import *
     27 
     28 try:

/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/keras/api/keras/__init__.py in <module>()
     23 from __future__ import print_function
     24 
---> 25 from tensorflow.contrib.keras.api.keras import activations
     26 from tensorflow.contrib.keras.api.keras import applications
     27 from tensorflow.contrib.keras.api.keras import backend

/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/keras/api/keras/activations/__init__.py in <module>()
     20 
     21 # Activation functions.
---> 22 from tensorflow.contrib.keras.python.keras.activations import elu
     23 from tensorflow.contrib.keras.python.keras.activations import hard_sigmoid
     24 from tensorflow.contrib.keras.python.keras.activations import linear

/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/keras/python/keras/__init__.py in <module>()
     19 from __future__ import print_function
     20 
---> 21 from tensorflow.contrib.keras.python.keras import activations
     22 from tensorflow.contrib.keras.python.keras import applications
     23 from tensorflow.contrib.keras.python.keras import backend

ImportError: cannot import name activations

我尝试将 Tensorflow 升级到 1.2.1 版本,但还是不行。

任何想法为什么我会收到此错误?谢谢!

【问题讨论】:

  • 你的 Keras 版本是多少?你可以找到import keras & keras.__version__
  • 我已经重启了datalab实例,但是keras包不见了。但是,重新启动后,我可以从 contrib 包中导入 keras!另外,我检查了每次启动datalab实例时,我用“!pip install”命令安装在笔记本中的Python包都不见了。
  • 那么,您是否仍然收到错误?
  • 不,我现在没有收到错误
  • 好。您不妨删除问题,以减少混乱。

标签: tensorflow keras google-cloud-datalab


【解决方案1】:

我会回答我自己的问题:似乎每次我重新启动实例时Datalab实例中安装的python包都重置为默认包(我还没有发现为什么会发生这种情况),所以我正在执行改用 1.0.0 tensorflow 版本的代码。我只是在一个单元格中写道:

!pip install tensorflow==1.1.0

然后我重新启动了 Datalab 内核(重新启动会话按钮)。之后,一切正常,我可以从 Tensorflow 的 contrib 包中导入 Keras。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-09
    • 2019-02-12
    • 2020-01-30
    • 2018-04-26
    • 1970-01-01
    • 1970-01-01
    • 2021-08-14
    • 1970-01-01
    相关资源
    最近更新 更多