TypeError: Objek "NoneType" tidak dapat dipanggil di Google Colab

Sep 12 2020

di bawah paket dan model yang diimpor yang didefinisikan untuk memungkinkan mengakses operasi gedung,

import matplotlib.pyplot as plt
import tensorflow as tf
import numpy as np
import cv2
import os
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.preprocessing import image
from tensorflow.keras.optimizers import RMSpro

Sekarang di sini adalah pengkodean model yang dibuat, saya pikir itu terlalu penting untuk menggambarkan model,

Ubah skala bentuk gambar,

train = ImageDataGenerator(rescale=1/255)
validation = ImageDataGenerator(rescale=1/255)

Memperbaiki direktori dataset dan mengakses data,

train_dataset = train.flow_from_directory(
    'cnn_happy_NotHapp/Basedata/training/',
    target_size=(200,200),
    batch_size = 3,
    class_mode = 'binary')
validation_dataset = validation.flow_from_directory(
    'cnn_happy_NotHapp/Basedata/validation/',
    target_size=(200,200),
    batch_size = 3,
    class_mode = 'binary')

Buat model CNN

model = tf.keras.models.Sequential([tf.keras.layers.Conv2D(16,(3,3), activation='relu', input_shape=(200, 200, 3)),
                                    tf.keras.layers.MaxPool2D(2,2),
                                    ##################################
                                    tf.keras.layers.Conv2D(132,(3,3), activation='relu'),
                                    tf.keras.layers.MaxPool2D(2,2),
                                    ##################################
                                    tf.keras.layers.Conv2D(64,(3,3), activation='relu'),
                                    tf.keras.layers.MaxPool2D(2,2),
                                    ##################################
                                    tf.keras.layers.Flatten(),
                                    ###################################
                                    tf.keras.layers.Dense(512, activation='relu'),
                                    ###################################
                                    tf.keras.layers.Dense(1, activation='sigmoid'),
])

Kompilasi model

model.compile(loss = 'binary_crossentropy',
              optimizer = RMSprop(lr=0.001),
              metrics = ['accuracy '])

Cocokkan modelnya dan harap diperhatikan di sini karena saya menghadapi masalah di sini,

model_fit = model.fit(train_dataset,
                      steps_per_epoch=3,
                      epochs= 10,
                      validation_data = validation_dataset)     #error is here

Di bawah bagian kesalahan, saya meminta semua anggota stactoverflow untuk membaca dengan cermat dan membantu saya untuk memecahkan kesalahan ini,

Epoch 1/10
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-17-85ae786a1bf1> in <module>()
      2                       steps_per_epoch=3,
      3                       epochs= 10,
----> 4                       validation_data = validation_dataset)

3 frames
/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/def_function.py in _call(self, *args, **kwds)
    805       # In this case we have created variables on the first call, so we run the
    806       # defunned version which is guaranteed to never create variables.
--> 807       return self._stateless_fn(*args, **kwds)  # pylint: disable=not-callable
    808     elif self._stateful_fn is not None:
    809       # Release the lock early so that multiple threads can perform the call

TypeError: 'NoneType' object is not callable

Catatan: Saya menderita kesalahan ini, saya tidak dapat menyelesaikannya dan terima kasih sebelumnya yang mencoba menyelesaikannya dan berkomentar di sini untuk membagikan jawabannya

Jawaban

3 ImdadulHaque Oct 07 2020 at 11:32

@AlirezaMoradi mohon perhatiannya disini,

Saya membuat kesalahan di bawah ini,

Di bagian kompilasi model,

model.compile(loss = 'binary_crossentropy',
              optimizer = RMSprop(lr=0.001),
              metrics = ['accuracy '])  #'accuracy ' it will be 'accuracy'

Itu berarti, untuk kesalahan saya, saya menambahkan ruang putih dan setelah menghapusnya diselesaikan.

Saya sibuk itu sebabnya terlambat untuk berbagi solusi dan saya minta maaf terlambat.