很多原因会引发这个“错误”
这里列举一个由封装对象错误引发的原因
将所有层封装需要所有的封装单位是Layer而非Tensor,在字符包埋后,由于Conv2D需要提供channel维度,所以一开始使用reshape命令使tensor维度增加,这个函数使x的属性变为Tensor而非Layer,所以引起封装错误,使用Lambda函数或Reshape 层函数解决,提供简短代码如下:
embedded = embedding_layer(x)
embedded = SpatialDropout1D(0.2)(embedded)
x = embedded
#x = reshape(x, (-1,5,50,1))
x = Lambda(lambda x