Skip to content

dmis-lab/KitchenScale

Repository files navigation

KitchenScale

This repository is an implemenation of KitchenScale, a food numeracy model capable of suggesting the exact quantity of the target ingredient with units given a recipe context.

KitchenScale : Learning Food Numeracy from Recipes through Context-Aware Ingredient Quantity Prediction
Donghee Choi, Keonwoo Kim, Samy Badreddine, Hajung Kim, Donghyeon Park, Jaewoo Kang Submitted in CIKM 2022 You can try our demo version of KitchenScale http://kitchenscale.korea.ac.kr/

For more details to find out what we do, pleas visit https://dmis.korea.ac.kr

Download

Prerequisite

This project is tested with Python 3.8, Pytorch 1.9, CUDA 11.1, Huggingface Transformer 4.12.2

Installation

git clone https://github.com/dmis-lab/KitchenScale.git
cd KitchenScale; pip install -r requirements.txt

Training

  • For different tasks, change exp_ver to (dim, unit, ing_q)
python train.py \
  --name=ing_q_train \
  --proj_name=test_project \
  --food_data_path=./data \
  --gpus=2 \
  --batch_size=32 \
  --max_epochs=80 \
  --data_size=all \
  --learning_rate=1e-6 \
  --auto_select_gpus=True \
  --is_q_predict \
  --is_e_predict \
  --regression_layer=3mlp \
  --gradient_clip_val=0.5 \
  --drop_rate=0.3 \
  --exp_ver=ing_q \
  --is_include_ing_phrase \
  --is_include_dimension \
  --is_include_tags \
  --is_include_title \
  --is_include_other_ing \
  --is_include_serving \
  --q_ing_phrase_ver=ing_name_q_u_mask \
  --strategy=ddp \
  --save_top_k=10 \
  --patience=3 \
  --early_stopping_metric=val_loss \

Inference

python infer.py

Acknowledgement

Our work was done by DMIS-lab collaborates with Sony AI and their Gastronomy Flagship Project, it is an extension idea for making an AI for assisting recipe creation which the goal is interactively helping chefs create creative but delicious and healthy recipes.

About

KitchenScale: Learning Food Numeracy from Recipes through Context-Aware Ingredient Quantity Prediction

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages