Skip to content

Commit

Permalink
0.3.0 - Minor (#56)
Browse files Browse the repository at this point in the history
* 📖 Updated CHANGELOG.rst with skeletal outline of new features in EPD v0.3.0 - Minor.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 📖 Removed deprecated gui.png. Replaced it with epd_desktop.png for Desktop Shortcut Creation.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 Revamped GUI appearance with Sticker-stylized icons for homogeneity and author's taste. Instructions to be provided on how to customize icons in epd_docs at a later date.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔥 Removed Use Case = label and lengthened Visualize/Action toggle button for neater UI.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 Edited model.png for more standardized UI look.

Signed-off-by: Bey Hao Yun <[email protected]>

* ➕ Added label icons for Train GUI window.

Signed-off-by: Bey Hao Yun <[email protected]>

* 📖 🔨 Updated CHANGELOG.rst. Added new CLI feature to set input image topic. Verified.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔥 Removed Choose Model from label from Train GUI window.

Signed-off-by: Bey Hao Yun <[email protected]>

* 📖 Added P1 feature deprecation to v0.3.0 CHANGELOG.rst. Consensus obtained by owner.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔥 Removed Precision Level 1 training features in GUI. Updated unit testing in GUI_CI. Software bloat minimized. Addresses #5 and #11.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 Rectified missing default starting precision level 2 button grey-out.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 Fix for failing GUI_CI GitHub Action.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔥 Removed torch and torchvision dependencies installation in run.bash for GUI.

Signed-off-by: Bey Hao Yun <[email protected]>

* 📖 Updated CHANGELOG.rst for EPD and epd_msgs with P1 deprecation notices.

Signed-off-by: Bey Hao Yun <[email protected]>

* ➕ Included MAX_ITERATION, CHECKPOINT_PERIOD, TEST_PERIOD and STEPS gui button. Added unit testing. Added buttons do not serve any functions for now.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 Linked MAX_ITERATION, CHECKPOINT_PERIOD, TEST_PERIOD and STEPS gui button interation to P2 and P3 training config. Added buttons now functioning.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 Fix for resize function Assertion error when bounding box has either zero width or height.

Signed-off-by: Bey Hao Yun <[email protected]>

* ➕ Added p3_trian_verification.json in EPD config folder for incoming revamped dockerized P3 training workflow.

Signed-off-by: Bey Hao Yun <[email protected]>

* ➕ Included experimental docker dependencies within GUI_CI GitHub Action.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 Fix failing CI for GUI_CI GitHub Action.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 Included experimental docker run command to verify that docker has been properly installed in CI image.

Signed-off-by: Bey Hao Yun <[email protected]>

* ➕ 🔨 Added experimental revamped dockerizerd training workflow for P3 models. Preliminary unit testing passing locally. Awaiting online verification.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 Fixed for failing GUI_CI linting.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 Fix for failing CI GitHub Action linting.

Signed-off-by: Bey Hao Yun <[email protected]>

* ➕ Added test_P3Trainer_Training_installTrainingDependencies GUI unit testing. Awaiting online verification.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 Fix for failing GUI_CI.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 🔥 Remove GPU-reliant operation for P3 model training. Added test_P3Trainer_pullExporterDockerImage unit testing for GUI_CI GitHub Action.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 Fix for failing GUI_CI linting.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 Renamed all p3 training and export scripts to generic labels. Attempt combining of P2 and P3 dockerized training workflows.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 Fix for failing GUI_CI.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 Replaced p2 training and export workflow. Verified.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 Modified P2 and P3 training and export dockerized workflow to be seperate under epd_p<level>_trainer, epd_p<level>_exporter. For less confusing debugging for future developers.

Signed-off-by: Bey Hao Yun <[email protected]>

* ➕ Added additional unit-testing to cover non-GPU-reliant P2 training and exporting operatrions.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 Added missing p2_train_verification.json under EPD config dir.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 Fix for failing GUI_CI concerning delimiter in p2_train_verification.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 Uncommented train feature in P3 training. Renamed docker images for epd-p3-exporter to epd-exporter and epd-p3-trainfarm to epd-trainer.

Signed-off-by: Bey Hao Yun <[email protected]>

* ➕ Added custom_dataset and teabox_classes.txt for local GPU testing of training and export.

Signed-off-by: Bey Hao Yun <[email protected]>

* ➕ Added local-only GPU-specific pytest unit testing, along with automated bash script for easy running.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 Updated GUI_CI GitHub Action to install dependencies under Install Dependencies run task.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔥 Removed P1OrtBase deployment features and corresponding gtests. GitHub Actions degraded.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔥 Removed imagenet_classes.txt since P1 models that use it have been deprecated in EPD v0.3.0.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 Removed instances of squeezenet P1 model in unit testing for failing CI GitHub Action.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 Fix for failing CI gtests.

Signed-off-by: Bey Hao Yun <[email protected]>

* 🔨 ➕ Decomposed installDependencies operations in P3 and P2 training workflows into seperate install and docker container creation processes. Adhered local pytest script to PEP08 standards. Added to GUI_CI GitHub Action.

Signed-off-by: Bey Hao Yun <[email protected]>

Signed-off-by: Bey Hao Yun <[email protected]>
  • Loading branch information
cardboardcode authored Aug 19, 2022
1 parent d397d0a commit fc2356f
Show file tree
Hide file tree
Showing 97 changed files with 2,907 additions and 2,868 deletions.
32 changes: 22 additions & 10 deletions .github/workflows/gui_ci_action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,23 +22,35 @@ jobs:
run: |
sudo apt-get update
sudo apt-get install -y python3-pip
sudo python -m pip install pycodestyle
pip install pycodestyle
pip install PySide2==5.15.0
pip install dateutils==0.6.12
pip install pycocotools==2.0.2
pip install labelme==5.0.1
pip install pytest==6.0.1
pip install pytest-qt==3.3.0
pip install pyyaml==5.3.1
sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
- name: Static Analysis
run: |
pycodestyle --show-source easy_perception_deployment/gui/main.py \
easy_perception_deployment/gui/test_gui.py \
easy_perception_deployment/gui/test_gui_gpu_local_only.py \
easy_perception_deployment/gui/windows/*.py \
easy_perception_deployment/gui/trainer/*.py --count
- name: Dynamic Analysis
run: |
pip install PySide2==5.15.0
pip install dateutils==0.6.12
pip install pycocotools==2.0.2
pip install labelme==5.0.1
pip install torch==1.8.1
pip install torchvision==0.9.1
pip install pytest==6.0.1
pip install pytest-qt==3.3.0
pip install pyyaml==5.3.1
cd easy_perception_deployment/gui
pytest --capture=no -vv test_gui.py
14 changes: 14 additions & 0 deletions easy_perception_deployment/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,17 @@ Changelog for package easy_perception_deployment
* Included extant EPD GUI unit-testing as well as additional Continuous Integration component as GUI_CI.
* Improved yaml parser in P2Trainer.py and P3Trainer.py.
* Contributor(s): Bey Hao Yun


0.3.0 (2022-08-19)
-------------------
* Integrated dockerized workflow for P3TrainFarm and P3Exporter.
* Integrated dockerized workflow for P2TrainFarm and P2Exporter.
* Deprecated Precision Level 1 training and deployment features due to lack of reported use. This removal will help reduce software bloat and accelerate GUI deployment.
* Added GUI feature to edit MAX_ITER, TEST_PERIOD, CHECKPOINT_PERIOD, STEPS parameters for maskrcnn_training, fasterrcnn_training yaml files. This allows condensed testing as well as higher customizability in training.
* Included CLI feature to edit input_image_topic.
* Revamped GUI icons for better UI appearance.
* Removed deprecated gui.png. Desktop icon is replaced with epd_desktop.png.
* Removed "Use Case =" label in Deploy GUI window. Lengthened Visualize/Action toggle for neater UI appearance.
* Added custom_dataset image collation with test label_list for GPU local reproducible unit-testing.
* Contributor(s): Bey Hao Yun
10 changes: 1 addition & 9 deletions easy_perception_deployment/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -52,17 +52,13 @@ set(EPD_UTILS
include/ort_cpp_lib/ort_base.cpp
include/ort_cpp_lib/p3_ort_base.cpp
include/ort_cpp_lib/p2_ort_base.cpp
include/ort_cpp_lib/p1_ort_base.cpp
)

if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/data/model/squeezenet1.1-7.onnx")
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/data/model/MaskRCNN-10.onnx")
message(AUTHOR_WARNING "Pretrained models are downloaded.")
else()
message(AUTHOR_WARNING "Downloading pretrained ONNX model from ONNX Model Zoo.")
execute_process(COMMAND wget
https://github.com/onnx/models/raw/main/vision/classification/squeezenet/model/squeezenet1.1-7.onnx
--directory-prefix=${CMAKE_CURRENT_LIST_DIR}/data/model/)
execute_process(COMMAND wget
https://github.com/onnx/models/raw/main/vision/object_detection_segmentation/faster-rcnn/model/FasterRCNN-10.onnx
--directory-prefix=${CMAKE_CURRENT_LIST_DIR}/data/model/)
execute_process(COMMAND wget
Expand Down Expand Up @@ -113,10 +109,6 @@ if(BUILD_TESTING)
ament_target_dependencies(epd_test_invalid_usecase OpenCV cv_bridge)
target_link_libraries(epd_test_invalid_usecase ${onnxruntime_LIBS} ${JSONCPP_LIBRARIES})

ament_add_gtest(epd_test_P1_classification_action test/p1u0a.cpp ${EPD_UTILS})
ament_target_dependencies(epd_test_P1_classification_action OpenCV cv_bridge)
target_link_libraries(epd_test_P1_classification_action ${onnxruntime_LIBS} ${JSONCPP_LIBRARIES})

ament_add_gtest(epd_test_P2_counting_action test/p2u1a.cpp ${EPD_UTILS})
ament_target_dependencies(epd_test_P2_counting_action OpenCV cv_bridge)
target_link_libraries(epd_test_P2_counting_action ${onnxruntime_LIBS} ${JSONCPP_LIBRARIES})
Expand Down
6 changes: 6 additions & 0 deletions easy_perception_deployment/config/p2_train_verification.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"isTrainFarmDockerImagePulled": false,
"isTrainDependenciesInstalled": false,
"isExporterDockerImagePulled": false,
"isExportDependenciesInstalled": false
}
6 changes: 6 additions & 0 deletions easy_perception_deployment/config/p3_train_verification.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"isTrainFarmDockerImagePulled": false,
"isTrainDependenciesInstalled": false,
"isExporterDockerImagePulled": false,
"isExportDependenciesInstalled": false
}
Loading

0 comments on commit fc2356f

Please sign in to comment.