Вы можете умножить веса слоя на двоичную маску, которая у вас есть.
Например, предположим, у вас есть 4 входа и 3 выхода. Теперь у вас есть весовая матрица между этими слоями (4,3). И у вас также есть маска матрицы, которая говорит о подключении. Теперь поточечно умножьте обе матрицы, и все готово.
weight =[[0.20472841, 0.16867633, 0.337205 ],
[0.05087094, 0.07719579, 0.23244687],
[0.86705386, 0.64144604, 0.11517534],
[0.57614114, 0.26831522, 0.31417855]]
mask =[[1, 0, 1],
[0, 0, 1],
[0, 1, 1],
[0, 0, 0]]
new_weight = multiply(weight, mask) #point wise
new_weight = [[0.20472841, 0. , 0.337205 ],
[0. , 0. , 0.23244687],
[0. , 0.64144604, 0.11517534],
[0. , 0. , 0. ]]
Примечание. Для определения этой структуры можно использовать низкоуровневый API-интерфейс tenorflow.