web-dev-qa-db-ja.com

Tensorflowでtf.kerasからkerasをインポートするにはどうすればよいですか?

import tensorflow as tf
import tensorflow 

from tensorflow import keras
from keras.layers import Dense

以下のエラーが表示されます

from keras.layers import Input, Dense
Traceback (most recent call last):

  File "<ipython-input-6-b5da44e251a5>", line 1, in <module>
    from keras.layers import Input, Dense

ModuleNotFoundError: No module named 'keras'

これをどうやって解決しますか?

注:Tensorflowバージョン1.4を使用しています

18
GeorgeOfTheRF

次のように、テンソルフローのkerasモジュールを使用します。

import tensorflow as tf

クラスをインポートする

from tensorflow.python.keras.layers import Input, Dense

または直接使用する

dense = tf.keras.layers.Dense(...)

34
Mihail Burduja

from tensorflow.python import kerasを試してください

これにより、keras依存コードを1行変更するだけでテンソルフローに簡単に変更できます。

from tensorflow.contrib import kerasを試すこともできます。これはtensorflow 1.3で動作します

3
Ramesh Kamath

これらのライブラリのインポートでも同様の問題があります。 Anaconda Navigator 1.8.2とSpyder 3.2.8を使用しています。

私のコードは次のとおりです。

import matplotlib.pyplot as plt
import tensorflow as tf
import numpy as np
import math

#from tf.keras.models import Sequential  # This does not work!
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import InputLayer, Input
from tensorflow.python.keras.layers import Reshape, MaxPooling2D
from tensorflow.python.keras.layers import Conv2D, Dense, Flatten

次のエラーが表示されます。

from tensorflow.python.keras.models import Sequential

ModuleNotFoundError: No module named 'tensorflow.python.keras'

私はこの消去tensorflow.pythonを解決します

このコードで私はエラーを解決します:

import matplotlib.pyplot as plt
import tensorflow as tf
import numpy as np
import math

#from tf.keras.models import Sequential  # This does not work!
from keras.models import Sequential
from keras.layers import InputLayer, Input
from keras.layers import Reshape, MaxPooling2D
from keras.layers import Conv2D, Dense, Flatten
0
pfRodenas

簡単にするために、kerasとtf.kerasの2つのバージョンのコードを使用します。ここでの例は、異なるレイヤーを持つ単純なニューラルネットワークモデルです。

InKeras(v2.1.5)

from keras.models import Sequential
from keras.layers import Dense

def get_model(n_x, n_h1, n_h2):
    model = Sequential()
    model.add(Dense(n_h1, input_dim=n_x, activation='relu'))
    model.add(Dense(n_h2, activation='relu'))
    model.add(Dropout(0.5))
    model.add(Dense(4, activation='softmax'))
    model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
    print(model.summary())
    return model

Intf.keras(v1.9)

import tensorflow as tf

def get_model(n_x, n_h1, n_h2):
    model = tf.keras.Sequential()
    model.add(tf.keras.layers.Dense(n_h1, input_dim=n_x, activation='relu'))
    model.add(tf.keras.layers.Dense(n_h2, activation='relu'))
    model.add(tf.keras.layers.Dropout(0.5))
    model.add(tf.keras.layers.Dense(4, activation='softmax'))
    model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
    print(model.summary())

    return model

または、上記の方法の代わりに次の方法でインポートできます

from tensorflow.keras.layers import Dense

tf.keras の公式ドキュメント

注:TensorFlowバージョンは1.9です

0
Ruthwik