1

Inserted keras libraries and packages are below,

import keras
from keras.models import Sequential
from keras.layers.convolutional import Conv2D
from keras.layers import Dense, Flatten, MaxPooling2D
from keras.utils import np_utils

Initialize the CNN models

classifier = Sequential()

#1st Step:- Convolution

classifier.add(Conv2D(32, 3, 3, input_shape=(64,64,3), activation='relu'))

#2nd Step:- Pooling

classifier.add(MaxPooling2D(pool_size = (2,2) ))

#3rd Step:- Flattening

classifier.add(Flatten())

#full connection

classifier.add(Dense(output_dim = 128, activation='relu'))   #Here show the error
classifier.add(Dense(output_dim = 1, activation='sigmoid'))

#compiling the CNN

classifier.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

Below the error,

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-9-3df4f496ff43> in <module>()
      1 #full connection
----> 2 classifier.add(Dense(output_dim = 128, activation='relu'))
      3 classifier.add(Dense(output_dim = 1, activation='sigmoid'))
      4 
      5 #compiling the CNN

TypeError: __init__() missing 1 required positional argument: 'units'

Note: Need help, so please help me.

  • `units` is a required argument when you make a Dense layer. This is clear in the documentation. What do you not understand? – Prune Sep 11 '20 at 03:52

1 Answers1

2

You are passing the wrong parameters, as the error states you probably wanted to write:

classifier.add(Dense(units = 128, activation='relu'))   
classifier.add(Dense(units = 1, activation='sigmoid'))
Federico A.
  • 256
  • 2
  • 8