今天在用keras flask部署模型的时候,出现了下面的错误:

File "app.py", line 132, in predict
preds = model.predict(image)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/engine/training.py", line 1078, in predict
callbacks=callbacks)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/engine/training_arrays.py", line 363, in model_iteration
batch_outs = f(ins_batch)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/keras/backend.py", line 3292, in __call__
run_metadata=self.run_metadata)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1458, in __call__
run_metadata_ptr)
tensorflow.python.framework.errors_impl.FailedPreconditionError: Error while reading resource variable res4b_branch2a/bias from Container: localhost. This could mean that the variable was uninitialized. Not found: Container localhost does not exist. (Could not find resource: localhost/res4b_branch2a/bias)
[[{{node res4b_branch2a/BiasAdd/ReadVariableOp}}]]
127.0.0.1 - - [27/Dec/2019 23:04:50] "POST /predict HTTP/1.1" 500 -

我的tf版本是tensorflow-gpu 1.14, cuda9

解决方法

我发现tf 1.14不支持cuda9,所以:

pip3 install tensorflow-gpu==1.9

回退成tf-gpu 1.9就行了