TypeError: добавленный слой должен быть экземпляром класса Layer - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь выполнить регрессию бинарной логистики c с помощью Keras. Но я получаю typeError

TypeError: The added layer must be an instance of class Layer. Found: {<tensorflow.python.keras.layers.core.Dense object at 0x7f2887e399e8>}

Это мои заголовки:

import numpy as np 
import pandas as pd 
from keras.models import Sequential
from keras.layers import Dense
import keras.utils
#from tensorflow.keras import layers
from keras.optimizers import SGD
from keras import initializers

это мой код:

model=keras.Sequential({
    keras.layers.Dense(1,input_shape=(4,),activation='sigmoid',kernel_initializer='zeros',bias_initializer='zeros')
})
opt=SGD(learning_rate=0.05)
model.compile(optimizer=opt,loss='binary_crossentropy',metrics=['binary_accuracy'])

ошибка, которую он показывает:

TypeError                                 Traceback (most recent call last)
<ipython-input-4-50823f563eb6> in <module>()
      1 model=keras.Sequential({
----> 2     keras.layers.Dense(1,input_shape=(4,),activation='sigmoid',kernel_initializer='zeros',bias_initializer='zeros')
      3 })
      4 opt=SGD(learning_rate=0.05)
      5 model.compile(optimizer=opt,loss='binary_crossentropy',metrics=['binary_accuracy'])

3 frames
/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/sequential.py in add(self, layer)
    180       raise TypeError('The added layer must be '
    181                       'an instance of class Layer. '
--> 182                       'Found: ' + str(layer))
    183 
    184     tf_utils.assert_no_legacy_layers([layer])

TypeError: The added layer must be an instance of class Layer. Found: {<tensorflow.python.keras.layers.core.Dense object at 0x7f2887e399e8>}

Одна вещь, которую я нашел особенной, заключалась в том, что я мог запустить тот же код раньше, но теперь не могу его запустить, есть ли какие-либо обновления, которых я не знакомо или есть ошибка кода?

1 Ответ

0 голосов
/ 06 августа 2020

Попробуйте:

model=Sequential([
    Dense(1,input_shape=(4,),activation='sigmoid',kernel_initializer='zeros',bias_initializer='zeros')
])
opt=SGD(learning_rate=0.05)
model.compile(optimizer=opt,loss='binary_crossentropy',metrics=['binary_accuracy'])
model.summary()
Model: "sequential_3"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
dense_3 (Dense)              (None, 1)                 5         
=================================================================
Total params: 5
Trainable params: 5
Non-trainable params: 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...