The default installation for Keras now seems to elect TensorFlow instead of Theano. With this setup, any attempt to play a move (POST /prediction) results in an error:
[03/Feb/2017 19:50:44] "POST /prediction HTTP/1.1" 500 -
Traceback (most recent call last):
File "/mnt/betago/.betago/lib/python2.7/site-packages/flask/app.py", line 1994, in __call__
return self.wsgi_app(environ, start_response)
File "/mnt/betago/.betago/lib/python2.7/site-packages/flask/app.py", line 1985, in wsgi_app
response = self.handle_exception(e)
File "/mnt/betago/.betago/lib/python2.7/site-packages/flask_cors/extension.py", line 161, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "/mnt/betago/.betago/lib/python2.7/site-packages/flask/app.py", line 1540, in handle_exception
reraise(exc_type, exc_value, tb)
File "/mnt/betago/.betago/lib/python2.7/site-packages/flask/app.py", line 1982, in wsgi_app
response = self.full_dispatch_request()
File "/mnt/betago/.betago/lib/python2.7/site-packages/flask/app.py", line 1614, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/mnt/betago/.betago/lib/python2.7/site-packages/flask_cors/extension.py", line 161, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "/mnt/betago/.betago/lib/python2.7/site-packages/flask/app.py", line 1517, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/mnt/betago/.betago/lib/python2.7/site-packages/flask/app.py", line 1612, in full_dispatch_request
rv = self.dispatch_request()
File "/mnt/betago/.betago/lib/python2.7/site-packages/flask/app.py", line 1598, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/mnt/betago/betago/betago/model.py", line 54, in next_move
bot_row, bot_col = self.bot.select_move('b')
File "/mnt/betago/betago/betago/model.py", line 110, in select_move
self._move_generator(bot_color))
File "/mnt/betago/betago/betago/model.py", line 219, in get_first_valid_move
for move in move_generator:
File "/mnt/betago/betago/betago/model.py", line 134, in _model_moves
pred = np.squeeze(self.model.predict(X))
File "/mnt/betago/.betago/lib/python2.7/site-packages/keras/models.py", line 724, in predict
return self.model.predict(x, batch_size=batch_size, verbose=verbose)
File "/mnt/betago/.betago/lib/python2.7/site-packages/keras/engine/training.py", line 1265, in predict
self._make_predict_function()
File "/mnt/betago/.betago/lib/python2.7/site-packages/keras/engine/training.py", line 799, in _make_predict_function
**kwargs)
File "/mnt/betago/.betago/lib/python2.7/site-packages/keras/backend/tensorflow_backend.py", line 1918, in function
return Function(inputs, outputs, updates=updates)
File "/mnt/betago/.betago/lib/python2.7/site-packages/keras/backend/tensorflow_backend.py", line 1876, in __init__
with tf.control_dependencies(self.outputs):
File "/mnt/betago/.betago/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 3487, in control_dependencies
return get_default_graph().control_dependencies(control_inputs)
File "/mnt/betago/.betago/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 3218, in control_dependencies
c = self.as_graph_element(c)
File "/mnt/betago/.betago/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 2318, in as_graph_element
return self._as_graph_element_locked(obj, allow_tensor, allow_operation)
File "/mnt/betago/.betago/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 2397, in _as_graph_element_locked
raise ValueError("Tensor %s is not an element of this graph." % obj)
ValueError: Tensor Tensor("Softmax:0", shape=(?, 361), dtype=float32) is not an element of this graph.