title: Keras Model With CuDNNLSTM Layers Doesn't Work on Production Server
body: <p>I have used an AWS p3 instance to train the following model using GPU acceleration:</p>
  
  <pre><code>x = CuDNNLSTM(128, return_sequences=True)(inputs)
  x = Dropout(0.2)(x)
  x = CuDNNLSTM(128, return_sequences=False)(x)
  x = Dropout(0.2)(x)
  predictions = Dense(1, activation='tanh')(x)
  model = Model(inputs=inputs, outputs=predictions)
  </code></pre>
  
  <p>After training I saved the model with Keras' <code>save_model</code> function and moved it to a separate production server that doesn't have a GPU.</p>
  
  <p>When I attempt to predict using the model on the production server it fails with the following error:</p>
  
  <blockquote>
    <p>No OpKernel was registered to support Op 'CudnnRNN' with these attrs.  Registered devices: [CPU], Registered kernels:
      </p>
  </blockquote>
  
  <p>I'm guessing this is because the production server doesn't have GPU support, but I was hoping this wouldn't be a problem. Is there any way I can use this model on a production server without a GPU?</p>