cardboardcode / epd_core

A ROS2 package that accelerates the training and deployment of CV models for industries.
Apache License 2.0
0 stars 0 forks source link

Minimize & stabilize EPD GUI dependencies #11

Closed cardboardcode closed 2 years ago

cardboardcode commented 2 years ago

Currently, every instantiation of Anaconda environment epd_gui_env takes up at least 1.6GB.

Further investigation will be done shortly to explore alternatives to reduce software bloat.

cardboardcode commented 2 years ago

Investigation: Use virtualenv instead.

Run the following commands to set up a Virtual Python Environment to run EPD GUI:

cd $HOME
git clone https://github.com/ros-industrial/easy_perception_deployment --depth 1
cd easy_perception_deployment/easy_perception_deployment/gui
virtualenv --python python3.8 venv
source venv/bin/activate
pip install -r requirements.txt
python main.py

requirements.txt

PySide2==5.15.0
dateutils==0.6.12
pycocotools==2.0.2
labelme==5.0.1
torch==1.8.1
torchvision==0.9.1
lark-parser==0.11.2
empy==3.3.4

By looking at the /venv folder generated for the Python Virtual Environment, it reveals that the space occupied by venv is 2.6GB, as compared to the 1.6GB Anaconda generates as part of the existing workflow.

cardboardcode commented 2 years ago

References

lark-parser - https://github.com/lark-parser/lark Lark is a parsing toolkit for Python, built with a focus on ergonomics, performance and modularity.

empy - https://pypi.org/project/empy/ EmPy is a system for embedding Python expressions and statements

cardboardcode commented 2 years ago

This issue is resolved but still can be improved under https://github.com/ros-industrial/easy_perception_deployment/pull/56. Closing.