sun00009 commited on
Commit
8bff7e5
1 Parent(s): 62892e4

Upload 2 files

Browse files
Files changed (2) hide show
  1. Dockerfile +28 -0
  2. main.py +110 -6
Dockerfile ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.9
2
+
3
+ WORKDIR /code
4
+
5
+ COPY ./requirements.txt /code/requirements.txt
6
+
7
+ RUN apt-get update && apt-get -y install libgl1-mesa-dev
8
+
9
+ RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
10
+
11
+ RUN useradd -m -u 58241 user
12
+
13
+ USER user
14
+
15
+ ENV HOME=/home/user \
16
+ PATH=/home/user/.local/bin:$PATH
17
+
18
+ WORKDIR $HOME/app
19
+
20
+ COPY --chown=user . $HOME/app
21
+
22
+ RUN mkdir ~/.cache
23
+
24
+ RUN chmod -R 777 ~/.cache
25
+
26
+ COPY . .
27
+
28
+ CMD [ "gunicorn", "-b", "0.0.0.0:7860", "--timeout", "300", "main:app"]
main.py CHANGED
@@ -1,9 +1,113 @@
1
- import os
2
- import gradio as gr
 
 
 
 
3
 
4
- access_token = os.environ.get('HF_TOKEN',None)
5
 
6
- with gr.Blocks() as demo:
7
- gr.load("sun000090/gradio_ui_test", hf_token=access_token, src="spaces")
 
8
 
9
- demo.launch()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from flask import Flask, request, send_file, jsonify, render_template, send_from_directory, Response
2
+ import io
3
+ import base64
4
+ import random
5
+ import torch
6
+ from models.inference import image_gen
7
 
8
+ app = Flask(__name__)
9
 
10
+ @app.route("/")
11
+ def index():
12
+ return render_template("index.html")
13
 
14
+ @app.route("/image_gen", methods=['POST'])
15
+ def gen():
16
+ image_path = None
17
+ image_bytes = None
18
+ prompts_out = request.form['prompts_out']
19
+ neg_prompts_out = request.form['neg_prompts_out']
20
+ steps_out = int(request.form['steps_out'])
21
+ cfg_out = int(request.form['cfg_out'])
22
+ num_images_out = int(request.form['num_images_out'])
23
+ height_out = int(request.form['height_out'])
24
+ width_out = int(request.form['width_out'])
25
+ clip_skip_out = int(request.form['clip_skip_out'])
26
+
27
+ print("---------------------")
28
+ print("prompts out ", prompts_out)
29
+ print("neg prompt", neg_prompts_out)
30
+ print("---------------------")
31
+
32
+ image = image_gen(prompts_out, neg_prompts_out, steps_out, cfg_out, num_images_out,
33
+ height_out, width_out, clip_skip_out)
34
+
35
+ # print(image)
36
+ # print("---------------------")
37
+
38
+ image_bytes = io.BytesIO()
39
+ image.save(image_bytes, format="JPEG", quality=67)
40
+
41
+ image_bytes = base64.b64encode(image_bytes.getvalue()).decode('utf-8')
42
+ print(f"Generated image of size {len(image_bytes)} bytes.")
43
+
44
+ return render_template('index.html', image_path=image_bytes)
45
+
46
+
47
+ '''
48
+ @app.route('/', methods=['POST'])
49
+ def myapp():
50
+ # prompts_out = request.args["Prompt"]
51
+ # neg_prompts_out = request.args["Negative Prompt"]
52
+ # steps_out = request.args["Steps"]
53
+ # cfg_out = request.args["CFG"]
54
+ # num_images_out = request.args["Number of Images"]
55
+ # height_out = request.args["Height"]
56
+ # width_out = request.args["Width"]
57
+ # clip_skip_out = request.args["Clip Skip"]
58
+ # img_data = image_gen(prompts_out, neg_prompts_out, steps_out, cfg_out, num_images_out,
59
+ # height_out, width_out, clip_skip_out)
60
+ # return send_file(img_data, mimetype='image/png')
61
+ return "Hello World!"
62
+ '''
63
+
64
+
65
+ '''
66
+ @app.route('/', methods=['GET', 'POST'])
67
+ def index():
68
+ image_path = None
69
+ image_bytes =None
70
+ if request.method == 'POST':
71
+ prompts_out = request.form['prompts_out']
72
+ neg_prompts_out = request.form['neg_prompts_out']
73
+ steps_out = int(request.form['steps_out'])
74
+ cfg_out = int(request.form['cfg_out'])
75
+ num_images_out = int(request.form['num_images_out'])
76
+ height_out = int(request.form['height_out'])
77
+ width_out = int(request.form['width_out'])
78
+ clip_skip_out = int(request.form['clip_skip_out'])
79
+
80
+ ## seed = random.randrange(1, 100)
81
+
82
+ print("---------------------")
83
+ print("prompts out ", prompts_out)
84
+ print("neg prompt", neg_prompts_out)
85
+ print("---------------------")
86
+
87
+ image = image_gen(prompts_out, neg_prompts_out, steps_out, cfg_out, num_images_out,
88
+ height_out, width_out, clip_skip_out)
89
+
90
+ print(image)
91
+ print("---------------------")
92
+
93
+ image_bytes = io.BytesIO()
94
+ image.save(image_bytes, format="JPEG", quality=67)
95
+
96
+ image_bytes = base64.b64encode(image_bytes.getvalue()).decode('utf-8')
97
+ print(f"Generated image of size {len(image_bytes)} bytes.")
98
+
99
+ # img_str = base64.b64encode(image_bytes.getvalue())
100
+ # img_obj = "data:image/png;base64," + str(img_str)[2:-1]
101
+
102
+ # return Response(image_bytes, mimetype="image/jpeg")
103
+
104
+ # return render_template('result.html',image=img_obj)
105
+
106
+ return render_template('index.html', image_path=image_bytes)
107
+ '''
108
+
109
+ """
110
+ @app.route('/')
111
+ def hello():
112
+ return {"test": "Hello world!"}
113
+ """