Some advice:

Test small pieces  before trying to put them together.
Read your error messages.

The problem is that you set “include_top=False”:
model = DenseNet201(
  include_top=False, weights='imagenet', input_tensor=None,
  input_shape=(128, 128, 3), pooling=None, classes=2
)

So the output is a batch of feature maps:
result = model(x_train)
result.shape

TensorShape([2, 4, 4, 1920])

And you’ve set the label to [0,0] and the loss function to BinaryCrossentropy.
model.compile(
  optimizer=Adam(),
  loss=BinaryCrossentropy(),
  metrics=['accuracy'],
  run_eagerly=True,
)

It’s failing because bce=BinaryCrossentropy(); bce([0,0], result) doesn’t work.
That’s what the error message was trying to tell you.