【问题标题】:TypeError: "NoneType" object is not callable in Google ColabTypeError:“NoneType”对象在 Google Colab 中不可调用
【发布时间】:2020-09-11 15:50:02
【问题描述】:

在定义为允许访问构建操作的导入包和模型下方,

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

现在是创建模型的编码,我觉得描述模型太重要了,

重新缩放图像形状,

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

修复数据集目录并访问数据,

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 模型

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

编译模型

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

适合模型,请注意这里,因为我在这里遇到了问题,

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

在错误部分下方,我要求所有 stactoverflow 成员 仔细阅读并帮助我解决此错误,

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

注意:我遇到了这个错误,我无法解决它,非常感谢尝试解决它的人并在此处发表评论以分享答案

【问题讨论】:

  • 这能回答你的问题吗? Python NoneType object is not callable (beginner)
  • 不,我已经看到并试图理解,但我没有。
  • 这似乎在告诉你self._stateless_fn 的值是None,当你把它当作一个函数并尝试调用它时,它不起作用。我不知道这里使用的模块,所以也许这不像我做的那么简单,但是......你的代码根本没有提到_stateless_fn,所以我们没有办法知道为什么是None
  • Imdadul Haque,您的问题现在解决了吗?否则,请您分享完整的代码或 Colab 文件来复制您的问题。谢谢!
  • @ImdadulHaque 你解决了这个问题了吗?这似乎有点新,没有合适的答案。

标签: python tensorflow keras conv-neural-network


【解决方案1】:

@AlirezaMoradi 请关注这里,

我在下面犯了一个错误,

在模型的编译部分,

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

这意味着,对于我的错误,我添加了 空格 并在删除后解决了。

我很忙,所以分享解决方案来晚了,我很抱歉迟到了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-17
    • 2012-04-28
    • 2021-08-18
    • 2016-10-10
    相关资源
    最近更新 更多