TypeError: "NoneType" nesnesi Google Colab'da çağrılamaz

Sep 12 2020

Bina operasyonlarına erişime izin verecek şekilde tanımlanan ithal paket ve modellerin altında,

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

Şimdi işte oluşturulan modelin kodlaması, bence modeli tanımlamak için çok önemli,

Görüntü şekillerini yeniden ölçeklendirin,

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

Veri kümesi dizini düzeltildi ve verilere erişim sağlandı,

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')

CNN modelini oluşturun

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'),
])

Modeli derleyin

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

Modeli takın ve lütfen burada fark ettim çünkü burada sorunla karşılaştım,

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

Hata bölümünün altında, tüm stactoverflow üyelerinden dikkatlice okumalarını ve bu hatayı çözmem için bana yardımcı olmalarını istiyorum.

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

Not: Bu hatadan muzdaripim, çözemiyorum ve ileri seviye teşekkürler, çözmeye çalışan ve cevabı paylaşmak için buraya yorum yapan

Yanıtlar

3 ImdadulHaque Oct 07 2020 at 11:32

@AlirezaMoradi lütfen endişelenmek için burada,

Aşağıda bir hata yaptım

Modelin derleme bölümünde,

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

Bu, hatalarım için boşluk ekledim ve kaldırdıktan sonra çözüldü demektir.

Meşguldüm, bu yüzden çözümü paylaşmak için geç ve geç kaldığım için üzgünüm.