Search code examples
pythontensorflowimage-processingpattern-recognition

Python - AttributeError: 'numpy.ndarray' object has no attribute 'input_shapes'


This is related to my question, here.

I now have the updated code as follows:

import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout, Activation, Flatten, Conv2D, MaxPooling2D
import pickle

X = pickle.load(open("X.pickle","rb"))
y = pickle.load(open("y.pickle","rb"))

X = X/255.0;

model = Sequential()
model.add(Conv2D(64,(3,3),input_shape = X.input_shape[:1]))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size = (2,2)))

model.add(Conv2D(64),(3,3))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size = (2,2)))

model.add(Flatten())
model.add(Dense(64))

model.add(Activation("sigmoid"))

model.compile(loss="binary_crossentropy",
              optimizer = "data",
              metrics=['accuracy'])
model.fit(X,y,batch_size = 32, validation_split = 0.1)

when I am trying to train my program, I am getting this error, but the actual result will start training my data.

Traceback (most recent call last):
  File "intermediate.py", line 12, in <module>
    model.add(Conv2D(64,(3,3),input_shape = X.input_shapes[:1]))
AttributeError: 'numpy.ndarray' object has no attribute 'input_shapes'

How can I solve this issue?

Thanks.


Solution

  • use X.shape instead of X.input_shapes