isaul19 commited on
Commit
f102a76
·
1 Parent(s): a4e8208
Files changed (3) hide show
  1. Dockerfile +15 -0
  2. main.py +46 -0
  3. requirements.txt +16 -0
Dockerfile ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.9
2
+
3
+ WORKDIR /app
4
+
5
+ COPY requirements.txt .
6
+
7
+ RUN pip install --no-cache-dir -r requirements.txt
8
+
9
+ COPY . .
10
+
11
+ EXPOSE 8083
12
+
13
+ CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8083"]
14
+
15
+
main.py ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI, Response
2
+ from fastapi.middleware.cors import CORSMiddleware
3
+ import torch
4
+ from torch.cuda.amp import autocast
5
+ from diffusers import DiffusionPipeline
6
+ from diffusers import StableDiffusionPipeline
7
+ from io import BytesIO
8
+
9
+ app = FastAPI()
10
+
11
+ app.add_middleware(
12
+ CORSMiddleware,
13
+ allow_credentials=True,
14
+ allow_origins=["*"],
15
+ allow_methods=["*"],
16
+ allow_headers=["*"]
17
+ )
18
+
19
+
20
+
21
+ # MODEL 1.4
22
+ model_id = "CompVis/stable-diffusion-v1-4"
23
+ device = "cuda" if torch.cuda.is_available() else "cpu"
24
+
25
+ pipe = StableDiffusionPipeline.from_pretrained(
26
+ model_id, torch_dtype=torch.float32)
27
+
28
+ pipe = pipe.to(device)
29
+
30
+ # MODEL 1.0
31
+ # model_id = "stabilityai/stable-diffusion-xl-base-1.0"
32
+ # device = "cuda" if torch.cuda.is_available() else "cpu"
33
+ # pipe = DiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float32, use_safetensors=True, variant="fp16")
34
+
35
+ # pipe = pipe.to(device)
36
+
37
+ @app.get("/")
38
+ def generate(prompt: str):
39
+ with autocast(device):
40
+ image = pipe(prompt, guidance_scale=8.5).images[0]
41
+
42
+ buffer = BytesIO()
43
+ image.save(buffer, format="PNG")
44
+ buffer.seek(0)
45
+
46
+ return Response(content=buffer.getvalue(), media_type="image/png")
requirements.txt ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # fastapi
2
+ # uvicorn
3
+ # torch
4
+ # transformers
5
+ # diffusers
6
+
7
+ fastapi
8
+ torch
9
+ diffusers
10
+ transformers
11
+ accelerate
12
+ uvicorn
13
+ datasets
14
+ torch
15
+ soundfile
16
+ sentencepiece