วิธีการใช้การทำนายลำดับแบบ "หนึ่งต่อหลายคน" และ "หลายต่อหลายคน" ใน Keras อย่างไร
ฉันพยายามตีความความแตกต่างของการเข้ารหัสของ Keras สำหรับการเรียงลำดับแบบหนึ่งต่อหลายคน (เช่นการจัดประเภทของภาพเดี่ยว) และการติดฉลากแบบลำดับต่อเนื่อง (เช่นการจำแนกประเภทของลำดับภาพ) ฉันเห็นรหัสที่แตกต่างกันสองประเภท: ประเภท 1 คือที่ที่ไม่มีการเผยแพร่ TimeDistributed ดังนี้ model=Sequential() model.add(Convolution2D(nb_filters, kernel_size[0], kernel_size[1], border_mode="valid", input_shape=[1, 56,14])) model.add(Activation("relu")) model.add(Convolution2D(nb_filters, kernel_size[0], kernel_size[1])) model.add(Activation("relu")) model.add(MaxPooling2D(pool_size=pool_size)) model.add(Reshape((56*14,))) model.add(Dropout(0.25)) model.add(LSTM(5)) model.add(Dense(50)) model.add(Dense(nb_classes)) model.add(Activation("softmax")) ประเภทที่ 2 คือที่ TimeDistributed ถูกนำไปใช้เช่นนี้ model = Sequential() model.add(InputLayer(input_shape=(5, 224, 224, 3))) model.add(TimeDistributed(Convolution2D(64, (3, 3)))) model.add(TimeDistributed(MaxPooling2D((2,2), strides=(2,2)))) model.add(LSTM(10)) model.add(Dense(3)) …