Spaces:
Runtime error
Runtime error
feat: working with twin 🍩🍩s
Browse files
app.py
CHANGED
|
@@ -66,16 +66,41 @@ st.text(f'{information} mode is ON!\nTarget receipt: {receipt}\n(opening image @
|
|
| 66 |
image = Image.open(f"./img/receipt-{receipt}.jpg")
|
| 67 |
st.image(image, caption='Your target receipt')
|
| 68 |
|
| 69 |
-
st.text(f'baking the
|
| 70 |
-
processor = DonutProcessor.from_pretrained("unstructuredio/donut-base-sroie")
|
| 71 |
-
pretrained_model = VisionEncoderDecoderModel.from_pretrained("unstructuredio/donut-base-sroie")
|
| 72 |
|
| 73 |
-
|
| 74 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 75 |
|
| 76 |
-
|
| 77 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 78 |
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 66 |
image = Image.open(f"./img/receipt-{receipt}.jpg")
|
| 67 |
st.image(image, caption='Your target receipt')
|
| 68 |
|
| 69 |
+
st.text(f'baking the 🍩s...')
|
|
|
|
|
|
|
| 70 |
|
| 71 |
+
if information == 'Receipt Summary':
|
| 72 |
+
processor = DonutProcessor.from_pretrained("unstructuredio/donut-base-sroie")
|
| 73 |
+
pretrained_model = VisionEncoderDecoderModel.from_pretrained("unstructuredio/donut-base-sroie")
|
| 74 |
+
task_prompt = f"<s>"
|
| 75 |
+
device = "cuda" if torch.cuda.is_available() else "cpu"
|
| 76 |
+
pretrained_model.to(device)
|
| 77 |
|
| 78 |
+
elif information == 'Receipt Menu Details':
|
| 79 |
+
processor = DonutProcessor.from_pretrained("naver-clova-ix/donut-base-finetuned-cord-v2")
|
| 80 |
+
pretrained_model = VisionEncoderDecoderModel.from_pretrained("naver-clova-ix/donut-base-finetuned-cord-v2")
|
| 81 |
+
task_prompt = f"<s_cord-v2>"
|
| 82 |
+
device = "cuda" if torch.cuda.is_available() else "cpu"
|
| 83 |
+
pretrained_model.to(device)
|
| 84 |
+
|
| 85 |
+
else:
|
| 86 |
+
# st.text(f'NotImplemented: soon you will be able to use it..')
|
| 87 |
+
processor_a = DonutProcessor.from_pretrained("unstructuredio/donut-base-sroie")
|
| 88 |
+
processor_b = DonutProcessor.from_pretrained("naver-clova-ix/donut-base-finetuned-cord-v2")
|
| 89 |
+
pretrained_model_a = VisionEncoderDecoderModel.from_pretrained("unstructuredio/donut-base-sroie")
|
| 90 |
+
pretrained_model_b = VisionEncoderDecoderModel.from_pretrained("naver-clova-ix/donut-base-finetuned-cord-v2")
|
| 91 |
+
|
| 92 |
+
device = "cuda" if torch.cuda.is_available() else "cpu"
|
| 93 |
+
pretrained_model.to(device)
|
| 94 |
|
| 95 |
+
if information == 'Extract all!':
|
| 96 |
+
st.text(f'parsing receipt (extracting all)..')
|
| 97 |
+
pretrained_model, processor, task_prompt = pretrained_model_a, processor_a, f"<s>"
|
| 98 |
+
parsed_receipt_info_a = run_prediction(image)
|
| 99 |
+
pretrained_model, processor, task_prompt = pretrained_model_b, processor_b, f"<s_cord-v2>"
|
| 100 |
+
parsed_receipt_info_b = run_prediction(image)
|
| 101 |
+
st.text(f'\nRaw output a:\n{parsed_receipt_info_a}')
|
| 102 |
+
st.text(f'\nRaw output b:\n{parsed_receipt_info_b}')
|
| 103 |
+
else:
|
| 104 |
+
st.text(f'parsing receipt..')
|
| 105 |
+
parsed_receipt_info = run_prediction(image)
|
| 106 |
+
st.text(f'\nRaw output:\n{parsed_receipt_info}')
|