New Meta Segment Anything Model 2 (SAM2) Docs page (#14794)
Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com>
This commit is contained in:
parent
6d5a68ec47
commit
ff1fc55aac
9 changed files with 679 additions and 17 deletions
|
|
@ -321,3 +321,90 @@ We explored IBM Watsonx key features, and how to train a YOLOv8 model using IBM
|
|||
For further details on usage, visit [IBM Watsonx official documentation](https://www.ibm.com/watsonx).
|
||||
|
||||
Also, be sure to check out the [Ultralytics integration guide page](./index.md), to learn more about different exciting integrations.
|
||||
|
||||
## FAQ
|
||||
|
||||
### How do I train a YOLOv8 model using IBM Watsonx?
|
||||
|
||||
To train a YOLOv8 model using IBM Watsonx, follow these steps:
|
||||
|
||||
1. **Set Up Your Environment**: Create an IBM Cloud account and set up a Watsonx.ai project. Use a Jupyter Notebook for your coding environment.
|
||||
2. **Install Libraries**: Install necessary libraries like `torch`, `opencv`, and `ultralytics`.
|
||||
3. **Load Data**: Use the Kaggle API to load your dataset into Watsonx.
|
||||
4. **Preprocess Data**: Organize your dataset into the required directory structure and update the `.yaml` configuration file.
|
||||
5. **Train the Model**: Use the YOLO command-line interface to train your model with specific parameters like `epochs`, `batch size`, and `learning rate`.
|
||||
6. **Test and Evaluate**: Run inference to test the model and evaluate its performance using metrics like precision and recall.
|
||||
|
||||
For detailed instructions, refer to our [YOLOv8 Model Training guide](../modes/train.md).
|
||||
|
||||
### What are the key features of IBM Watsonx for AI model training?
|
||||
|
||||
IBM Watsonx offers several key features for AI model training:
|
||||
|
||||
- **Watsonx.ai**: Provides tools for AI development, including access to IBM-supported custom models and third-party models like Llama 3. It includes the Prompt Lab, Tuning Studio, and Flows Engine for comprehensive AI lifecycle management.
|
||||
- **Watsonx.data**: Supports cloud and on-premises deployments, offering centralized data access, efficient query engines like Presto and Spark, and an AI-powered semantic layer.
|
||||
- **Watsonx.governance**: Automates compliance, manages risk with alerts, and provides tools for detecting issues like bias and drift. It also includes dashboards and reporting tools for collaboration.
|
||||
|
||||
For more information, visit the [IBM Watsonx official documentation](https://www.ibm.com/watsonx).
|
||||
|
||||
### Why should I use IBM Watsonx for training Ultralytics YOLOv8 models?
|
||||
|
||||
IBM Watsonx is an excellent choice for training Ultralytics YOLOv8 models due to its comprehensive suite of tools that streamline the AI lifecycle. Key benefits include:
|
||||
|
||||
- **Scalability**: Easily scale your model training with IBM Cloud services.
|
||||
- **Integration**: Seamlessly integrate with various data sources and APIs.
|
||||
- **User-Friendly Interface**: Simplifies the development process with a collaborative and intuitive interface.
|
||||
- **Advanced Tools**: Access to powerful tools like the Prompt Lab, Tuning Studio, and Flows Engine for enhancing model performance.
|
||||
|
||||
Learn more about [Ultralytics YOLOv8](https://github.com/ultralytics/ultralytics) and how to train models using IBM Watsonx in our [integration guide](./index.md).
|
||||
|
||||
### How can I preprocess my dataset for YOLOv8 training on IBM Watsonx?
|
||||
|
||||
To preprocess your dataset for YOLOv8 training on IBM Watsonx:
|
||||
|
||||
1. **Organize Directories**: Ensure your dataset follows the YOLO directory structure with separate subdirectories for images and labels within the train/val/test split.
|
||||
2. **Update .yaml File**: Modify the `.yaml` configuration file to reflect the new directory structure and class names.
|
||||
3. **Run Preprocessing Script**: Use a Python script to reorganize your dataset and update the `.yaml` file accordingly.
|
||||
|
||||
Here's a sample script to organize your dataset:
|
||||
|
||||
```python
|
||||
import os
|
||||
import shutil
|
||||
|
||||
|
||||
def organize_files(directory):
|
||||
for subdir in ["train", "test", "val"]:
|
||||
subdir_path = os.path.join(directory, subdir)
|
||||
if not os.path.exists(subdir_path):
|
||||
continue
|
||||
|
||||
images_dir = os.path.join(subdir_path, "images")
|
||||
labels_dir = os.path.join(subdir_path, "labels")
|
||||
|
||||
os.makedirs(images_dir, exist_ok=True)
|
||||
os.makedirs(labels_dir, exist_ok=True)
|
||||
|
||||
for filename in os.listdir(subdir_path):
|
||||
if filename.endswith(".txt"):
|
||||
shutil.move(os.path.join(subdir_path, filename), os.path.join(labels_dir, filename))
|
||||
elif filename.endswith(".jpg") or filename.endswith(".png") or filename.endswith(".jpeg"):
|
||||
shutil.move(os.path.join(subdir_path, filename), os.path.join(images_dir, filename))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
directory = f"{work_dir}/trash_ICRA19/dataset"
|
||||
organize_files(directory)
|
||||
```
|
||||
|
||||
For more details, refer to our [data preprocessing guide](../guides/preprocessing_annotated_data.md).
|
||||
|
||||
### What are the prerequisites for training a YOLOv8 model on IBM Watsonx?
|
||||
|
||||
Before you start training a YOLOv8 model on IBM Watsonx, ensure you have the following prerequisites:
|
||||
|
||||
- **IBM Cloud Account**: Create an account on IBM Cloud to access Watsonx.ai.
|
||||
- **Kaggle Account**: For loading datasets, you'll need a Kaggle account and an API key.
|
||||
- **Jupyter Notebook**: Set up a Jupyter Notebook environment within Watsonx.ai for coding and model training.
|
||||
|
||||
For more information on setting up your environment, visit our [Ultralytics Installation guide](../quickstart.md).
|
||||
|
|
|
|||
|
|
@ -108,3 +108,102 @@ We've explored how JupyterLab can be a powerful tool for experimenting with Ultr
|
|||
For more details, visit the [JupyterLab FAQ Page](https://jupyterlab.readthedocs.io/en/stable/getting_started/faq.html).
|
||||
|
||||
Interested in more YOLOv8 integrations? Check out the [Ultralytics integration guide](./index.md) to explore additional tools and capabilities for your machine learning projects.
|
||||
|
||||
## FAQ
|
||||
|
||||
### How do I use JupyterLab to train a YOLOv8 model?
|
||||
|
||||
To train a YOLOv8 model using JupyterLab:
|
||||
|
||||
1. Install JupyterLab and the Ultralytics package:
|
||||
|
||||
```python
|
||||
pip install jupyterlab ultralytics
|
||||
```
|
||||
|
||||
2. Launch JupyterLab and open a new notebook.
|
||||
|
||||
3. Import the YOLO model and load a pretrained model:
|
||||
|
||||
```python
|
||||
from ultralytics import YOLO
|
||||
|
||||
model = YOLO("yolov8n.pt")
|
||||
```
|
||||
|
||||
4. Train the model on your custom dataset:
|
||||
|
||||
```python
|
||||
results = model.train(data="path/to/your/data.yaml", epochs=100, imgsz=640)
|
||||
```
|
||||
|
||||
5. Visualize training results using JupyterLab's built-in plotting capabilities:
|
||||
```python
|
||||
%matplotlib inline
|
||||
from ultralytics.utils.plotting import plot_results
|
||||
plot_results(results)
|
||||
```
|
||||
|
||||
JupyterLab's interactive environment allows you to easily modify parameters, visualize results, and iterate on your model training process.
|
||||
|
||||
### What are the key features of JupyterLab that make it suitable for YOLOv8 projects?
|
||||
|
||||
JupyterLab offers several features that make it ideal for YOLOv8 projects:
|
||||
|
||||
1. Interactive code execution: Test and debug YOLOv8 code snippets in real-time.
|
||||
2. Integrated file browser: Easily manage datasets, model weights, and configuration files.
|
||||
3. Flexible layout: Arrange multiple notebooks, terminals, and output windows side-by-side for efficient workflow.
|
||||
4. Rich output display: Visualize YOLOv8 detection results, training curves, and model performance metrics inline.
|
||||
5. Markdown support: Document your YOLOv8 experiments and findings with rich text and images.
|
||||
6. Extension ecosystem: Enhance functionality with extensions for version control, [remote computing](google-colab.md), and more.
|
||||
|
||||
These features allow for a seamless development experience when working with YOLOv8 models, from data preparation to model deployment.
|
||||
|
||||
### How can I optimize YOLOv8 model performance using JupyterLab?
|
||||
|
||||
To optimize YOLOv8 model performance in JupyterLab:
|
||||
|
||||
1. Use the autobatch feature to determine the optimal batch size:
|
||||
|
||||
```python
|
||||
from ultralytics.utils.autobatch import autobatch
|
||||
|
||||
optimal_batch_size = autobatch(model)
|
||||
```
|
||||
|
||||
2. Implement [hyperparameter tuning](../guides/hyperparameter-tuning.md) using libraries like Ray Tune:
|
||||
|
||||
```python
|
||||
from ultralytics.utils.tuner import run_ray_tune
|
||||
|
||||
best_results = run_ray_tune(model, data="path/to/data.yaml")
|
||||
```
|
||||
|
||||
3. Visualize and analyze model metrics using JupyterLab's plotting capabilities:
|
||||
|
||||
```python
|
||||
from ultralytics.utils.plotting import plot_results
|
||||
|
||||
plot_results(results.results_dict)
|
||||
```
|
||||
|
||||
4. Experiment with different model architectures and [export formats](../modes/export.md) to find the best balance of speed and accuracy for your specific use case.
|
||||
|
||||
JupyterLab's interactive environment allows for quick iterations and real-time feedback, making it easier to optimize your YOLOv8 models efficiently.
|
||||
|
||||
### How do I handle common issues when working with JupyterLab and YOLOv8?
|
||||
|
||||
When working with JupyterLab and YOLOv8, you might encounter some common issues. Here's how to handle them:
|
||||
|
||||
1. GPU memory issues:
|
||||
|
||||
- Use `torch.cuda.empty_cache()` to clear GPU memory between runs.
|
||||
- Adjust batch size or image size to fit your GPU memory.
|
||||
|
||||
2. Package conflicts:
|
||||
|
||||
- Create a separate conda environment for your YOLOv8 projects to avoid conflicts.
|
||||
- Use `!pip install package_name` in a notebook cell to install missing packages.
|
||||
|
||||
3. Kernel crashes:
|
||||
- Restart the kernel and run cells one by one to identify the problematic code.
|
||||
|
|
|
|||
|
|
@ -90,3 +90,50 @@ We've seen how Kaggle can boost your YOLOv8 projects by providing free access to
|
|||
For more details, visit [Kaggle's documentation](https://www.kaggle.com/docs).
|
||||
|
||||
Interested in more YOLOv8 integrations? Check out the[ Ultralytics integration guide](https://docs.ultralytics.com/integrations/) to explore additional tools and capabilities for your machine learning projects.
|
||||
|
||||
## FAQ
|
||||
|
||||
### How do I train a YOLOv8 model on Kaggle?
|
||||
|
||||
Training a YOLOv8 model on Kaggle is straightforward. First, access the [Kaggle YOLOv8 Notebook](https://www.kaggle.com/ultralytics/yolov8). Sign in to your Kaggle account, copy and edit the notebook, and select a GPU under the accelerator settings. Run the notebook cells to start training. For more detailed steps, refer to our [YOLOv8 Model Training guide](../modes/train.md).
|
||||
|
||||
### What are the benefits of using Kaggle for YOLOv8 model training?
|
||||
|
||||
Kaggle offers several advantages for training YOLOv8 models:
|
||||
|
||||
- **Free GPU Access**: Utilize powerful GPUs like Nvidia Tesla P100 or T4 x2 for up to 30 hours per week.
|
||||
- **Pre-installed Libraries**: Libraries like TensorFlow and PyTorch are pre-installed, simplifying the setup.
|
||||
- **Community Collaboration**: Engage with a vast community of data scientists and machine learning enthusiasts.
|
||||
- **Version Control**: Easily manage different versions of your notebooks and revert to previous versions if needed.
|
||||
|
||||
For more details, visit our [Ultralytics integration guide](https://docs.ultralytics.com/integrations/).
|
||||
|
||||
### What common issues might I encounter when using Kaggle for YOLOv8, and how can I resolve them?
|
||||
|
||||
Common issues include:
|
||||
|
||||
- **Access to GPUs**: Ensure you activate a GPU in your notebook settings. Kaggle allows up to 30 hours of GPU usage per week.
|
||||
- **Dataset Licenses**: Check the license of each dataset to understand usage restrictions.
|
||||
- **Saving and Committing Notebooks**: Click "Save Version" to save your notebook's state and access output files from the Output tab.
|
||||
- **Collaboration**: Kaggle supports asynchronous collaboration; multiple users cannot edit a notebook simultaneously.
|
||||
|
||||
For more troubleshooting tips, see our [Common Issues guide](../guides/yolo-common-issues.md).
|
||||
|
||||
### Why should I choose Kaggle over other platforms like Google Colab for training YOLOv8 models?
|
||||
|
||||
Kaggle offers unique features that make it an excellent choice:
|
||||
|
||||
- **Public Notebooks**: Share your work with the community for feedback and collaboration.
|
||||
- **Free Access to TPUs**: Speed up training with powerful TPUs without extra costs.
|
||||
- **Comprehensive History**: Track changes over time with a detailed history of notebook commits.
|
||||
- **Resource Availability**: Significant resources are provided for each notebook session, including 12 hours of execution time for CPU and GPU sessions.
|
||||
For a comparison with Google Colab, refer to our [Google Colab guide](./google-colab.md).
|
||||
|
||||
### How can I revert to a previous version of my Kaggle notebook?
|
||||
|
||||
To revert to a previous version:
|
||||
|
||||
1. Open the notebook and click on the three vertical dots in the top right corner.
|
||||
2. Select "View Versions."
|
||||
3. Find the version you want to revert to, click on the "..." menu next to it, and select "Revert to Version."
|
||||
4. Click "Save Version" to commit the changes.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue