Keras:如何将张量整形为所需的尺寸?

时间:2020-10-22 06:22:41

标签: python tensorflow keras tf.keras

这是我用于Char嵌入的代码段。最终,我将其与尺寸为[?,100]的单词嵌入连接起来。 我希望将此char嵌入类似的维度,但无法实现。 我尝试使用Reshape,但没有工作,它给出了3级向量,我尝试使用Flatten()给出了(?,?)作为输出尺寸。

如何解决此问题?

head
 ↓
111 → 222 → 333
             ↑
           tail

错误

input_data = Input(shape=(64,1),name='input')
inner = Conv1D(32, (3), padding='same', name='conv1', kernel_initializer='he_normal')(input_data)
inner = BatchNormalization()(inner)
inner = Activation('relu')(inner)            
inner = MaxPooling1D(pool_size=(2), name='max1')(inner)            
inner = Conv1D(64, (3), padding='same', name='conv2', kernel_initializer='he_normal')(inner)            
inner = BatchNormalization()(inner)           
inner = Activation('relu')(inner)        
inner = MaxPooling1D(pool_size=(2),name='max2')(inner)
inner = Dropout(0.3)(inner)
inner = Conv1D(128, (3), padding='same', name='conv3', kernel_initializer='he_normal')(inner)
inner = BatchNormalization()(inner)
inner = Activation('relu')(inner)
inner = MaxPooling1D(pool_size=(1), name='max3')(inner)
inner = Dense(64, activation='relu', kernel_initializer='he_normal', name='dense1')(inner)
output = Dropout(0.3)(inner)

在此处连接令牌向量和char向量

ValueError: Shape must be rank 3 but is rank 2 for 'concatenate_token_and_character_vectors/token_lstm_input' (op: 'ConcatV2') with input shapes: [?,16,64], [?,100], [].

如果您需要任何其他信息,请在下面留言

0 个答案:

没有答案
相关问题