我正在尝试运行一项使用简单变压器 Roberta 模型进行分类的服务。测试时,推理脚本/函数本身按预期工作。当我将其包含在快速 API 中时,它会关闭服务器。
\nuvicorn==0.11.8\nfastapi==0.61.1\nsimpletransformers==0.51.6\ncmd : uvicorn --host 0.0.0.0 --port 5000 src.main:app\nRun Code Online (Sandbox Code Playgroud)\n@app.get("/article_classify")\ndef classification(text:str):\n """function to classify article using a deep learning model.\n Returns:\n [type]: [description]\n """\n\n _,_,result = inference(text)\n return result\nRun Code Online (Sandbox Code Playgroud)\n错误 :
\nINFO: Started server process [8262]\nINFO: Waiting for application startup.\nINFO: Application startup complete.\nINFO: Uvicorn running on http://0.0.0.0:5000 (Press CTRL+C to quit)\nINFO: 127.0.0.1:36454 - "GET / HTTP/1.1" 200 OK\nINFO: 127.0.0.1:36454 - "GET /favicon.ico HTTP/1.1" 404 Not Found\nINFO: 127.0.0.1:36454 - "GET /docs HTTP/1.1" …Run Code Online (Sandbox Code Playgroud) python multilabel-classification fastapi uvicorn simpletransformers
我正在使用torch.save()和torch.load()命令保存和加载模型。
在 Docker Container 中加载一个微调的简单转换器模型时,我遇到了这个我无法解决的错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.7/dist-packages/torch/serialization.py", line 594, in load
return _load(opened_zipfile, map_location, pickle_module, **pickle_load_args)
File "/usr/local/lib/python3.7/dist-packages/torch/serialization.py", line 853, in _load
result = unpickler.load()
File "/usr/local/lib/python3.7/dist-packages/transformers/models/xlm_roberta/tokenization_xlm_roberta.py", line 161, in __setstate__
self.sp_model.Load(self.vocab_file)
File "/usr/local/lib/python3.7/dist-packages/sentencepiece.py", line 367, in Load
return self.LoadFromFile(model_file)
File "/usr/local/lib/python3.7/dist-packages/sentencepiece.py", line 177, in LoadFromFile
return _sentencepiece.SentencePieceProcessor_LoadFromFile(self, arg)
OSError: Not found: "/home/jupyter/.cache/huggingface/transformers/9df9ae4442348b73950203b63d1b8ed2d18eba68921872aee0c3a9d05b9673c6.00628a9eeb8baf4080d44a0abe9fe8057893de20c7cb6e6423cddbf452f7d4d8": No such file or directory Error #2
Run Code Online (Sandbox Code Playgroud)
如果有人对此有任何想法,请告诉我。
我在用:
正如您在下面的 python 控制台中看到的,我可以T5Tokenizer从transformers. 但是,因为simpletransformers.t5我收到错误:
>>> from transformers import T5Model, T5Tokenizer
>>> from simpletransformers.t5 import T5Model, T5Args
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/pouramini/miniconda3/lib/python3.7/site-packages/simpletransformers/t5/__init$
_.py", line 2, in <module>
from simpletransformers.t5.t5_model import T5Model
File "/home/pouramini/miniconda3/lib/python3.7/site-packages/simpletransformers/t5/t5_mod$
l.py", line 20, in <module>
from transformers.models.t5 import T5Config, T5ForConditionalGeneration, T5Tokenizer
ImportError: cannot import name 'T5Tokenizer' from 'transformers.models.t5' (unknown locatio
n)
Run Code Online (Sandbox Code Playgroud) 我在工作项目中使用 simpletransformers ( https://github.com/ThilinaRajapakse/simpletransformers )。训练模型后,我将一堆文件转储到输出文件夹中。我想知道,如果您想加载之前训练过的模型(我假设将其保存到输出文件夹中)以便您可以立即针对新数据运行它,那么该怎么做呢?输出文件夹中文件的图片
使用 scikit-learn,您可以轻松地将模型导出为 json,然后将它们加载回来,我想可能有类似的过程?
我使用库训练了一个 T5 变压器simpletransformers。
这是获取预测的代码:
pred_values = model.predict(input_values)
Run Code Online (Sandbox Code Playgroud)
然而,它只返回顶部或贪婪的预测,我怎样才能获得 10 个顶部结果呢?