![](/img/trans.png)
[英]on Keras with Tensorflow backend, fitting a LSTM and some dense layers in parallel on different fractions of input
[英]How to take input parallel layers in keras
我正在嘗試構建一個 model 用於對 12 導聯心電圖信號進行分類。 我想要這樣,每條線索首先經過不同的 conv1D 層,然后我想將它們全部連接起來。 我不知道如何在將輸入提供給 model 的同時拆分輸入。 這是我嘗試過的,但得到了錯誤:
input = keras.Input(shape=(1000, 12))
conv1=(layers.Conv1D(32,(7),activation='relu'))
conv1=conv1(input[:,:,0])
conv2=(layers.Conv1D(32,(7),activation='relu'))
conv2=conv2(input[:,:,1])
conv3=(layers.Conv1D(32,(7),activation='relu'))
conv3=conv3(input[:,:,2])
conv4=(layers.Conv1D(32,(7),activation='relu'))
conv4=conv4(input[:,:,3])
conv5=(layers.Conv1D(32,(7),activation='relu'))
conv5=conv5(input[:,:,4])
conv6=(layers.Conv1D(32,(7),activation='relu'))
conv6=conv6(input[:,:,5])
conv7=(layers.Conv1D(32,(7),activation='relu'))
conv7=conv7(input[:,:,6])
conv8=(layers.Conv1D(32,(7),activation='relu'))
conv8=conv8(input[:,:,7])
conv9=(layers.Conv1D(32,(7),activation='relu'))
conv9=conv9(input[:,:,8])
conv10=(layers.Conv1D(32,(7),activation='relu'))
conv10=conv10(input[:,:,9])
conv11=(layers.Conv1D(32,(7),activation='relu'))
conv11=conv11(input[:,:,10])
conv12=(layers.Conv1D(32,(7),activation='relu'))
conv12=conv12(input[:,:,11])
conv13=tf.keras.layers.concatenate([conv1,conv2,conv3,conv4,conv5,conv6,conv7,conv8,conv9,conv10,conv11,conv12], axis=2)
錯誤說:
ValueError: Input 0 of layer conv1d_6 is incompatible with the layer: expected ndim=3, found ndim=2. Full shape received: [None, 1000]
誰能幫我解決這個問題?
錯誤消息解釋了錯誤, input[:,:,11]
將張量從 3 維折疊到 2 維,因此您需要使用input[:,:,11:12]
或tf.expand_dims(input[:,:,11], axis=-1)
以保留最后一個維度。
import tensorflow as tf
from tensorflow.keras.layers import Conv1D
n_layers = 12
n_filters = 32
k = 7
activation_fn = 'relu'
input = tf.keras.Input(shape=(1000, n_layers))
layers = {
f'conv{i}': Conv1D(n_filters, (k), activation=activation_fn) for i in range(n_layers)
}
channels = [layers[f'conv{i}'](input[:,:,i:i+1]) for i in range(n_layers)]
convcat = tf.keras.layers.concatenate(channels, axis=2)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.