This repository contains code to provide food recommendations to users according to the desired calories and how many times the user wants to eat each day. This project aims to make it easier for users to choose what to eat each day, and of course the recommended meals are in accordance with the desired calorie needs.
Through our research, we found an approach to find a solution to the problem. We used the approach of building with Ranking and Retrieval Model with Query and Candidate tower model.
Program flow is as follows :
- We fill in the data according to the form provided.
- Then click the "Generate Recommender Food and Top Nutrition button".
- After the form is submitted, the model will issue a recommendation output according to the input that has been filled in previously.
- The model will display the top 15 recommendations and food list according to the times per day.
- First clone this repository using comment "git clone git@github.com:NuSa-Nutrition-Scan/Food-Recommendation.git"
- Install requirements needed
- If you want to do training data, you can access it at Recommendation System.ipynb
- If you want to do a deployment to run the script, you can use Demo-deploy-with-gradio.py
- dataset This folder contains dataset that we use to training food recommendation model with csv format
- saved_model This folder contains weight of parameter from food recommendation model that we already train from our dataset
- Demo-deploy-with-gradio.py This python script contains script for using our food recommendation model with the help of gradio package
- Recommendation System.ipynb This is jupyter notebook that we use for training our food recommendation model
- .pkl file The file that using .pkl name is the pickle form of our dataset that we use for training food recommendation model
- food_recom_model.py This python script constain script to define our food recommendation model
- requirements.txt List of python package that we use to training and deploying our food recommendation model