Comments (8)
👋 Hello @ssatz, thank you for your interest in Ultralytics YOLOv8 🚀! We recommend a visit to the Docs for new users where you can find many Python and CLI usage examples and where many of the most common questions may already be answered.
If this is a 🐛 Bug Report, please provide a minimum reproducible example to help us debug it.
If this is a custom training ❓ Question, please provide as much information as possible, including dataset image examples and training logs, and verify you are following our Tips for Best Training Results.
Join the vibrant Ultralytics Discord 🎧 community for real-time conversations and collaborations. This platform offers a perfect space to inquire, showcase your work, and connect with fellow Ultralytics users.
Install
Pip install the ultralytics
package including all requirements in a Python>=3.8 environment with PyTorch>=1.8.
pip install ultralytics
Environments
YOLOv8 may be run in any of the following up-to-date verified environments (with all dependencies including CUDA/CUDNN, Python and PyTorch preinstalled):
- Notebooks with free GPU:
- Google Cloud Deep Learning VM. See GCP Quickstart Guide
- Amazon Deep Learning AMI. See AWS Quickstart Guide
- Docker Image. See Docker Quickstart Guide
Status
If this badge is green, all Ultralytics CI tests are currently passing. CI tests verify correct operation of all YOLOv8 Modes and Tasks on macOS, Windows, and Ubuntu every 24 hours and on every commit.
from ultralytics.
Hi Sathish,
Great to hear about your success with table detection! For the issue with short rows in table structure recognition, it might be related to how the rows are labeled or the model's sensitivity to smaller objects. Here are a couple of suggestions:
- Labeling Consistency: Ensure that the labeling is consistent across the dataset, especially for shorter rows. Sometimes, inconsistencies can lead to poor model performance for specific cases.
- Increase Dataset Size: A dataset size of 40 might be quite small for the model to generalize well, especially for complex structures like tables. If possible, try increasing the dataset size.
- Model Configuration: Adjust the model's anchor sizes or use a model configuration that is better suited for detecting smaller or thinner objects.
Here's a quick example of adjusting anchor sizes in your model configuration file:
anchors:
- [10,13, 16,30, 33,23] # smaller anchors
Hope this helps! Keep us posted on your progress.
from ultralytics.
@glenn-jocher thanks for the suggestion. anchor boxes are calculated based on dataset by yolo automatically right? To increase dataset size I will be using pub1m dataset which I have to convert pascal to yolo format. I will posting my progress here.
from ultralytics.
Hi there!
Yes, YOLOv8 can automatically calculate optimal anchor boxes based on your dataset during the training process. Using the pub1m dataset sounds like a great plan to enhance your model's performance. Converting from Pascal VOC to YOLO format is straightforward, and you can use tools like Roboflow to help with the conversion.
Looking forward to seeing your updates on this! Keep us posted. 😊
from ultralytics.
@glenn-jocher I have converted all the annotation formats to Yolov8, and I don't see the difference in Yolov5 and Yolov8 annotation formats. I'm wondering how to train the Pub1m and Fintab datasets. Should I combine them or first train Pub1m and then use that model to train Fintab? What's the best approach?
from ultralytics.
Hi there!
Great job on converting your annotations! Regarding training on the Pub1m and Fintab datasets, combining them into a single dataset for training can be beneficial if the table structures in both datasets are similar, as it would provide a more diverse set of examples for the model to learn from. This approach generally helps improve the model's robustness and generalization capabilities.
If the datasets are quite different in terms of table structure or content, you might consider training on Pub1m first to establish a solid baseline model, and then fine-tune on Fintab to adapt to its specific characteristics.
Both strategies have their merits, so the best approach might depend on the specifics of the datasets and your project goals. Keep experimenting and let us know how it goes! 😊
from ultralytics.
@glenn-jocher Thanks 🙏! We did it! After nearly 30 hours, we've successfully trained.
Metrics:
![image](https://private-user-images.githubusercontent.com/6892242/337851152-c1574bc6-68be-4850-b547-edc0d4aeed9c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTc4NTc1NTQsIm5iZiI6MTcxNzg1NzI1NCwicGF0aCI6Ii82ODkyMjQyLzMzNzg1MTE1Mi1jMTU3NGJjNi02OGJlLTQ4NTAtYjU0Ny1lZGMwZDRhZWVkOWMucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDYwOCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA2MDhUMTQzNDE0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MWVjODg1M2Q1YjkxZTQ1ZmRkODhkMjY4MGE4NjI2ODVjNWU4MjYxOGNjZmZkZDE4ZTA3MGNjODAwN2U2NWQyYiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.4IOBFFPCFVihgIrnL_3T-oBhvJ7jOnJxK7ZQD7eEFes)
Here is the Yolo format data https://huggingface.co/datasets/Codeplug/pub-fintab-yolov
Furthermore we will experiment with our own dataset
For training the dataset we have used Runpod
from ultralytics.
Hi @ssatz,
That's fantastic news! 🎉 Congratulations on successfully training your model! Your metrics look impressive, and it's great to see the progress you've made.
For your next steps, experimenting with your own dataset sounds like a solid plan. Here are a few tips to help you get the most out of your training:
-
Fine-Tuning: If you haven't already, consider fine-tuning your model on your specific dataset. This can help the model adapt better to the nuances of your data.
-
Data Augmentation: Utilize data augmentation techniques to increase the variability in your training data. This can help improve the model's robustness and generalization.
-
Hyperparameter Tuning: Experiment with different hyperparameters such as learning rate, batch size, and epochs to find the optimal settings for your dataset.
-
Validation: Ensure you have a robust validation set to monitor the model's performance and avoid overfitting.
Here's a quick example of how you might set up your training script in Python:
from ultralytics import YOLO
# Load your model
model = YOLO("yolov8n-seg.pt")
# Train the model on your dataset
results = model.train(data="path/to/your/dataset.yaml", epochs=100, imgsz=640, batch=16, lr0=0.01)
# Fine-tune on a specific dataset if needed
fine_tune_results = model.train(data="path/to/your/fine-tune-dataset.yaml", epochs=50, imgsz=640, batch=16, lr0=0.001)
And for CLI:
# Train on your dataset
yolo detect train data=path/to/your/dataset.yaml model=yolov8n-seg.pt epochs=100 imgsz=640 batch=16 lr0=0.01
# Fine-tune on a specific dataset
yolo detect train data=path/to/your/fine-tune-dataset.yaml model=path/to/your/trained-model.pt epochs=50 imgsz=640 batch=16 lr0=0.001
Keep us posted on your progress, and feel free to reach out if you have any more questions or need further assistance. Happy training! 🚀
from ultralytics.
Related Issues (20)
- Bug heatmap ultralytics 8.1.34 HOT 4
- How do I get the coordinates of detected objects in yolov8 in real time and print? HOT 6
- Seeking Guidance on Integrating SuperPoint with YOLOv8 for Improved Keypoint and Object Detection HOT 2
- show_labels=False, show_conf=False parameters won't work (ultralytics==8.2.25) HOT 4
- Custom callback function HOT 8
- How to display OKS scores HOT 4
- Using OBB for pick and place on a robotic arm HOT 3
- Object Counting HOT 3
- Results of the same images different when used in validation or prediction HOT 5
- custom model architecture plot HOT 2
- Custom model in YOLOv8 HOT 5
- Custom Model Can Not Detection Object When Converted CoreML HOT 8
- Discrepancy in confusion matrix and Prediction.jon HOT 2
- Preprocessing bottleneck in YOLOv8 Classification HOT 19
- MacOS error with TFLite model inference end2end model HOT 1
- Segmentation for RTDERT HOT 3
- Change evaluation period HOT 4
- How does the confusion matrix of the object detection module works? HOT 4
- Difference between C2f and C2 HOT 5
- anchors of yolov8 HOT 4
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 ultralytics.