abcd-hide commited on
Commit
5fd7bc0
·
verified ·
1 Parent(s): b5d4d7b

Upload 3 files

Browse files
Files changed (3) hide show
  1. Dockerfile +2 -1
  2. app.py +4 -29
  3. requirements.txt +0 -1
Dockerfile CHANGED
@@ -15,7 +15,8 @@ RUN apt-get update && apt-get install -y \
15
  COPY requirements.txt .
16
  RUN pip install --no-cache-dir --upgrade pip && \
17
  pip install --no-cache-dir -r requirements.txt && \
18
- patchelf --clear-execstack /usr/local/lib/python3.10/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-310-x86_64-linux-gnu.so
 
19
 
20
  COPY . .
21
 
 
15
  COPY requirements.txt .
16
  RUN pip install --no-cache-dir --upgrade pip && \
17
  pip install --no-cache-dir -r requirements.txt && \
18
+ patchelf --clear-execstack /usr/local/lib/python3.10/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-310-x86_64-linux-gnu.so && \
19
+ find /usr/local/lib/python3.10/site-packages/tokenizers -name "*.so" -exec patchelf --clear-execstack {} +
20
 
21
  COPY . .
22
 
app.py CHANGED
@@ -4,37 +4,12 @@ from pix2text import Pix2Text
4
  import io
5
  from PIL import Image
6
  import uvicorn
 
7
 
8
- app = FastAPI()
9
-
10
- # CORSを許可
11
- app.add_middleware(
12
- CORSMiddleware,
13
- allow_origins=["*"],
14
- allow_credentials=True,
15
- allow_methods=["*"],
16
- allow_headers=["*"],
17
- )
18
-
19
- import transformers
20
- from transformers import XLMRobertaTokenizer, XLMRobertaTokenizerFast
21
-
22
- # 高速トークナイザーのクラス自体を低速版で上書き
23
- transformers.models.xlm_roberta.tokenization_xlm_roberta_fast.XLMRobertaTokenizerFast = XLMRobertaTokenizer
24
- transformers.XLMRobertaTokenizerFast = XLMRobertaTokenizer
25
 
26
- # from_pretrained において use_fast=False を強制し、None エラーを回避するパッチ
27
- original_from_pretrained = XLMRobertaTokenizer.from_pretrained
28
-
29
- @classmethod
30
- def patched_from_pretrained(cls, *args, **kwargs):
31
- kwargs['use_fast'] = False
32
- # XLMRobertaTokenizer (Slow) の from_pretrained を呼ぶ
33
- return original_from_pretrained(*args, **kwargs)
34
-
35
- # 両方のクラスの from_pretrained を差し替え
36
- XLMRobertaTokenizer.from_pretrained = patched_from_pretrained
37
- XLMRobertaTokenizerFast.from_pretrained = patched_from_pretrained
38
 
39
  # Pix2Textを初期化
40
  p2t = Pix2Text()
 
4
  import io
5
  from PIL import Image
6
  import uvicorn
7
+ import os
8
 
9
+ # 高速トークナイザーの並列処理によるデッドロックを回避
10
+ os.environ["TOKENIZERS_PARALLELISM"] = "false"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
 
12
+ app = FastAPI()
 
 
 
 
 
 
 
 
 
 
 
13
 
14
  # Pix2Textを初期化
15
  p2t = Pix2Text()
requirements.txt CHANGED
@@ -8,7 +8,6 @@ torchvision==0.18.1+cpu
8
  --extra-index-url https://download.pytorch.org/whl/cpu
9
  transformers==4.40.2
10
  tokenizers==0.19.1
11
- sentencepiece
12
  huggingface-hub==0.24.5
13
  numpy<2.0.0
14
  onnxruntime==1.19.0
 
8
  --extra-index-url https://download.pytorch.org/whl/cpu
9
  transformers==4.40.2
10
  tokenizers==0.19.1
 
11
  huggingface-hub==0.24.5
12
  numpy<2.0.0
13
  onnxruntime==1.19.0