--- title: FoodNet emoji: 🍔 colorFrom: purple colorTo: purple sdk: streamlit app_file: foodnet.py --- # 24-679 FoodNet Project ## Authors David Chuan-En Lin: chuanenl@cs.cmu.edu Mitch Fogelson: mfogelso@andrew.cmu.edu Sunny Yang: yundiy@andrew.cmu.edu Shihao Xu: shihaoxu@andrew.cmu.edu ## TODO ### Must Have 1. Cooking method (How to do this?) (TBD) 2. Ingredients -> Recipe (Recipe Querey?) (Mitch) 3. Cuisine Meta Data (Where to get) (TBD) 4. Deployment on the cloud -> (David) ### Like to have 1. Images related -> * [Google Image Search API](https://pypi.org/project/Google-Images-Search/) * [OpenAI Clip](https://openai.com/api/) 2. User Studies ### Moonshot 1. Recipe Masking Prediction 2. ## Description We wanted to help students and households in the Pittsburgh to reduce their food waste. We developed a model that suggests recipes based on current leftovers availible. * Model -> Facebook's [FastText](https://radimrehurek.com/gensim/models/fasttext.html) * Dataset -> [Simplified 1M+ Recipes](https://github.com/schmidtdominik/RecipeNet) * [Dominick Schmidt Blog](https://dominikschmidt.xyz/simplified-recipes-1M/#dataset-sources) ## Try WebApp https://huggingface.co/spaces/chuanenlin/foodnet ## Quick Start 1. Clone repository ``` git clone git@github.com:chuanenlin/foodnet.git ``` 2. Move into repository ``` cd foodnet ``` (**Optional** Create conda environment) 3. Install gdown ``` pip install gdown ``` 4. Download models ``` gdown https://drive.google.com/drive/folders/1LlQpd45E71dSfC8FgvIhJjQjqxnlBC9j -O ./models --folder ``` 5. Download datasets (Optional) ``` gdown https://drive.google.com/drive/folders/18aA3BFKqzkqNz5L4N5vN6bFnp8Ch2CQV -O ./data --folder ``` 6. Install Dependencies ``` pip install -r requirements.txt ``` 7. Run code ``` streamlit run foodnet.py ``` ## Args Train new model ``` streamlit run foodnet.py -d/--dataset ['/PATH/TO/DATASET'] -t/--train True ``` Load alternative model ``` streamlit run foodnet.py --model ['/PATH/TO/MODEL'] ``` ## Requirements * python>=3.6 * gensim>=4.0.x * streamlit * gdown * nltk * pickle * matplotlib ## References TODO