super(type,obj):obj必须是Keras中类型的实例或子类型

时间:2018-05-08 10:05:47

标签: tensorflow deep-learning keras super

我使用带有Tensorflow后端的Keras从头开始构建微小的yolo v2

我的代码在Keras 2.1.5中运行良好 但是当我更新到Keras 2.1.6时,我遇到了错误

“” kernel_constraint =无,

TypeError:super(type,obj):obj必须是“”类型的实例或子类型 请帮帮我 非常感谢你

import tensorflow as tf
import keras
from keras.preprocessing.image import ImageDataGenerator
from keras.models import Sequential
from keras.layers import Dense, Conv2D, MaxPooling2D, Dropout, Flatten, 
Reshape, LeakyReLU, BatchNormalization 

def yolo():
    model = Sequential()
    model.add(Conv2D(16,(3,3), padding='same',input_shape=(416,416,3),data_format='channels_last'))
    model.add(LeakyReLU(alpha=0.1))
    model.add(MaxPooling2D(pool_size=(2,2)))

    model.add(Conv2D(32,(3,3), padding='same'))
    model.add(BatchNormalization(axis=-1))
    model.add(LeakyReLU(alpha=0.1))
    model.add(MaxPooling2D(pool_size=(2,2)))

    model.add(Conv2D(64,(3,3), padding='same'))
    model.add(BatchNormalization(axis=-1))
    model.add(LeakyReLU(alpha=0.1))
    model.add(MaxPooling2D(pool_size=(2,2)))

    model.add(Conv2D(128,(3,3), padding='same'))
    model.add(BatchNormalization(axis=-1))
    model.add(LeakyReLU(alpha=0.1))
    model.add(MaxPooling2D(pool_size=(2,2)))

    model.add(Conv2D(128,(3,3), padding='same'))
    model.add(BatchNormalization(axis=-1))
    model.add(LeakyReLU(alpha=0.1))
    model.add(MaxPooling2D(pool_size=(2,2)))

    model.add(Conv2D(12,(1,1), padding='same'))
    model.add(BatchNormalization(axis=-1))
    model.add(LeakyReLU(alpha=0.1))

    model.add(Reshape((13,13,2,6)))
    return model

model = yolo()
model.summary()

1 个答案:

答案 0 :(得分:2)

这可能是由于更新后未重新启动python内核而导致的。

相关问题