我曾尝试构建CNN 1D,但口译员说:
AttributeError:“ ProgbarLogger”对象没有属性“ log_values”
这是代码段:
model = Sequential()
model.add(Conv1D(200, 20, activation='relu', padding='same',input_shape=(1154,1024))
print(model.summary())
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
history=model.fit(X, y,batch_size=10, epochs=25,validation_split=0.7)
这是错误:
Layer (type) Output Shape Param #
=================================================================
conv1d_1 (Conv1D) (None, 1154, 200) 4096200
=================================================================
Total params: 4,096,200
Trainable params: 4,096,200
Non-trainable params: 0
_________________________________________________________________
None
Train on 0 samples, validate on 1 samples
Epoch 1/25
Traceback (most recent call last):
File "binary_classification.py", line 59, in <module>
history=model.fit(X, y,batch_size=10, epochs=25,validation_split=0.7)
File "/home/isabella/.local/lib/python3.6/site-packages/keras/engine/training.py",
line 1039, in fit
validation_steps=validation_steps)
File "/home/isabella/.local/lib/python3.6/site-packages/keras/engine/training_arrays.py",
line 217, in fit_loop
callbacks.on_epoch_end(epoch, epoch_logs)
File "/home/isabella/.local/lib/python3.6/site-packages/keras/callbacks.py",
line 79, in on_epoch_end
callback.on_epoch_end(epoch, logs)
File "/home/isabella/.local/lib/python3.6/site-packages/keras/callbacks.py",
line 338, in on_epoch_end
self.progbar.update(self.seen, self.log_values)
AttributeError: 'ProgbarLogger' object has no attribute 'log_values'
X shape is :(1,1154,1024),
y shape is :(1,1154, 1 )
答案 0 :(得分:4)
如果仔细看,您会在堆栈跟踪输出之前看到以下行:
Train on 0 samples, validate on 1 samples
没有培训数据!为什么?这是因为您已将validation_split
设置为0.7
,因此X
(和y
)中的头70%的数据点被留作验证,其余30%用于训练。 X
中的数据点数量可能少于4,因此其30%会少于1,这意味着仍有零数据点需要训练。使用4个以上的数据点或删除validation_split
自变量(或降低自变量,以便至少保留一个样本进行训练)。