【问题标题】:Keras neural net assertion errorKeras 神经网络断言错误
【发布时间】:2017-07-08 17:24:03
【问题描述】:

我遇到了 Keras 断言错误的问题,想问是否有人可以帮忙:

我之前使用 2D 卷积运行过 Keras nn,但从未见过此错误。

#-----------------BEGIN FUNCTION 1-----------------
def create_model(input_size1, num_labels, conv1_num_filters, conv1_filter_size1, conv2_num_filters, conv2_filter_size1, pool1_1, dropout1, pool2_1, dropout2, neurons1, reg_l2, neurons2, reg_l2_2):

    model = Sequential()
    model.add(Convolution1D(conv1_num_filters, conv1_filter_size1, init = 'glorot_uniform', border_mode='same',
       input_shape=(1, input_size1),
       activation = 'relu'))
    model.add(MaxPooling1D(pool_length=(pool1_1),border_mode='same'))
    model.add(BatchNormalization(epsilon=0.001, mode=0, axis=1, momentum=0.99, weights=None, beta_init='zero', gamma_init='one', gamma_regularizer=None, beta_regularizer=None))
    model.add(Convolution1D(conv2_num_filters, conv2_filter_size1, init = 'glorot_uniform', activation = 'relu', border_mode='same'))
    model.add(MaxPooling1D(pool_length=(pool1_1),border_mode='same'))
    model.add(Dropout(dropout1))
    model.add(Flatten())
    model.add(BatchNormalization(epsilon=0.001, mode=0, axis=1, momentum=0.99, weights=None, beta_init='zero', gamma_init='one', gamma_regularizer=None, beta_regularizer=None))
    model.add(Dense(neurons1, W_regularizer=l2(reg_l2), init = 'glorot_uniform', activation = 'relu'))
    model.add(Dropout(dropout2))
    model.add(BatchNormalization(epsilon=0.001, mode=0, axis=1, momentum=0.99, weights=None, beta_init='zero', gamma_init='one', gamma_regularizer=None, beta_regularizer=None))
    model.add(Dense(neurons2, W_regularizer=l2(reg_l2_2), init = 'glorot_uniform', activation = 'relu'))
    model.add(Dense(num_labels, init = 'glorot_uniform', activation = 'tanh'))

    sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True) #0.01
    model.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy'])

    print(model.summary())
    #exit()

    return model
#-----------------END FUNCTION 1-----------------

model2 = create_model(input_size1, num_labels, conv1_num_filters,
                         conv1_filter_size1, conv2_num_filters,
                         conv2_filter_size1, pool1_1, dropout1, pool2_1,
                         dropout2, neurons1, reg_l2, neurons2, reg_l2_2);

x_train_ex = np.expand_dims(x_train, 1)
x_test_ex = np.expand_dims(x_test, 1)

from keras.utils.np_utils import to_categorical
y_train_ex = to_categorical(y_train, len(np.unique(y_train)))
y_test_ex = to_categorical(y_test, len(np.unique(y_train)))

model2.fit(x_train_ex, y_train_ex, batch_size=batch_size, nb_epoch=nb_epoch,
           verbose=1, validation_data=(x_test_ex, y_test_ex)

)

我收到一条错误消息:

---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-41-c4780c441db5> in <module>()
     26 
     27 model2.fit(x_train_ex, y_train_ex, batch_size=batch_size, nb_epoch=nb_epoch,
---> 28            verbose=1, validation_data=(x_test_ex, y_test_ex))
     29 #print(model2.score(x_train_ex, y_train))
     30 #print(model2.score(x_test_ex, y_test))

.........(Lots more error messages)


 AssertionError: 

非常感谢!

【问题讨论】:

  • 不要编辑错误信息,完整粘贴。
  • 对不起,以后会做的。

标签: python machine-learning scikit-learn neural-network keras


【解决方案1】:

当我从 Keras 1.1.1 升级到 1.2.0 时,问题似乎已经消失。可能是版本问题。

【讨论】:

    猜你喜欢
    • 2019-08-06
    • 2020-03-16
    • 1970-01-01
    • 1970-01-01
    • 2017-11-20
    • 2021-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多