GithubHelp home page GithubHelp logo

cgm-rg's People

Contributors

fooni avatar gangooteli avatar hogerl avatar markus-hinsche avatar phatgza avatar prajurock avatar prashant905 avatar rionpy avatar rudrarka avatar shanky0009 avatar sheeshmohsin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cgm-rg's Issues

Add type annotations

Problem: The cgm-rg code is hard to understand

Potential Solution: Type annotations will help to understand more about the objects we pass back and forth

cgm-rg Docker image is very big

Problem: This results in a docker image of 7.85GB. This is difficult for working on developer laptops limited resources

To reproduce, run cgm-rg steps in https://github.com/Welthungerhilfe/cgm-rg/wiki/Setup-local-development

Solution:

Other problems:

  • docker build takes 12-15minutes with fast internet (gist)
  • at the moment pytorch gets installed with requirements.txt, then uninstalled and reinstalled when running: RUN pip install torch==1.9.0+cpu torchvision==0.10.0+cpu torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html

Speed up cgm-rg for face blurring

cgm-rg is currently quite slow when performing the face detection.

When inserting a batch of old scans, it needs weeks to perform result generation.

We can benchmark and profile and also think about alternative architectures for cgm-rg (e.g. scalable AzureML endpoints)

Remove code duplication

Problem: Environment creation code is present in many Training notebooks.

Solution: Create Utils and reuse the code

Pose 3d code refactor

Code duplication is present in Pose 3d model code.
Pose prediction is running again for 3d- model code.

Refactoring cgm-rg workflows

  • remove code duplication between workflows
  • use pathlib instead of os
  • make code more readable
  • TODOs in the code
  • result_gen_with_api.py has very long blocks: split it into fcts

Add log line when a scan gets processed

Motivation: Verify (e.g. in the ACI logs) that the scan was processed correctly

Status Quo: Currently there are only logs from the cgm-rg initialization (how workflows got loaded)

Improve width/height handling in preprocessing.py

Status quo: In preprocessing.py, we set width and height for the whole program.

Problem: The program execution might handle artifacts with different height and width.

Solution: We could therefore store width and height as state in an object of class Artifact.

Here is the idea with some pseudo-code:

class Artifact:
    def __init__(self, filename):
        self.filename = filename
        self.width, self.height, depthmap = load_depth(filename)

file_ = Aritvact('4ed427b5-3fd9-4f4d-8e58-19e39c7d77b6.zip')
file_.width  # instead of using global WIDTH

Remove code for ensemble

Motivation: We currently don't plan to put the ensembles into cgm-rg in the near future. If we decide to add them back, this might look very different by then.

Desired changes:

  • e.g. ENSEMBLE_RUN_IDS in src/download_model.py
  • Check if there are more places

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.