Home Vacancies Machine Learning and Software Developer Consultant

Machine Learning and Software Developer Consultant

Location: Addis Ababa, Ethiopia

Deadline: Jan 15, 2024

Job Description

TechnoServe Background:

Everyone deserves the opportunity to build a better future. This simple idea has been at the heart of TechnoServe’s work around the world for over 50 years. TechnoServe is a pioneer in leveraging the power of business and markets to create sustainable pathways out of poverty.

The low-income communities in which we work are full of enterprising people. Their small-scale farms and businesses are the keys to economic development. But they face many challenges: low literacy, lack of access to jobs and markets, unpredictable political dynamics, and, increasingly, the effects of climate change. For many women and young people, the challenges are even more daunting. Working with TechnoServe staff, people around the world are lifting themselves out of poverty. The results are amazing…when incomes increase and living conditions for families get better, they are able to access health care and education previously out of reach. Communities and even whole countries are better off 

Position Description:

TechnoServe is looking for a firm who is able to do end to end model dev and integration with the existing app. The project involves image annotation, machine learning model development, model conversion for mobile deployment, and the integration to the existing mobile application. Primary activities include, but are not limited to:

  1. Image Annotation:
  •  Annotate a dataset of at least 1000 coffee cherry images with bounding boxes and labels for ripe, underripe, overripe categories.
  •  Follow annotation guidelines to ensure accuracy and consistency.
  •  Provide a sample of annotated images for review.

  2.   Machine Learning Model Development:

  •  Develop a machine learning model for coffee cherry ripeness prediction using the annotated dataset.
  •  Recommend an appropriate architecture (e.g., Convolutional Neural Network (CNN)) based on the color based classification task.
  •  Train the model on the annotated dataset, using a suitable deep learning framework (e.g., PyTorch).
  •  Provide options for data augmentation and ensure robust model training (e.g,. Generative Adversarial Networks (GAN))

      3.   Data Preparation:

  •  Split the dataset into training, validation, and testing sets.
  •  Provide details on data augmentation techniques applied during training.

      4.   Model Conversion for Mobile:

  •  Convert the trained machine learning model to a format suitable for mobile deployment (e.g., TensorFlow Lite, ONNX).
  •  Optimize the model for size and performance on mobile devices, because the application works offline and must be light.

    5.  Exiting Mobile App Integration:

  •  Integrate the converted machine learning model into the mobile app for real-time prediction.We already have an android mobile application built using Kotlin and uses Firebase as its database.
  •  Include features for user feedback and improvement of predictions over time. Newly user images should be used to keep improving the accuracy of the model

   6. Deployment and Testing:

  •  Deploy the mobile application on Android devices for testing.
  •  Conduct thorough testing to ensure the accuracy and performance of the cherry ripeness prediction.
  •  Provide documentation on testing procedures and results.

    7. Documentation and Knowledge Transfer:

  •  Document the entire solution, including model architecture, training process, codebase, and mobile app functionality.
  •  Provide knowledge transfer sessions for our team to ensure understanding and maintenance capability.

      8. Timeline and Milestones:

  •  Define a project timeline with key milestones, including image annotation completion, model training, mobile app integration, and testing.
  •  Include time for reviews, feedback, and potential iterations.

Required Skills & Experience:

The firm should have previous experience in doing similar work (with proven portfolio): Software development with the focus on mobile application development, and extensive experience in building, training, validating and testing machine learning models (deep learning, object detection, etc), plus dataset labeling and cleaning/preparation. The firm employees should have the following profile.

  •  Bachelor’s degree in computer science or related field, with 3 years of experience in software development with the focus on mobile app dev and machine learning, or a Master’s degree in Information Technology, computer science, Machine Learning or related field, with 1 year of experience.
  •  Full stack developer with experience in systems development, implementation, operations, maintenance, and support activities for software systems.
  •  Experience working with Native Android development using Kotlin, Java, and Flutter.
  •  Experience with iOS mobile application development using Swift is an added advantage
  •  Web application development using Django/Python and/or React
  •  Experience using Pytorch is preferred
  •  Machine Learning skills, focusing on Deep Learning Algorithms such as Convolutional Neural Networks (CNN), Generative Adversarial Networks (GAN), object detection
  •  Experience using Google Cloud Platform and Amazon Web Services is preferred
  •  Experience working in an agile environment is preferred.
  •  Strong communication skills are required.
  •  Analytical thinking skills.

HOW TO APPLY

Application process: The applicant will be required to submit their technical and financial documents on the bid box prepared for this bid at the TechnoServe office before January 15, 2024.

We encourage all qualified individuals who share TechnoServe’s vision of improving the lives of others through proven business solutions to apply.