Comments (4)
I'm guessing if you made the change recently in the training it will need more epochs to adapt. However, you might have more success using or adapting another transform we include in the code but don't use for the paper and still haven't documented:
table-transformer/src/table_datasets.py
Line 86 in 3e1dd0c
This one can be used to crop directly to the table bounding box by doing TightAnnotationCrop([0], 0, 0, 0, 0), or with some random padding around the table bounding box by doing TightAnnotationCrop([0], 10, 10, 10, 10).
Keep in mind that this goes beyond what we do in the paper so we aren't officially supporting/documenting it at this time. However I hope you find it helpful!
from table-transformer.
Hi, yes this is expected behavior given the training data and data augmentation used in the paper.
However, we designed the data with robustness to padding around the table in mind. With small changes to the training code it should be easy to achieve whatever robustness you would like to padding around the true table border.
(As an aside, note that the reason we include padding in the training images is that if we had cropped all of the table images tightly to the table border then the opposite problem would be encountered: there would be no robustness to table images that have padding around the table.)
To achieve more robustness to different amounts of padding, the simplest change would be to increase the amount of cropping done during training here:
Line 75 in 3e1dd0c
You can also modify the transforms or make your own transform to achieve your desired result. The true border for every table is included in the labels so you can train a model with any amount of padding around the table you would like.
Hope that helps!
from table-transformer.
Hello,
Thanks for those clarifications.
I have made some tests modifying the RandomCrop
values, and the problem seems to persist. I have only managed to complete a couple epochs however. Should I expect an improvement when training for more epochs or I should modify more lines of code than just these:
To achieve more robustness to different amounts of padding, the simplest change would be to increase the amount of cropping done during training here:
Line 75 in 3e1dd0c
I have modified both the maximum crop and also the minimum crop inside the RandomCrop
transform.
Thanks again,
from table-transformer.
I believe I've addressed your question, so I will close this issue.
from table-transformer.
Related Issues (20)
- New v1.1 TATR checkpoints are now on Hugging Face HOT 1
- Question regarding postprocessing HOT 1
- How to handle the nesting of tables in PDF? HOT 1
- Loading Weights - not expected behaviour HOT 1
- Table is not getting identified completely after training. HOT 1
- Mapping of cells output with actual inference image
- table transformer : detection issue
- Where is the annotation script?
- ocr in tabletransformer error
- "Urgent"-Issue in null cell- null cell value getting overlapped by next cell value HOT 2
- Question on fine-tuning TATR with a proprietary dataset HOT 1
- What does spans mean in the cell output?
- Structure recognition output is not satisfying for some tables HOT 1
- Evaluation Script Freeze for Fine-tune Table Structure Recognition Model HOT 1
- i try pre-train model but not good
- Table transformer crop issue HOT 1
- create own datasets and train the model
- table_transformer relies on onnxruntime~=1.14.1, but onnxruntime==1.14.1 cannot be installed
- How do I perform Batch Inference for TSR? HOT 1
- Many short rows with financial table structure model HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from table-transformer.