У меня есть тензор с формой (1,4,4,1), и я хочу повторить значение каждого его пикселя и увеличивает форму до (1,28,28,1).Я хочу повторить это в каждом измерении.например, если его первый пиксель равен 0, тогда создадим новый тензор с формой (28,28,1) со значением 0 и так далее.как я могу это сделать?Я ценю вашу помощь.Мне нужно что-то вроде кода ниже, чтобы выбрать значение wtm в индексе i, j, а затем создать новый тензор с этим значением и формой (1,28,28,1).предположим, что wtm:
0 1 1 0
0 0 0 1
1 0 1 0
1 1 0 1
Теперь мне нужно знать, что такое wtm (i, j), а затем создать новый тензор с этим значением.если wtm (i, j) = 1, то новый тензор:
1 1 1 ... 1
1 1 1 ... 1
. ... 1
. ... 1
1 1 1 ... 1
wtm=Input((28,28,1))
image = Input((28, 28, 1))
conv1 = Conv2D(64, (5, 5), activation='relu', padding='same', name='convl1e',dilation_rate=(2,2))(image)
conv2 = Conv2D(64, (5, 5), activation='relu', padding='same', name='convl2e',dilation_rate=(2,2))(conv1)
conv3 = Conv2D(64, (5, 5), activation='relu', padding='same', name='convl3e',dilation_rate=(2,2))(conv2)
BN=BatchNormalization()(conv3)
encoded = Conv2D(1, (5, 5), activation='relu', padding='same',name='encoded_I',dilation_rate=(2,2))(BN)
#-----------------------adding w---------------------------------------
wfill=Kr.layers.Lambda(lambda x:tf.fill([28,28],x))
wtm_Fill=wfill(wtm(i,j))
add_const = Kr.layers.Lambda(lambda x: x[0] + x[1])
encoded_merged = add_const([encoded,wtm_Fill])