add tag
anoldmaninthesea
I'm trying to run the followin code on google colab:


```
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
from keras import models
from keras import layers
from keras.datasets import boston_housing
from sklearn.model_selection import KFold
from sklearn.model_selection import ShuffleSplit
from sklearn.model_selection import GridSearchCV
from keras.wrappers.scikit_learn import KerasRegressor
from sklearn.metrics import mean_squared_error

sns.set()

(train_data,train_targets),(test_data,test_targets)=boston_housing.load_data()

mean=np.mean(train_data)
std=np.std(train_data)

train_data_norm=(train_data-mean)/std
test_data_norm=(test_data-mean)/std

def build_model():
    model=models.Sequential()
    model.add(layers.Dense(64,activation="relu",
                          input_shape=(train_data_norm.shape[1],)))
    model.add(layers.Dense(64,activation="relu"))
    model.add(layers.Dense(1))
    model.compile(optimizer='rmsprop',loss="mse",metrics=["mae"])
    return model 


model=KerasRegressor(build_fn=build_model,epochs=30,verbose=0)
param_grid = {"epochs":range(1,11)}

kf1=KFold(n_splits=5, random_state=None, shuffle=False) #n_splits = number of folds
kf2=KFold(n_splits=5, random_state=1, shuffle=True)
ss = ShuffleSplit(n_splits=5,test_size=0.20,random_state=1)

grid_model_KFFalse=GridSearchCV(model,param_grid,cv=kf1,n_jobs=-1,scoring='neg_mean_squared_error')
grid_model_KFTrue=GridSearchCV(model,param_grid,cv=kf2,n_jobs=-1,scoring='neg_mean_squared_error')
grid_model_SS=GridSearchCV(model,param_grid,cv=ss,n_jobs=-1,scoring='neg_mean_squared_error')

listKFFalse=[]
listKFTrue=[]
listSS=[]

for i in range(1,21):
  grid_model_KFFalse.fit(train_data, train_targets)
  grid_model_KFTrue.fit(train_data, train_targets)
  grid_model_SS.fit(train_data, train_targets)
  mseKFFalse=mean_squared_error(grid_model_KFFalse.predict(test_data),test_targets)
  mseKFTrue=mean_squared_error(grid_model_KFTrue.predict(test_data),test_targets)
  mseSS=mean_squared_error(grid_model_SS.predict(test_data),test_targets)
  listKFFalse=np.append(listKFFalse,[mseKFFalse])
  listKFTrue=np.append(listKFTrue,[mseKFTrue])
  listSS=np.append(listSS,[mseSS])
```
You can check it [here](https://colab.research.google.com/drive/1P-HNBtMNDqUBsoUaBL9BlPgrQ5al3QrO?usp=sharing).


However, it's taking a very long time... I wonder why it is. Isn't google colab supposed to use GPU(or TPU) when learning neural networks with keras?
I've already tried changing the runtime type, but it's still very slow.

Enter question or answer id or url (and optionally further answer ids/urls from the same question) from

Separate each id/url with a space. No need to list your own answers; they will be imported automatically.