darkbit1001 commited on
Commit
96d104c
·
1 Parent(s): 2b6792a

add deps and attempt#1-matrix-format-fix

Browse files
Files changed (7) hide show
  1. .dockerignore +0 -3
  2. Dockerfile +4 -1
  3. docker-compose.yml +32 -0
  4. requirements.txt +13 -1
  5. rknnlcm.py +1 -1
  6. runner.sh +2 -2
  7. sample-rest-call.sh +7 -0
.dockerignore CHANGED
@@ -5,9 +5,6 @@ model/*
5
  __pycache__
6
  **/__pycache__
7
 
8
- images
9
- images/*
10
-
11
  .aider*
12
 
13
  *.pyc
 
5
  __pycache__
6
  **/__pycache__
7
 
 
 
 
8
  .aider*
9
 
10
  *.pyc
Dockerfile CHANGED
@@ -18,6 +18,9 @@ RUN python -m venv /venv && \
18
 
19
  # 👇 THIS copies *everything except what .dockerignore excludes*
20
  COPY . /app
 
 
 
21
 
22
  ENV PATH="/venv/bin:$PATH"
23
  ENV PYTHONUNBUFFERED=1
@@ -29,4 +32,4 @@ ENV MODEL_ROOT=/models
29
 
30
  EXPOSE 4200
31
 
32
- CMD ["uvicorn", "lcm_server:app", "--host", "0.0.0.0", "--port", "4200", "--no-access-log"]
 
18
 
19
  # 👇 THIS copies *everything except what .dockerignore excludes*
20
  COPY . /app
21
+ COPY librknnrt.so /usr/lib/librknnrt.so
22
+ COPY librkllmrt.so /usr/lib/librkllmrt.so
23
+ RUN ldconfig
24
 
25
  ENV PATH="/venv/bin:$PATH"
26
  ENV PYTHONUNBUFFERED=1
 
32
 
33
  EXPOSE 4200
34
 
35
+ CMD ["uvicorn", "lcm_server:app", "--host", "0.0.0.0", "--port", "4200", "--no-access-log"]
docker-compose.yml ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ services:
2
+ lcn-sd:
3
+ container_name: rknn-lcm-sd
4
+ build:
5
+ context: .
6
+ dockerfile: docker/Dockerfile
7
+ image: rknn-lcm-sd:latest
8
+
9
+ # Most reliable way to access RK3588 NPU + related devices
10
+ privileged: true
11
+
12
+ # Expose API
13
+ ports:
14
+ - "4200:4200"
15
+
16
+ environment:
17
+ PORT: "4200"
18
+ NUM_WORKERS: "1"
19
+ QUEUE_MAX: "8"
20
+ MODEL_ROOT: "/models"
21
+
22
+ # Models live on host; keep image small
23
+ volumes:
24
+ - ./model:/models:ro,Z
25
+
26
+ restart: unless-stopped
27
+
28
+ healthcheck:
29
+ test: ["CMD-SHELL", "python -c \"import urllib.request; urllib.request.urlopen('http://127.0.0.1:4200/docs').read()\""]
30
+ interval: 30s
31
+ timeout: 5s
32
+ retries: 5
requirements.txt CHANGED
@@ -1,8 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
  fastapi==0.115.0
2
  uvicorn==0.30.6
3
  pydantic==2.8.2
4
- numpy
5
  pillow
6
  transformers
7
  diffusers
 
8
  rknn-toolkit-lite2==2.3.2
 
1
+ # base deps
2
+ protobuf>=4.21.6,<=4.25.4
3
+
4
+ # utils
5
+ psutil>=5.9.0
6
+ ruamel.yaml>=0.17.21
7
+ scipy>=1.9.3
8
+ tqdm>=4.64.1
9
+ opencv-python>=4.5.5.64
10
+ fast-histogram>=0.11
11
+ numpy<=1.26.4
12
+
13
  fastapi==0.115.0
14
  uvicorn==0.30.6
15
  pydantic==2.8.2
 
16
  pillow
17
  transformers
18
  diffusers
19
+ torch
20
  rknn-toolkit-lite2==2.3.2
rknnlcm.py CHANGED
@@ -43,7 +43,7 @@ class RKNN2Model:
43
  *,
44
  core_mask: Optional[Union[str, int]] = None,
45
  multi_context: bool = True,
46
- data_format: str = "nchw",
47
  verbose_shapes: bool = False,
48
  runtime_kwargs: Optional[dict] = None,
49
  **_ignored: Any,
 
43
  *,
44
  core_mask: Optional[Union[str, int]] = None,
45
  multi_context: bool = True,
46
+ data_format: str = "nhwc",
47
  verbose_shapes: bool = False,
48
  runtime_kwargs: Optional[dict] = None,
49
  **_ignored: Any,
runner.sh CHANGED
@@ -6,5 +6,5 @@ docker run --rm -it \
6
  -e NUM_WORKERS=1 \
7
  -e QUEUE_MAX=8 \
8
  -e MODEL_ROOT=/models \
9
- -v "$PWD/model:/models:ro" \
10
- lcm-sd
 
6
  -e NUM_WORKERS=1 \
7
  -e QUEUE_MAX=8 \
8
  -e MODEL_ROOT=/models \
9
+ -v "$PWD/model:/models:ro,Z" \
10
+ rknn-lcm-sd:latest
sample-rest-call.sh ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ curl -X POST http://127.0.0.1:4200/generate -H "Content-Type: application/json" -o out.png -d '{
2
+ "prompt": "a cinematic photograph of a futuristic city at sunset",
3
+ "size": "512x512",
4
+ "num_inference_steps": 5,
5
+ "guidance_scale": 1.2,
6
+ "seed": 2861337
7
+ }'