Kenny Lee
Kenny Lee

Reputation: 61

How to fix 'tensorflow.keras.layers' has no attribute 'input'

Followings are the string that I am trying to get it but I don't know why I keep getting

tensorflow.keras.layers' has no attribute 'input' can anyone give advice :).

I don't know why even though I have called out the data it keep saying there is no input for keras.

import tensorflow as tf
from tensorflow.keras import layers

from tensorflow.keras import datasets


mnist = datasets.mnist

(train_x, train_y), (test_x, test_y) = mnist.load_data()

inputs = layers.input((28, 28, 1))
net = layers.Conv2D(32, (3, 3), padding ='SAME')(inputs)
net = layers.Activation('relu')(net)
net = layers.Conv2D(32, (3, 3), padding ='SAME')(net)
net = layers.Activation('relu')(net)
net = layers.MaxPooling2D(pool_size=(2, 2))(net)
net = layers.Dropout(0, 25)(net)

net = layers.Conv2D(64, (3, 3), padding ='SAME')(net)
net = layers.Activation('relu')(net)
net = layers.Conv2D(64, (3, 3), padding ='SAME')(net)
net = layers.Activation('relu')(net)
net = layers.MaxPooling2D(pool_size=(2, 2))(net)
net = layers.Dropout(0, 25)(net)

net = layers.Flatten()(net)
net = layers.Dense(512)(net)
net = layers.Activation('relu')(net)
net = layers.Dropout(0, 5)(net)
net = layers.Dense(10)(net)
net = layers.Activation('softmax')(net)

model = tf.keras.Model(inputs=inputs, outputs=net, name='Basic_CNN')

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-23-5b0ca3669e40> in <module>
----> 1 inputs = layers.input((28, 28, 1))
      2 net = layers.Conv2D(32, (3, 3), padding ='SAME')(inputs)
      3 net = layers.Activation('relu')(net)
      4 net = layers.Conv2D(32, (3, 3), padding ='SAME')(net)
      5 net = layers.Activation('relu')(net)

AttributeError: module 'tensorflow.keras.layers' has no attribute 'input'

Upvotes: 1

Views: 1531

Answers (2)

Try this: from tensorflow.keras.layers import Input

Upvotes: 0

user13959036
user13959036

Reputation:

You must use Input Instead of input.
Also what do you mean by net = layers.Dropout(0, 25)(net)?
I think you meant net = layers.Dropout(0.25)(net).

Upvotes: 1

Related Questions