At the current release 0.1.1, KotlinDL supports only Sequential models with VGG style architecture, since release 0.2 will support Functional API to build models like ResNet or MobileNet. BatchNorm2d could be executed in inference mode only in 0.2, Conv2dTranspose or Upsampling2D will be supported later, closer to the end of 2021. I suppose GANs architectures are not the main goal now. About tensor manipulations - it's not a goal of KotlinDL, for tensor manipulations could be used Java API Tensorflow (old or new).