代码之家  ›  专栏  ›  技术社区  ›  Felipe Valdes

提高答疑、BERT和GPT、无GPU预测的性能

  •  1
  • Felipe Valdes  · 技术社区  · 5 年前

    我下载了一个python脚本,它使用BERT和GPT进行问答,

    这意味着操作需要AWS p3.xlarge机器,运行成本很高(超过700美元/月)。

    这个存在吗?

    当前代码使用Flask。

    下面是代码当前版本的摘录。

    #import all dependencies
    import json
    from flask import jsonify, Flask, request #import main Flask class and request object
    app = Flask(__name__)
    import os
    from main import *
    
    
    # @app.route('/', methods=['GET', 'POST'])
    # def question_generation():
    #     if request.method != 'POST':
    #         return "Welcome !"
    
    #     # Data to be written 
    #     meta_data = {
    #             "input_text": "",
    #             "key": "quac_869",
    #             "timestamp": "2019-07-12 11:35:12.201741",
    #             "settings": {
    #                 "top_p": 0.9,
    #                 "gen_frac": 0.5,
    #                 "spec_frac": 0.8
    #             }
    #     }
    #     # print(request.form.get('passage'))
    
    #     #add passage into meta data
    #     meta_data['input_text']=request.args.get('passage')
    
        
    #     # dump the metadata into json object
    #     metadata_json = json.dumps(meta_data, indent = 4)
    #     qna_data=qa_generator(tokenizer_gpt2,model_gpt2,tokenizer_bert_p,model_bert_p,metadata_json)  
    #     qna_data=json.loads(qna_data)
    
    #     #return question answer
    #     return jsonify(qna_data)
    
    @app.route('/', methods=['GET', 'POST'])
    def question_generation_1():
        if request.method != 'POST':
            return "Welcome !"
        try:
            get_dict = request.get_json()
            
            
            # Data to be written 
            meta_data = {
                    "input_text": "",
                    "key": "quac_869",
                    "timestamp": "2019-07-12 11:35:12.201741",
                    "settings": {
                        "top_p": 0.9,
                        "gen_frac": 0.5,
                        "spec_frac": 0.8
                    }
            }
    
            #add passage into meta data
            meta_data['input_text']=get_dict["passage"]
    
            
            # dump the metadata into json object
            metadata_json = json.dumps(meta_data, indent = 4)
            qna_data=qa_generator(tokenizer_gpt2,model_gpt2,tokenizer_bert_p,model_bert_p,metadata_json)  
            qna_data=json.loads(qna_data)
            
            #return question answer
            return jsonify(qna_data)
        except:
            
            # Data to be written 
            meta_data = {
                    "input_text": "",
                    "key": "quac_869",
                    "timestamp": "2019-07-12 11:35:12.201741",
                    "settings": {
                        "top_p": 0.9,
                        "gen_frac": 0.5,
                        "spec_frac": 0.8
                    }
            }
    
            #add passage into meta data
            meta_data['input_text']=request.args.get('passage')
    
            
            # dump the metadata into json object
            metadata_json = json.dumps(meta_data, indent = 4)
            qna_data=qa_generator(tokenizer_gpt2,model_gpt2,tokenizer_bert_p,model_bert_p,metadata_json)  
            qna_data=json.loads(qna_data)
            
            #return question answer
            return jsonify(qna_data)
    
    #app.run()
    #start the server  
    # if you want to use flask server then enable folowing line 
    #app.run(host="167.99.108.238",port="")
    
    
    0 回复  |  直到 5 年前