-
Notifications
You must be signed in to change notification settings - Fork 177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
added roboflow example #855
base: main
Are you sure you want to change the base?
Conversation
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
|
||
Download the dataset. Your $DATASET_URL should look something like `neural-magic/soccer-player-detection-gjrbw/2`. | ||
```bash | ||
!roboflow download $DATASET_URL --format yolov5pytorch |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
!roboflow download $DATASET_URL --format yolov5pytorch | |
roboflow download $DATASET_URL --format yolov5pytorch |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm (from the logging code side, I did not dive deep into the technicalities of RoboFlow API). I would clean up the jupyter notebook though (a lot of ugly prints there)
5. Re-deploy the newly trained YOLOv5-s model with DeepSparse | ||
|
||
Run the following to install the packages needed for the Tutorial. We recommend you | ||
use a virtual enviornment with Python. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use a virtual enviornment with Python. | |
use a virtual environment with Python. |
This should be an em dash without spaces.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Line 64: Is ORT commonly known? If not, the acronym should be spelled out.
Lines 209-210: Something seems to be missing in the second part of this sentence. But, I can't figure it out. Is it really saying, "...passing the arguments to the constructor" the local path part as a qualifier?
In the loggers
section, we declare the RoboflowLogger
, passing a local path its definition in roboflow-logger.py
the arguments to the constructor (dataset_name
and api_key
).
|
||
## **What Is Continual Learning?** | ||
|
||
The distribution of the incoming data to your production model will vary over time as the enviornment evolves. For example input images to a YOLOv5 model will look very different on a sunny day versus on a rainy day. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The distribution of the incoming data to your production model will vary over time as the enviornment evolves. For example input images to a YOLOv5 model will look very different on a sunny day versus on a rainy day. | |
The distribution of the incoming data to your production model will vary over time as the environment evolves. For example, input images to a YOLOv5 model will look very different on a sunny day versus on a rainy day. |
|
||
## **Tutorial Overview** | ||
|
||
This example will demonstrate how to setup a Continual Learning system with Neural Magic and Roboflow |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This example will demonstrate how to setup a Continual Learning system with Neural Magic and Roboflow | |
This example will demonstrate how to set up a Continual Learning system with Neural Magic and Roboflow |
to train YOLOv5-s to detect soccer players in video clips. | ||
|
||
There are 5 steps: | ||
1. Deploy a YOLOv5-s model trained on COCO with DeepSparse |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1. Deploy a YOLOv5-s model trained on COCO with DeepSparse | |
1. Deploy a YOLOv5-s model trained on COCO with DeepSparse. |
|
||
There are 5 steps: | ||
1. Deploy a YOLOv5-s model trained on COCO with DeepSparse | ||
2. Log raw images from production to Roboflow |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2. Log raw images from production to Roboflow | |
2. Log raw images from production to Roboflow. |
There are 5 steps: | ||
1. Deploy a YOLOv5-s model trained on COCO with DeepSparse | ||
2. Log raw images from production to Roboflow | ||
3. Label images with Roboflow |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
3. Label images with Roboflow | |
3. Label images with Roboflow. |
|
||
## **Step 5: Redeploy the New Model** | ||
|
||
We will create a new configuration file for the server which contains two endpoints - one with the sparse YOLOv5s |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We will create a new configuration file for the server which contains two endpoints - one with the sparse YOLOv5s | |
We will create a new configuration file for the Server which contains two endpoints—one with the sparse YOLOv5s |
trained on COCO and the sparse YOLOv5s fine-tuned on the production data. | ||
|
||
Note that we provided a `last.onnx` file (which we trained in the manner described above) in the `server` directory. | ||
You can swap a path to your ONNX file if desired. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can swap a path to your ONNX file if desired. | |
You can swap a path to your ONNX file, if desired. |
|
||
You have successfully created a data flywheel for continual learning with DeepSparse and Roboflow! | ||
|
||
**Interested In Deploying DeepSparse To Production? [Start your 90 day free trial!](https://neuralmagic.com/deepsparse-free-trial/)** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
**Interested In Deploying DeepSparse To Production? [Start your 90 day free trial!](https://neuralmagic.com/deepsparse-free-trial/)** | |
**Interested in deploying DeepSparse to production? [Start your 90 day free trial!](https://neuralmagic.com/deepsparse-free-trial/)** |
|
||
#### **Send Request to the Server** | ||
|
||
Now that the model endpoint is running, we can send raw images over HTTP and recieve back |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now that the model endpoint is running, we can send raw images over HTTP and recieve back | |
Now that the model endpoint is running, we can send raw images over HTTP and receive back |
### **Train a Sparse YOLOv5 with SparseML** | ||
|
||
SparseML is an open-source optimization library which allows you to create sparse models trained on your dataset. One of the workflows enabled by | ||
SparseML is called Sparse Transfer Learning, which is similiar to typical transfer learning, except |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SparseML is called Sparse Transfer Learning, which is similiar to typical transfer learning, except | |
SparseML is called Sparse Transfer Learning, which is similar to typical transfer learning, except |
No description provided.