conda install tensorflow-gpu==1.15.2
conda install -c anaconda flask
from transformers import BertTokenizer, TFBertForSequenceClassification
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = TFBertForSequenceClassification.from_pretrained('bert-base-uncased')
input_ids = tokenizer.encode('Hello, how are you doing today?')
result = model(tf.constant([input_ids]))[0]
from flask import Flask, request
app = Flask(__name__)
@app.route('/predict', methods=['POST'])
def predict():
input_text = request.json.get('text')
input_ids = tokenizer.encode(input_text)
graph = tf.get_default_graph() # Create a new graph for each request
with graph.as_default():
session = tf.Session()
with session.as_default():
result = model(tf.constant([input_ids]))[0].numpy().tolist()
output = {'positive_prob': result[1], 'negative_prob': result[0]}
return output
通过使用以上解决方法,我们能够避免在Flask API中出现GPU加速及Transformer模型的问题。