Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -8,13 +8,22 @@ processor = LayoutLMv3Processor.from_pretrained("microsoft/layoutlmv3-base")
|
|
| 8 |
model = LayoutLMv3ForQuestionAnswering.from_pretrained("microsoft/layoutlmv3-base")
|
| 9 |
|
| 10 |
def process_question(question, document):
|
|
|
|
|
|
|
| 11 |
encoding = processor(document, question, return_tensors="pt")
|
|
|
|
| 12 |
|
| 13 |
outputs = model(**encoding)
|
|
|
|
| 14 |
|
| 15 |
predicted_start_idx = outputs.start_logits.argmax(-1).item()
|
| 16 |
predicted_end_idx = outputs.end_logits.argmax(-1).item()
|
| 17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 18 |
answer_tokens = encoding.input_ids.squeeze()[predicted_start_idx: predicted_end_idx + 1]
|
| 19 |
answer = processor.tokenizer.decode(answer_tokens)
|
| 20 |
|
|
|
|
| 8 |
model = LayoutLMv3ForQuestionAnswering.from_pretrained("microsoft/layoutlmv3-base")
|
| 9 |
|
| 10 |
def process_question(question, document):
|
| 11 |
+
print(f"Debug - Processing Question: {question}")
|
| 12 |
+
|
| 13 |
encoding = processor(document, question, return_tensors="pt")
|
| 14 |
+
print(f"Debug - Encoding Input IDs: {encoding.input_ids}")
|
| 15 |
|
| 16 |
outputs = model(**encoding)
|
| 17 |
+
print(f"Debug - Model Outputs: {outputs}")
|
| 18 |
|
| 19 |
predicted_start_idx = outputs.start_logits.argmax(-1).item()
|
| 20 |
predicted_end_idx = outputs.end_logits.argmax(-1).item()
|
| 21 |
|
| 22 |
+
# Check if indices are valid
|
| 23 |
+
if predicted_start_idx < 0 or predicted_end_idx < 0:
|
| 24 |
+
print(f"Warning - Invalid prediction indices: start={predicted_start_idx}, end={predicted_end_idx}")
|
| 25 |
+
return ""
|
| 26 |
+
|
| 27 |
answer_tokens = encoding.input_ids.squeeze()[predicted_start_idx: predicted_end_idx + 1]
|
| 28 |
answer = processor.tokenizer.decode(answer_tokens)
|
| 29 |
|