Skip to content

Commit 2cc6d0d

Browse files
committed
Base cpu & gpu version
1 parent 5a0dd00 commit 2cc6d0d

23 files changed

Lines changed: 701 additions & 165 deletions

File tree

base/Dockerfile

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
FROM python:3.12.9-slim-bookworm
22

3-
# Copy python source and requirements.
4-
COPY . ./
5-
RUN pip install --no-deps --no-cache-dir uv && uv pip install --system --no-deps --no-cache-dir -r requirements.txt
3+
ARG CPU_GPU=cpu
4+
ENV CPU_GPU=$CPU_GPU
5+
ENV LD_LIBRARY_PATH=:/usr/local/lib/python3.12/site-packages/nvidia/cuda_runtime/lib:/usr/local/lib/python3.12/site-packages/nvidia/cublas/lib:/usr/local/lib/python3.12/site-packages/nvidia/cufft/lib:/usr/local/lib/python3.12/site-packages/nvidia/curand/lib:/usr/local/lib/python3.12/site-packages/nvidia/cusparse/lib:/usr/local/lib/python3.12/site-packages/nvidia/cusparselt/lib:/usr/local/lib/python3.12/site-packages/nvidia/cuda_nvrtc/lib:/usr/local/lib/python3.12/site-packages/nvidia/cusolver/lib
6+
7+
COPY --link . ./
8+
RUN pip install --no-deps --no-cache-dir uv && uv --no-cache pip install --system --no-deps --index-strategy=unsafe-best-match --no-cache-dir -r requirements/$CPU_GPU.txt && ./fix-cuda-env.sh && uv cache clean
69

710
EXPOSE 8080
811

9-
CMD ["./start.sh"]
12+
CMD ["./start.sh"]

base/fix-cuda-env.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export LD_LIBRARY_PATH=:/usr/local/lib/python3.12/site-packages/nvidia/cuda_runtime/lib:/usr/local/lib/python3.12/site-packages/nvidia/cublas/lib:/usr/local/lib/python3.12/site-packages/nvidia/cufft/lib:/usr/local/lib/python3.12/site-packages/nvidia/curand/lib:/usr/local/lib/python3.12/site-packages/nvidia/cusparse/lib:/usr/local/lib/python3.12/site-packages/nvidia/cusparselt/lib:/usr/local/lib/python3.12/site-packages/nvidia/cuda_nvrtc/lib:/usr/local/lib/python3.12/site-packages/nvidia/cusolver/lib
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ certifi==2025.1.31
33
charset-normalizer==3.4.1
44
idna==3.10
55
requests==2.32.3
6-
urllib3==2.3.0
6+
urllib3==2.3.0

base/requirements/gpu.txt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
bottle==0.13.2
2+
certifi==2025.1.31
3+
charset-normalizer==3.4.1
4+
idna==3.10
5+
nvidia-cublas-cu12==12.8.4.1
6+
nvidia-cuda-cupti-cu12==12.8.90
7+
nvidia-cuda-nvrtc-cu12==12.8.93
8+
nvidia-cuda-runtime-cu12==12.8.90
9+
nvidia-cudnn-cu12==9.8.0.87
10+
nvidia-cufft-cu12==11.3.3.83
11+
nvidia-curand-cu12==10.3.9.90
12+
nvidia-cusolver-cu12==11.7.3.90
13+
nvidia-cusparse-cu12==12.5.8.93
14+
nvidia-cusparselt-cu12==0.7.1
15+
nvidia-nccl-cu12==2.26.2
16+
nvidia-nvjitlink-cu12==12.8.93
17+
nvidia-nvtx-cu12==12.8.90
18+
torch==2.6.0
19+
requests==2.32.3
20+
urllib3==2.3.0

build.sh

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,35 +7,35 @@ source .env
77
echo "Will build taggers with version <$VERSION>. Set VERSION to override this."
88

99
# Base image
10-
docker build -t instituutnederlandsetaal/galahad-taggers-base:$VERSION base
11-
10+
docker build --build-arg CPU_GPU=cpu -t instituutnederlandsetaal/galahad-taggers:cpu-$VERSION base
11+
docker build --build-arg CPU_GPU=gpu -t instituutnederlandsetaal/galahad-taggers:gpu-$VERSION base
1212
# PIE
1313
# base
14-
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=cpu -t instituutnederlandsetaal/galahad-taggers-pie-cpu-base:$VERSION pie/base
15-
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=gpu -t instituutnederlandsetaal/galahad-taggers-pie-gpu-base:$VERSION pie/base
16-
# all
17-
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=cpu -t instituutnederlandsetaal/galahad-taggers-pie-cpu-tdn-all:$VERSION pie/TDN-ALL
18-
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=gpu -t instituutnederlandsetaal/galahad-taggers-pie-gpu-tdn-all:$VERSION pie/TDN-ALL
14+
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=cpu -t instituutnederlandsetaal/galahad-taggers-pie:cpu-$VERSION pie/base
15+
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=gpu -t instituutnederlandsetaal/galahad-taggers-pie:gpu-$VERSION pie/base
16+
# tdn-all
17+
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=cpu -t instituutnederlandsetaal/galahad-taggers-pie-tdn-all:cpu-$VERSION pie/TDN-ALL
18+
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=gpu -t instituutnederlandsetaal/galahad-taggers-pie-tdn-all:gpu-$VERSION pie/TDN-ALL
19+
exit 0
1920
# tdn-1200-1600
20-
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=cpu -t instituutnederlandsetaal/galahad-taggers-pie-cpu-tdn-1200-1600:$VERSION pie/TDN-1200-1600
21-
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=gpu -t instituutnederlandsetaal/galahad-taggers-pie-gpu-tdn-1200-1600:$VERSION pie/TDN-1200-1600
21+
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=cpu -t instituutnederlandsetaal/galahad-taggers-pie-tdn-1200-1600:cpu-$VERSION pie/TDN-1200-1600
22+
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=gpu -t instituutnederlandsetaal/galahad-taggers-pie-tdn-1200-1600:gpu-$VERSION pie/TDN-1200-1600
2223
# tdn-1600-1900
23-
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=cpu -t instituutnederlandsetaal/galahad-taggers-pie-cpu-tdn-1600-1900:$VERSION pie/TDN-1600-1900
24-
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=gpu -t instituutnederlandsetaal/galahad-taggers-pie-gpu-tdn-1600-1900:$VERSION pie/TDN-1600-1900
24+
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=cpu -t instituutnederlandsetaal/galahad-taggers-pie-tdn-1600-1900:cpu-$VERSION pie/TDN-1600-1900
25+
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=gpu -t instituutnederlandsetaal/galahad-taggers-pie-tdn-1600-1900:gpu-$VERSION pie/TDN-1600-1900
2526

2627
# UD-parsers
2728
# flair
28-
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=cpu -t instituutnederlandsetaal/galahad-taggers-flair-cpu:$VERSION flair
29-
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=gpu -t instituutnederlandsetaal/galahad-taggers-flair-gpu:$VERSION flair
29+
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=cpu -t instituutnederlandsetaal/galahad-taggers-flair:cpu-$VERSION flair
30+
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=gpu -t instituutnederlandsetaal/galahad-taggers-flair:gpu-$VERSION flair
3031
# # spacy
31-
docker build --build-arg VERSION=$VERSION --build-arg SPACY_MODEL=nl_core_news_lg --build-arg CPU_GPU=cpu -t instituutnederlandsetaal/galahad-taggers-spacy-cpu:$VERSION spacy
32-
docker build --build-arg VERSION=$VERSION --build-arg SPACY_MODEL=nl_core_news_lg --build-arg CPU_GPU=gpu -t instituutnederlandsetaal/galahad-taggers-spacy-gpu:$VERSION spacy
32+
docker build --build-arg VERSION=$VERSION --build-arg SPACY_MODEL=nl_core_news_lg --build-arg CPU_GPU=cpu -t instituutnederlandsetaal/galahad-taggers-spacy:cpu-$VERSION spacy
33+
docker build --build-arg VERSION=$VERSION --build-arg SPACY_MODEL=nl_core_news_lg --build-arg CPU_GPU=gpu -t instituutnederlandsetaal/galahad-taggers-spacy:gpu-$VERSION spacy
3334
# stanza
34-
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=cpu -t instituutnederlandsetaal/galahad-taggers-stanza-cpu:$VERSION stanza
35-
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=gpu -t instituutnederlandsetaal/galahad-taggers-stanza-gpu:$VERSION stanza
35+
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=cpu -t instituutnederlandsetaal/galahad-taggers-stanza:cpu-$VERSION stanza
36+
docker build --build-arg VERSION=$VERSION --build-arg CPU_GPU=gpu -t instituutnederlandsetaal/galahad-taggers-stanza:gpu-$VERSION stanza
3637
# udpipe
3738
# docker build --build-arg VERSION=$VERSION -t instituutnederlandsetaal/galahad-taggers-udpipe:$VERSION udpipe
38-
# docker build --build-arg VERSION=$VERSION -t instituutnederlandsetaal/galahad-taggers-stanza:$VERSION stanza
3939

4040
# Huggingface
4141
# TODO

docker-compose.yml

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,99 +1,99 @@
11
x-defaults: &defaults
2-
restart: unless-stopped
3-
environment:
4-
- NUM_WORKERS=${NUM_WORKERS}
5-
- CALLBACK_SERVER=${CALLBACK_SERVER}
6-
deploy:
7-
resources:
8-
limits:
9-
memory: 2G
10-
reservations:
11-
devices:
12-
- driver: nvidia
13-
count: all
14-
capabilities: [ gpu ]
2+
restart: unless-stopped
3+
environment:
4+
- NUM_WORKERS=${NUM_WORKERS:=1}
5+
- CALLBACK_SERVER=${CALLBACK_SERVER:=""}
6+
deploy:
7+
resources:
8+
limits:
9+
memory: 2G
10+
# Comment out if no GPU is available.
11+
reservations:
12+
devices:
13+
- driver: nvidia
14+
count: all
15+
capabilities: [ gpu ]
16+
17+
networks:
18+
default:
19+
name: galahad-taggers
1520

1621
services:
1722
# pie (ports: 810x)
1823
pie-tdn-1200-1600:
19-
image: instituutnederlandsetaal/galahad-taggers-pie-${CPU_GPU}-tdn-1200-1600:${VERSION}
24+
image: instituutnederlandsetaal/galahad-taggers-pie-tdn-1200-1600:$CPU_GPU-$VERSION
2025
ports:
2126
- 8100:8080
2227
<<: *defaults
2328

2429
pie-tdn-1600-1900:
25-
image: instituutnederlandsetaal/galahad-taggers-pie-${CPU_GPU}-tdn-1600-1900:${VERSION}
30+
image: instituutnederlandsetaal/galahad-taggers-pie-tdn-1600-1900:$CPU_GPU-$VERSION
2631
ports:
2732
- 8101:8080
2833
<<: *defaults
2934

3035
pie-tdn-all:
31-
image: instituutnederlandsetaal/galahad-taggers-pie-${CPU_GPU}-tdn-all:${VERSION}
36+
image: instituutnederlandsetaal/galahad-taggers-pie-tdn-all:$CPU_GPU-$VERSION
3237
ports:
3338
- 8102:8080
3439
<<: *defaults
3540

3641
# huggingface (port: 811x)
3742
hug-tdn-1400-1600:
38-
image: instituutnederlandsetaal/galahad-taggers-hug-tdn-1400-1600:${VERSION}
43+
image: instituutnederlandsetaal/galahad-taggers-hug-tdn-1400-1600:$VERSION
3944
ports:
4045
- 8110:8080
4146
<<: *defaults
4247

4348
hug-tdn-1600-1900:
44-
image: instituutnederlandsetaal/galahad-taggers-hug-tdn-1600-1900:${VERSION}
49+
image: instituutnederlandsetaal/galahad-taggers-hug-tdn-1600-1900:$VERSION
4550
ports:
4651
- 8111:8080
4752
<<: *defaults
4853

4954
hug-tdn-all:
50-
image: instituutnederlandsetaal/galahad-taggers-hug-tdn-all:${VERSION}
55+
image: instituutnederlandsetaal/galahad-taggers-hug-tdn-all:$VERSION
5156
ports:
5257
- 8112:8080
5358
<<: *defaults
5459

5560
hug-tdn-all-enhanced:
56-
image: instituutnederlandsetaal/galahad-taggers-hug-tdn-all-enhanced:${VERSION}
61+
image: instituutnederlandsetaal/galahad-taggers-hug-tdn-all-enhanced:$VERSION
5762
ports:
5863
- 8117:8080
5964
<<: *defaults
6065

6166
# ud-parsers (812X)
6267
spacy:
63-
image: instituutnederlandsetaal/galahad-taggers-spacy-${CPU_GPU}:${VERSION}
68+
image: instituutnederlandsetaal/galahad-taggers-spacy:$CPU_GPU-$VERSION
6469
ports:
6570
- 8120:8080
6671
<<: *defaults
6772

6873
stanza-alpino-conll02:
69-
image: instituutnederlandsetaal/galahad-taggers-stanza:${VERSION}
74+
image: instituutnederlandsetaal/galahad-taggers-stanza:$CPU_GPU-$VERSION
7075
environment:
7176
- STANZA_MODEL=alpino
7277
ports:
7378
- 8121:8080
7479
<<: *defaults
7580

7681
stanza-lassysmall-wikiner:
77-
image: instituutnederlandsetaal/galahad-taggers-stanza:${VERSION}
82+
image: instituutnederlandsetaal/galahad-taggers-stanza:$CPU_GPU-$VERSION
7883
environment:
7984
- STANZA_MODEL=lassysmall
8085
ports:
8186
- 8122:8080
8287
<<: *defaults
8388

8489
flair:
85-
image: instituutnederlandsetaal/galahad-taggers-flair-${CPU_GPU}:${VERSION}
90+
image: instituutnederlandsetaal/galahad-taggers-flair:$CPU_GPU-$VERSION
8691
ports:
8792
- 8123:8080
8893
<<: *defaults
8994

9095
udpipe:
91-
image: instituutnederlandsetaal/galahad-taggers-udpipe:${VERSION}
96+
image: instituutnederlandsetaal/galahad-taggers-udpipe:$CPU_GPU-$VERSION
9297
ports:
9398
- 8124:8080
9499
<<: *defaults
95-
96-
networks:
97-
default:
98-
name: taggers-network
99-
driver: bridge # external applications can attach to this network to access the taggers

flair/Dockerfile

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
ARG VERSION=dev
2-
FROM instituutnederlandsetaal/galahad-taggers-base:$VERSION
3-
4-
ARG CPU_GPU=cpu
5-
ENV CPU_GPU=${CPU_GPU}
6-
7-
COPY --link ./process.py ./requirements/$CPU_GPU.txt ./
8-
RUN uv pip install --system --index-strategy=unsafe-best-match --no-deps --no-cache-dir -r $CPU_GPU.txt && python -c 'from flair.nn import Classifier; Classifier.load("flair/upos-multi"); Classifier.load("flair/ner-dutch-large")'
1+
ARG VERSION=dev
2+
ARG CPU_GPU=cpu
3+
4+
FROM instituutnederlandsetaal/galahad-taggers-base:$CPU_GPU-$VERSION
5+
6+
ENV CPU_GPU=$CPU_GPU
7+
8+
COPY --link ./process.py ./requirements/$CPU_GPU.txt ./
9+
RUN uv pip install --system --index-strategy=unsafe-best-match --no-deps --no-cache-dir -r $CPU_GPU.txt && python -c 'from flair.nn import Classifier; Classifier.load("flair/upos-multi"); Classifier.load("flair/ner-dutch-large")'

flair/requirements/gpu.txt

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -31,19 +31,6 @@ mpld3==0.5.10
3131
mpmath==1.3.0
3232
networkx==3.4.2
3333
numpy==1.26.4
34-
nvidia-cublas-cu12==12.4.5.8
35-
nvidia-cuda-cupti-cu12==12.4.127
36-
nvidia-cuda-nvrtc-cu12==12.4.127
37-
nvidia-cuda-runtime-cu12==12.4.127
38-
nvidia-cudnn-cu12==9.1.0.70
39-
nvidia-cufft-cu12==11.2.1.3
40-
nvidia-curand-cu12==10.3.5.147
41-
nvidia-cusolver-cu12==11.6.1.9
42-
nvidia-cusparse-cu12==12.3.1.170
43-
nvidia-cusparselt-cu12==0.6.2
44-
nvidia-nccl-cu12==2.21.5
45-
nvidia-nvjitlink-cu12==12.4.127
46-
nvidia-nvtx-cu12==12.4.127
4734
packaging==24.2
4835
pillow==11.1.0
4936
pptree==3.1

pie/TDN-1200-1600/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
ARG VERSION=dev
2-
ARG CPU_GPU=${CPU_GPU}
2+
ARG CPU_GPU=cpu
33

4-
FROM instituutnederlandsetaal/galahad-taggers-pie-$CPU_GPU-base:$VERSION
4+
FROM instituutnederlandsetaal/galahad-taggers-pie:$CPU_GPU-$VERSION
55

66
COPY --link *.tar ./model.tar

0 commit comments

Comments
 (0)