Bhushan26 commited on
Commit
8e594c9
1 Parent(s): b338d8f

Uploaded 7 changes

Browse files
Files changed (7) hide show
  1. .gitattributes +35 -35
  2. Dockerfile +14 -0
  3. README.md +10 -10
  4. default +49 -0
  5. default.pub +1 -0
  6. main.py +95 -0
  7. requirements.txt +4 -0
.gitattributes CHANGED
@@ -1,35 +1,35 @@
1
- *.7z filter=lfs diff=lfs merge=lfs -text
2
- *.arrow filter=lfs diff=lfs merge=lfs -text
3
- *.bin filter=lfs diff=lfs merge=lfs -text
4
- *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
- *.ftz filter=lfs diff=lfs merge=lfs -text
7
- *.gz filter=lfs diff=lfs merge=lfs -text
8
- *.h5 filter=lfs diff=lfs merge=lfs -text
9
- *.joblib filter=lfs diff=lfs merge=lfs -text
10
- *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
- *.model filter=lfs diff=lfs merge=lfs -text
13
- *.msgpack filter=lfs diff=lfs merge=lfs -text
14
- *.npy filter=lfs diff=lfs merge=lfs -text
15
- *.npz filter=lfs diff=lfs merge=lfs -text
16
- *.onnx filter=lfs diff=lfs merge=lfs -text
17
- *.ot filter=lfs diff=lfs merge=lfs -text
18
- *.parquet filter=lfs diff=lfs merge=lfs -text
19
- *.pb filter=lfs diff=lfs merge=lfs -text
20
- *.pickle filter=lfs diff=lfs merge=lfs -text
21
- *.pkl filter=lfs diff=lfs merge=lfs -text
22
- *.pt filter=lfs diff=lfs merge=lfs -text
23
- *.pth filter=lfs diff=lfs merge=lfs -text
24
- *.rar filter=lfs diff=lfs merge=lfs -text
25
- *.safetensors filter=lfs diff=lfs merge=lfs -text
26
- saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
- *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
- *.tflite filter=lfs diff=lfs merge=lfs -text
30
- *.tgz filter=lfs diff=lfs merge=lfs -text
31
- *.wasm filter=lfs diff=lfs merge=lfs -text
32
- *.xz filter=lfs diff=lfs merge=lfs -text
33
- *.zip filter=lfs diff=lfs merge=lfs -text
34
- *.zst filter=lfs diff=lfs merge=lfs -text
35
- *tfevents* filter=lfs diff=lfs merge=lfs -text
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
Dockerfile ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # read the doc: https://huggingface.co/docs/hub/spaces-sdks-docker
2
+ # you will also find guides on how best to write your Dockerfile
3
+
4
+ FROM python:3.9
5
+
6
+ WORKDIR /code
7
+
8
+ COPY ./requirements.txt /code/requirements.txt
9
+
10
+ RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
11
+
12
+ COPY . .
13
+
14
+ CMD ["gunicorn", "-b", "0.0.0.0:7860", "app.main:app"]
README.md CHANGED
@@ -1,10 +1,10 @@
1
- ---
2
- title: Wearon
3
- emoji: 🌍
4
- colorFrom: green
5
- colorTo: gray
6
- sdk: docker
7
- pinned: false
8
- ---
9
-
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
+ ---
2
+ title: Wearon
3
+ emoji: 🌍
4
+ colorFrom: green
5
+ colorTo: gray
6
+ sdk: docker
7
+ pinned: false
8
+ ---
9
+
10
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
default ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ -----BEGIN OPENSSH PRIVATE KEY-----
2
+ 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
49
+ -----END OPENSSH PRIVATE KEY-----
default.pub ADDED
@@ -0,0 +1 @@
 
 
1
+ ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQColMaIK+Nz+H8+88fQ6Ou5AkibVD+R5eING1nMARJTPew/4Md/Jqp1RdsP4I/jjX5sobFPeG5bQNtZBvLDn1AFZ4toT3G8+NNMTZQRcTdV6CImnJWN5bvosonzzNaztpXXWHu/NRPHYPp3APFNPtSMnDyF5/9nywO9LnBok232ltJfOipEYfG2tSyubDaJm0Hxx0xWyAuBfuT4wd5FDZmDEmRsIEnazcZ0hKKmmdSZxX1CuRzO2Duex//zw1SsdkBIEnEVbPcR+KQWskrym605lKNkGx7dI/S/sWyVdM1LDcNP2hCdfByKYGmQ5T60lTjzGUYOCQC5IMVtha52jpYpwoHCfocoHX8PCqIdCvDS7N3WyC0zsMtsmws5oSaF9EjpT7O1z1yRA913tPZQ//4/M9yeiNKBJgh4wsGcXSaGFil2hLbI2wiB76GLcrMdQyuN3kSn3hUHCV/428C+keb2ux7Q0uiKmVHf4Kqjx3itp2wAq5n5KcKe0E89r3z4kPDIJbJma4MXA5qBpEvvy0ny4HEiz5jJWoAAPZLB+wJDzwzz60oaUXIDHFPjVh1Yt2VZs4cDcxOPRYkE82yfSxIY7lJH6S9EVA3cRij9r3RBcUMr7RDFYQKarp4DNCYiRVFFfzkQb1696ibauzrfxHAG8fqkDw5LRm8zwm7qQrdUFw== [email protected]
main.py ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from flask import Flask, request, jsonify, send_from_directory
2
+ from gradio_client import Client, file
3
+ from flask_cors import CORS
4
+ import os
5
+ import traceback
6
+ import shutil
7
+ import base64
8
+
9
+ app = Flask(__name__)
10
+ CORS(app)
11
+
12
+ client = Client("yisol/IDM-VTON")
13
+
14
+ # Directory to save uploaded and processed files
15
+ UPLOAD_FOLDER = 'static/uploads'
16
+ RESULT_FOLDER = 'static/results'
17
+ if not os.path.exists(UPLOAD_FOLDER):
18
+ os.makedirs(UPLOAD_FOLDER)
19
+ if not os.path.exists(RESULT_FOLDER):
20
+ os.makedirs(RESULT_FOLDER)
21
+
22
+ app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
23
+ app.config['RESULT_FOLDER'] = RESULT_FOLDER
24
+
25
+ @app.route('/process', methods=['POST'])
26
+ def predict():
27
+ try:
28
+ # Get the product image URL from the request
29
+ product_image_url = request.form.get('product_image_url')
30
+
31
+ # Handle the uploaded model image
32
+ if 'model_image' not in request.files:
33
+ return jsonify(error='No model image file provided'), 400
34
+
35
+ model_image = request.files['model_image']
36
+ if model_image.filename == '':
37
+ return jsonify(error='No selected file'), 400
38
+
39
+ # Save the uploaded file to the upload directory
40
+ filename = os.path.join(app.config['UPLOAD_FOLDER'], model_image.filename)
41
+ model_image.save(filename)
42
+
43
+ base_path = os.getcwd()
44
+ full_filename = os.path.normpath(os.path.join(base_path, filename))
45
+
46
+ print("Product image = ", product_image_url)
47
+ print("Model image = ", full_filename)
48
+
49
+ # Perform prediction
50
+ try:
51
+ result = client.predict(
52
+ dict={"background": file(full_filename), "layers": [], "composite": None},
53
+ garm_img=file(product_image_url),
54
+ garment_des="Hello!!",
55
+ is_checked=True,
56
+ is_checked_crop=False,
57
+ denoise_steps=30,
58
+ seed=42,
59
+ api_name="/tryon"
60
+ )
61
+ except Exception as e:
62
+ traceback.print_exc()
63
+ raise
64
+
65
+ print(result)
66
+ # Extract the path of the first output image
67
+ output_image_path = result[0]
68
+
69
+ # Copy the output image to the RESULT_FOLDER
70
+ output_image_filename = os.path.basename(output_image_path)
71
+ local_output_path = os.path.join(app.config['RESULT_FOLDER'], output_image_filename)
72
+ shutil.copy(output_image_path, local_output_path)
73
+
74
+ # Remove the uploaded file after processing
75
+ os.remove(filename)
76
+
77
+ # Encode the output image in base64
78
+ with open(local_output_path, "rb") as image_file:
79
+ encoded_image = base64.b64encode(image_file.read()).decode('utf-8')
80
+
81
+ # Return the output image in JSON format
82
+ return jsonify(image=encoded_image), 200
83
+
84
+ except Exception as e:
85
+ traceback.print_exc()
86
+ return jsonify(error=str(e)), 500
87
+
88
+ @app.route('/uploads/<filename>')
89
+ def uploaded_file(filename):
90
+ return send_from_directory(app.config['UPLOAD_FOLDER'], filename)
91
+
92
+ if __name__ == '__main__':
93
+ app.run(host='0.0.0.0', port=5000)
94
+
95
+
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ flask
2
+ flask-cors
3
+ gradio_client
4
+ gunicorn