Date | What/Why |
---|---|
2022/12/12 |
Initial draft. |
2023/01/30 |
Directory structure change. |
2023/05/26 |
Fixed the notation of tool names and parentheses and parameters. |
-
Reference/Related documents
-
GitHub Document
-
-
Version Jupyter Notebooks for downloading datasets
-
Version Jupyter Notebooks for AI model quantization
-
Version post-processing source code
-
The following is an example of how to operate version control
-
Follow team or project operating rules, if any
-
About the SDK directory structure:
-
This SDK has a separate directory for each feature type as follows
-
Features are independent of each other and can be independently versioned
/tutorials /_common /1_initialize /2_prepare_dataset /3_prepare_model /4_prepare_application /5_evaluate /.devcontainer /README.md
-
Feature type | Control target | Description | Possible fix | Purpose of version control (example) |
---|---|---|---|---|
prepare dataset |
Notebooks, configuration files |
Jupyter Notebooks to download image data for learning |
Edit various settings according to your purpose. (Image category, number of images acquired, etc.) |
Record the parameters and settings specified at the time of image download, |
prepare model |
Notebooks for learning, quantization, configuration files |
Jupyter Notebooks for learning and quantizing your own AI models |
Edit various settings according to your purpose. |
Record parameters and other information used to learn and quantize the model, |
prepare application |
A set of post-processing sources, Makefile |
Source code describing AI model post-processing, |
Develop post-processing logic. |
Improve development efficiency by keeping a history of updates. |
-
Branch
-
By creating a branch, multiple feature development can proceed simultaneously
-
It can also be independently versioned
by editing the prepare dataset, prepare model and prepare application in separate branches-
Branch operation example:
main │-- feature/prepare_application/object_detection_xxx (1) │-- feature/prepare_application/image_classification_xxx (2) │-- feature/prepare_model/xxx (3) │-- feature/prepare_dataset/xxx (4) │-- bugfix/XXX (5)
(1) Feature development branch for object detection model
(2) Feature development branch for image classification model
(3) AI model creation management branch
(4) Dataset download management branch
(5) Bug fix branch
-
-
-
Commit history
-
Commit changes to a file when you want to save them, so you can refer to them later as a revision history
-
Operating example:
-
Save notebook runtime information
-
Commit to the Git branch with notebooks edited
-
You can reference the settings from your commit history
if you want to rerun your notebook with the same parameter settings as in the past
-
-
In addition, by tying information from the data used for input to the commit, you can reproduce the notebook execution under identical conditions (input data, parameters)
-
It’s up to the user how to tie input data to a commit, but an example is to write it as a commit message
-
Sample commit message (for quantize model):
Quantization test description: xxxxxx input model: <url_to_model_resistry> dataset: <url_to_dataset_resistry> .... # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Committer: XXXXXX # # On branch feature/quantize/xxx # Changes to be committed: # modified: xxxx.ipynb
-
-
-
-
-
-
-
Tag
-
Tagging commits makes it easier to access the version you need
-
Tagging with Git commands:
git tag -a [tag name] -m 'tag comment' [commit id]
-
-