如何可以重塑从形状(1,1,10)Keras张量来塑造(10),而无需指定初始输入形状? 使用平铺()(作为一个命令)给出重塑Keras张量
<tf.Tensor 'flatten_11/Reshape:0' shape=(?, ?) dtype=float32>
作为输出 并给出了一个错误,而在模型中使用它
model = Sequential()
model.add(Convolution1D(filters=self.nb_filters,
kernel_size=self.n_gram,
padding='valid',
activation='relu',
input_shape=(None,3*self.vecsize)))
model.add(MaxPooling1D(pool_size=3*self.vecsize-self.n_gram+1))
model.add(Flatten())
model.add(Dense(num_categories, activation='softmax'))
它说: 输入到形状“ “Flatten”没有完全定义(got(None,10)。确保将完整的“input_shape”或“batch_input_shape”参数传递给模型中的第一层。
Init IAL输入形状为1×任意维* vecsize,我强烈不希望事先指定的任意尺寸。
使用平铺((1,1,10)),而不是仅仅拼合()也产生一个错误:
类型错误:__init __()需要1个位置参数,但2分别给予
所以我应该怎么做才能使它工作?
给出的消息,这听起来你的输出'(无,10)'已经正是你所需要的'Dense'形状。似乎没有重塑是必要的。 –