Tensorflow 如果keras后端是theano,Google colab不使用GPU

Tensorflow 如果keras后端是theano,Google colab不使用GPU,tensorflow,keras,theano,google-colaboratory,theano-cuda,Tensorflow,Keras,Theano,Google Colaboratory,Theano Cuda,如果我使用theano作为Keras的后端,我怀疑google colab没有使用GPU。如果后端为Tensorflow,则相同代码以每epoc约4分钟的速度进行训练,但在以theano为后端的情况下,每epoc需要7小时。我执行了以下步骤来修改keras配置 !cp .keras/keras.json .keras/keras.json.tf !cp drive/MachineLearning/kerasJson/keras.json .keras/keras.json !cat .keras

如果我使用theano作为Keras的后端,我怀疑google colab没有使用GPU。如果后端为Tensorflow,则相同代码以每epoc约4分钟的速度进行训练,但在以theano为后端的情况下,每epoc需要7小时。我执行了以下步骤来修改keras配置

!cp .keras/keras.json .keras/keras.json.tf
!cp drive/MachineLearning/kerasJson/keras.json .keras/keras.json
!cat .keras/keras.json
theano的keras.json看起来像

{
    "floatx": "float32",
    "epsilon": 1e-07,
    "backend": "theano",
    "image_dim_ordering": "th",
    "image_data_format": "channels_first"
}
{
    "floatx": "float32",
    "epsilon": 1e-07,
    "backend": "tensorflow",
    "image_data_format": "channels_last"
}
drive/MachineLearning/data/NLP/keras_spell_e2.h5

/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:268: UserWarning: Update your `fit_generator` call to the Keras 2 API: `fit_generator(<generator..., steps_per_epoch=100, epochs=500, verbose=1, callbacks=[<__main__..., validation_data=<generator..., validation_steps=10, class_weight=None, workers=1, initial_epoch=0, use_multiprocessing=False, max_queue_size=10)`

Epoch 1/500
  2/100 [..............................] - ETA: 6:58:52 - loss: 0.5325 - acc: 0.4895
tensorflow的keras.json如下所示

{
    "floatx": "float32",
    "epsilon": 1e-07,
    "backend": "theano",
    "image_dim_ordering": "th",
    "image_data_format": "channels_first"
}
{
    "floatx": "float32",
    "epsilon": 1e-07,
    "backend": "tensorflow",
    "image_data_format": "channels_last"
}
drive/MachineLearning/data/NLP/keras_spell_e2.h5

/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:268: UserWarning: Update your `fit_generator` call to the Keras 2 API: `fit_generator(<generator..., steps_per_epoch=100, epochs=500, verbose=1, callbacks=[<__main__..., validation_data=<generator..., validation_steps=10, class_weight=None, workers=1, initial_epoch=0, use_multiprocessing=False, max_queue_size=10)`

Epoch 1/500
  2/100 [..............................] - ETA: 6:58:52 - loss: 0.5325 - acc: 0.4895
在没有后端的情况下,相同的代码计时

{
    "floatx": "float32",
    "epsilon": 1e-07,
    "backend": "theano",
    "image_dim_ordering": "th",
    "image_data_format": "channels_first"
}
{
    "floatx": "float32",
    "epsilon": 1e-07,
    "backend": "tensorflow",
    "image_data_format": "channels_last"
}
drive/MachineLearning/data/NLP/keras_spell_e2.h5

/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:268: UserWarning: Update your `fit_generator` call to the Keras 2 API: `fit_generator(<generator..., steps_per_epoch=100, epochs=500, verbose=1, callbacks=[<__main__..., validation_data=<generator..., validation_steps=10, class_weight=None, workers=1, initial_epoch=0, use_multiprocessing=False, max_queue_size=10)`

Epoch 1/500
  2/100 [..............................] - ETA: 6:58:52 - loss: 0.5325 - acc: 0.4895
drive/MachineLearning/data/NLP/keras\u spell\u e2.h5

/usr/local/lib/python3.6/dist-packages/ipykernel_-launcher.py:268:UserWarning:更新对Keras 2 API的'fit_-generator'调用:'fit_-generator'(Theano似乎越来越受欢迎。为什么不迁移到TF?实际上,在我的计算机中,tensorflow>1.5.0不起作用,因为默认情况下启用了AVX。我可能需要花时间编译它,但没有尝试过。我得到了
没有这样的文件或目录:'.keras/keras.json'
错误。你能分享一下你是如何克服这个问题的(如果你做到了的话)?@talha06您需要创建该文件。
!cp drive/MachineLearning/kerasJson/keras.json.keras/keras.json
是为我做的。我曾经将它从我的驱动器复制到colab。您可能需要将>>回送到。/keras/keras.json或类似的东西。我唯一的问题是它没有使用GPU