Я создал авто-кодер для связи OFDM. и я получил некоторую ошибку, как я упоминал в названии. Когда я видел другие итоговые структуры, у каждой выходной фигуры есть фигуры, включая (Нет, ~~). Но, в моем резюме автоэнкодера, (Нет) исчез. Это создает какие-либо проблемы?
autoencoder.summary
#
main_input= Input(shape=(2*N_c,),name='main_input')
encoding_x= Dense(2*N_c, activation='linear')(main_input)
# encoding_x_1=Lambda(lambda x:tf.cast(x,tf.complex64))(encoding_x) #이거 뺴고
print(encoding_x)
#channel
csii = making_channel()
print(csii,'1')
padded_csi = Lambda(z_padding)(csii)
print(csii,'2')
reshaped_csi = Lambda(lambda x: tf.reshape(x,(64,)))(padded_csi)
print(csii,'2')
ffted_csi= Lambda(tf.signal.fft)(padded_csi)
ffted_csi_re = Lambda(complex_to_real)(ffted_csi)
ffted_csi_re2 = Lambda(lambda x:tf.reshape(x, (1,2*N_c,)))(ffted_csi_re)
channel_input = Input(shape=(2*N_c,),name='channel_input')
ffted_csi_re3 = Dense(2*N_c, activation='linear')(channel_input)
#ffted_csi_re4 = Lambda(lambda x:tf.cast(x,dtype='complex64'))(ffted_csi_re3) #이거 뺴고
encoding_x1 =tf.concat([encoding_x,ffted_csi_re3],axis=1)
encoding_x2= Dense(3*N_c-20, activation='relu')(encoding_x1)
# encoding_x3= Dense(3*N_c, activation='relu')(encoding_x2)
encoding_x4= Dense(2*N_c, activation='linear')(encoding_x2)
print(encoding_x3)
encoding_x5= BatchNormalization()(encoding_x4)
# print(encoding_x4)
#ifft
encoding_x6 = Lambda(lambda x: tf.reshape(x,(N_c,2,)))(encoding_x5)
encoding_complex = Lambda(real_to_complex)(encoding_x6)
iffted_x = Lambda(iffting)(encoding_complex)
cp_x = Lambda(cp_appending)(iffted_x)#여기서부터
print(cp_x)
#channel
cp_x2 = Lambda(lambda x: tf.reshape(x,(80,1)))(cp_x)
channel_x=Lambda(conv_channel)(cp_x2)
print(channel_x)
channel_y=Lambda(lambda x: x[-N_c:])(channel_x)
print(channel_y)
#fft no precoding
ffted_y = Lambda(ffting)(channel_y)
ffted_y1 = Lambda(lambda x: tf.reshape(x,(N_c,1,)))(ffted_y)
decoding_re=Lambda(complex_to_real)(ffted_y1)
decoding_re2 = Lambda(lambda x: tf.reshape(x,(1,2*N_c,)))(decoding_re)
decoding_y= Dense(2*N_c, activation='relu')(decoding_re2)
decoding_y2= Dense(N_c+20, activation='relu')(decoding_y)
decoding_y3= Dense(N_c, activation='relu')(decoding_y2)
decoding_y4= Dense(30, activation='relu')(decoding_y3)
main_output= Dense(2*N_c, activation='linear',name='main_output')(decoding_y4)
autoencoder =Model(inputs=[main_input, channel_input], outputs=[main_output])
autoencoder.compile(optimizer=Adam(lr=0.01),loss='categorical_crossentropy')