*Update (25 December 2019) - This approach doesn't work anymore. The TPU API changed in TF 1.15 which is now the version on Colab by default.*

1: Change imports from `keras`

to `tensorflow.keras`

.

```
from tensorflow.keras.layers import ...
from tensorflow.keras.models import Model
from tensorflow.keras.regularizers import l2
from tensorflow.keras import backend as K
```

2: Convert keras model to TPU model.

```
import os
tpu_model = tensorflow.contrib.tpu.keras_to_tpu_model(
model,
strategy=tf.contrib.tpu.TPUDistributionStrategy(
tf.contrib.cluster_resolver.TPUClusterResolver(tpu='grpc://' + os.environ['COLAB_TPU_ADDR'])
)
)
tpu_model.compile(
optimizer='sgd',
loss='categorical_crossentropy',
metrics=['accuracy']
)
```

^ `model`

is a normal Keras model.

3: Using callbacks

The import of callbacks will change to:

```
from tensorflow.keras.callbacks import *
```