Skip to content

Commit 6f9b4d8

Browse files
committed
new changes
1 parent 3df9e9c commit 6f9b4d8

29 files changed

+1195
-2
lines changed

EmptyBin.pdf

-538 KB
Binary file not shown.

__pycache__/app.cpython-310.pyc

2.39 KB
Binary file not shown.

__pycache__/infer.cpython-310.pyc

775 Bytes
Binary file not shown.

__pycache__/train.cpython-310.pyc

4.94 KB
Binary file not shown.

__pycache__/up.cpython-310.pyc

2.36 KB
Binary file not shown.

app.py

+837
Large diffs are not rendered by default.

data_test

34.7 KB
Binary file not shown.

data_test_new

34.7 KB
Binary file not shown.

finalPppt.pdf

1.26 MB
Binary file not shown.
Loading
Loading

images/appam egg.jfif

13.8 KB
Binary file not shown.

images/bread butter jam.jfif

11.5 KB
Binary file not shown.

images/cb.jfif

15.9 KB
Binary file not shown.

images/cooking.ico

66.1 KB
Binary file not shown.

images/ghee rice.jfif

8.2 KB
Binary file not shown.

images/kanji.jfif

19.4 KB
Binary file not shown.

images/meals.jfif

22.7 KB
Binary file not shown.

images/menu.ico

66.1 KB
Binary file not shown.

images/menu.jpg

27.1 KB
Loading

images/putt&kadala.jfif

22.8 KB
Binary file not shown.

images/udli sambar.jfif

266 KB
Binary file not shown.

images/upma.jfif

19.7 KB
Binary file not shown.

images/waste logoBgless.png

79.8 KB
Loading

infer.py

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
from train import *
2+
import torch
3+
4+
trained_file_dir = r"C:/Users/91964/OneDrive/Desktop/hackathon/data_test_new"
5+
6+
7+
8+
FNN = FNN_Model()
9+
FNN.load_state_dict(torch.load(trained_file_dir))
10+
11+
def get_inference(day,people):
12+
tp = people
13+
day = day/10
14+
people = people/273
15+
input = torch.Tensor([day,people])
16+
output_tensor = FNN.model(input)
17+
out = []
18+
for i in range(2,len(FNN.Norms),2):
19+
output = round(float(float(FNN.Norms[i])-float(FNN.Norms[i+1])*output_tensor[(i//2)-1]),2)
20+
output = round(output*people,2)
21+
if output < 0:
22+
output = output * -1
23+
out.append(output)
24+
return(out)

t.py

+211
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,211 @@
1+
#fill= X,Y to expand along x and y axis
2+
# to get a message box
3+
# response= messagebox. return is 1 and 0 |for ask question it is yes or no all other return ok
4+
# showinfo,showwarning,askquestion,showerror,askokcancel,askyesno
5+
# image in new window should be global
6+
# config to change the attribute
7+
# state of button can be disabled
8+
# ipad for inner space and justify for aligning
9+
10+
from numpy import source
11+
12+
13+
source=[]
14+
from tkinter import *
15+
from tkinter import ttk
16+
from PIL import ImageTk,Image
17+
from matplotlib import image
18+
from tkinter import filedialog
19+
import tkinter
20+
import tkinter.messagebox
21+
import customtkinter
22+
23+
customtkinter.set_appearance_mode("System") # Modes: "System" (standard), "Dark", "Light"
24+
customtkinter.set_default_color_theme("blue") # Themes: "blue" (standard), "green", "dark-blue"
25+
26+
27+
class App(customtkinter.CTk):
28+
29+
WIDTH = 780
30+
HEIGHT = 520
31+
32+
def __init__(self):
33+
super().__init__()
34+
35+
self.title("FOOD")
36+
self.geometry(f"{App.WIDTH}x{App.HEIGHT}")
37+
self.state('zoomed')
38+
self.protocol("WM_DELETE_WINDOW", self.on_closing) # call .on_closing() when app gets closed
39+
40+
# ============ create two frames ============
41+
42+
# configure grid layout (2x1)
43+
self.grid_columnconfigure(1, weight=1)
44+
self.grid_rowconfigure(0, weight=1)
45+
46+
self.frame_left = customtkinter.CTkFrame(master=self,
47+
width=180,
48+
corner_radius=0)
49+
self.frame_left.grid(row=0, column=0, sticky="nswe")
50+
51+
self.frame_right = customtkinter.CTkFrame(master=self)
52+
self.frame_right.grid(row=0, column=1, sticky="nswe", padx=20, pady=20)
53+
54+
# ============ frame_left ============
55+
56+
# configure grid layout (1x11)
57+
self.frame_left.grid_rowconfigure(0, minsize=10) # empty row with minsize as spacing
58+
self.frame_left.grid_rowconfigure(5, weight=1) # empty row as spacing
59+
self.frame_left.grid_rowconfigure(8, minsize=20) # empty row with minsize as spacing
60+
self.frame_left.grid_rowconfigure(11, minsize=10) # empty row with minsize as spacing
61+
62+
self.label_1 = customtkinter.CTkLabel(master=self.frame_left,
63+
text="Tools Bar",
64+
text_font=("Roboto Medium", -16)) # font name and size in px
65+
self.label_1.grid(row=1, column=0, pady=10, padx=10)
66+
67+
self.button_1 = customtkinter.CTkButton(master=self.frame_left,
68+
text="CTkButton",
69+
command=self.button_event)
70+
self.button_1.grid(row=2, column=0, pady=10, padx=20)
71+
72+
self.button_2 = customtkinter.CTkButton(master=self.frame_left,
73+
text="CTkButton",
74+
command=self.button_event)
75+
self.button_2.grid(row=3, column=0, pady=10, padx=20)
76+
77+
self.button_3 = customtkinter.CTkButton(master=self.frame_left,
78+
text="CTkButton",
79+
command=self.button_event)
80+
self.button_3.grid(row=4, column=0, pady=10, padx=20)
81+
82+
self.label_mode = customtkinter.CTkLabel(master=self.frame_left, text="Appearance Mode:")
83+
self.label_mode.grid(row=9, column=0, pady=0, padx=20, sticky="w")
84+
85+
self.optionmenu_1 = customtkinter.CTkOptionMenu(master=self.frame_left,
86+
values=["Light", "Dark", "System"],
87+
command=self.change_appearance_mode)
88+
self.optionmenu_1.grid(row=10, column=0, pady=10, padx=20, sticky="w")
89+
90+
# ============ frame_right ============
91+
92+
# configure grid layout (3x7)
93+
self.frame_right.rowconfigure((0, 1, 2, 3), weight=1)
94+
self.frame_right.rowconfigure(7, weight=10)
95+
self.frame_right.columnconfigure((0, 1), weight=1)
96+
self.frame_right.columnconfigure(2, weight=0)
97+
98+
self.frame_info = customtkinter.CTkFrame(master=self.frame_right)
99+
self.frame_info.grid(row=0, column=0, columnspan=2, rowspan=4, pady=20, padx=20, sticky="nsew")
100+
101+
# ============ frame_info ============
102+
103+
# configure grid layout (1x1)
104+
self.frame_info.rowconfigure(0, weight=1)
105+
self.frame_info.columnconfigure(0, weight=1)
106+
107+
self.label_info_1 = customtkinter.CTkLabel(master=self.frame_info,
108+
text="CTkLabel: Lorem ipsum dolor sit,\n" +
109+
"amet consetetur sadipscing elitr,\n" +
110+
"sed diam nonumy eirmod tempor" ,
111+
height=100,
112+
corner_radius=6, # <- custom corner radius
113+
fg_color=("white", "gray38"), # <- custom tuple-color
114+
justify=tkinter.LEFT)
115+
self.label_info_1.grid(column=0, row=0, sticky="nwe", padx=15, pady=15)
116+
117+
self.progressbar = customtkinter.CTkProgressBar(master=self.frame_info)
118+
self.progressbar.grid(row=1, column=0, sticky="ew", padx=15, pady=15)
119+
120+
# ============ frame_right ============
121+
122+
self.radio_var = tkinter.IntVar(value=0)
123+
124+
self.label_radio_group = customtkinter.CTkLabel(master=self.frame_right,
125+
text="CTkRadioButton Group:")
126+
self.label_radio_group.grid(row=0, column=2, columnspan=1, pady=20, padx=10, sticky="")
127+
128+
self.radio_button_1 = customtkinter.CTkRadioButton(master=self.frame_right,
129+
variable=self.radio_var,
130+
value=0)
131+
self.radio_button_1.grid(row=1, column=2, pady=10, padx=20, sticky="n")
132+
133+
self.radio_button_2 = customtkinter.CTkRadioButton(master=self.frame_right,
134+
variable=self.radio_var,
135+
value=1)
136+
self.radio_button_2.grid(row=2, column=2, pady=10, padx=20, sticky="n")
137+
138+
self.radio_button_3 = customtkinter.CTkRadioButton(master=self.frame_right,
139+
variable=self.radio_var,
140+
value=2)
141+
self.radio_button_3.grid(row=3, column=2, pady=10, padx=20, sticky="n")
142+
143+
self.slider_1 = customtkinter.CTkSlider(master=self.frame_right,
144+
from_=0,
145+
to=1,
146+
number_of_steps=3,
147+
command=self.progressbar.set)
148+
self.slider_1.grid(row=4, column=0, columnspan=2, pady=10, padx=20, sticky="we")
149+
150+
self.slider_2 = customtkinter.CTkSlider(master=self.frame_right,
151+
command=self.progressbar.set)
152+
self.slider_2.grid(row=5, column=0, columnspan=2, pady=10, padx=20, sticky="we")
153+
154+
self.switch_1 = customtkinter.CTkSwitch(master=self.frame_right,
155+
text="CTkSwitch")
156+
self.switch_1.grid(row=4, column=2, columnspan=1, pady=10, padx=20, sticky="we")
157+
158+
self.switch_2 = customtkinter.CTkSwitch(master=self.frame_right,
159+
text="CTkSwitch")
160+
self.switch_2.grid(row=5, column=2, columnspan=1, pady=10, padx=20, sticky="we")
161+
162+
self.combobox_1 = customtkinter.CTkComboBox(master=self.frame_right,
163+
values=["Value 1", "Value 2"])
164+
self.combobox_1.grid(row=6, column=2, columnspan=1, pady=10, padx=20, sticky="we")
165+
166+
self.check_box_1 = customtkinter.CTkCheckBox(master=self.frame_right,
167+
text="CTkCheckBox")
168+
self.check_box_1.grid(row=6, column=0, pady=10, padx=20, sticky="w")
169+
170+
self.check_box_2 = customtkinter.CTkCheckBox(master=self.frame_right,
171+
text="CTkCheckBox")
172+
self.check_box_2.grid(row=6, column=1, pady=10, padx=20, sticky="w")
173+
174+
self.entry = customtkinter.CTkEntry(master=self.frame_right,
175+
width=120,
176+
placeholder_text="CTkEntry")
177+
self.entry.grid(row=8, column=0, columnspan=2, pady=20, padx=20, sticky="we")
178+
179+
self.button_5 = customtkinter.CTkButton(master=self.frame_right,
180+
text="CTkButton",
181+
border_width=2, # <- custom border_width
182+
fg_color=None, # <- no fg_color
183+
command=self.button_event)
184+
self.button_5.grid(row=8, column=2, columnspan=1, pady=20, padx=20, sticky="we")
185+
186+
# set default values
187+
self.optionmenu_1.set("Dark")
188+
self.button_3.configure(state="disabled", text="Disabled CTkButton")
189+
self.combobox_1.set("CTkCombobox")
190+
self.radio_button_1.select()
191+
self.slider_1.set(0.2)
192+
self.slider_2.set(0.7)
193+
self.progressbar.set(0.5)
194+
self.switch_2.select()
195+
self.radio_button_3.configure(state=tkinter.DISABLED)
196+
self.check_box_1.configure(state=tkinter.DISABLED, text="CheckBox disabled")
197+
self.check_box_2.select()
198+
199+
def button_event(self):
200+
print("Button pressed")
201+
202+
def change_appearance_mode(self, new_appearance_mode):
203+
customtkinter.set_appearance_mode(new_appearance_mode)
204+
205+
def on_closing(self, event=0):
206+
self.destroy()
207+
208+
209+
if __name__ == "__main__":
210+
app = App()
211+
app.mainloop()

tempCodeRunnerFile.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
if(int(value)>=250 and int(value)<=270):
2-
# temp_waste = rd.randrange()
1+
sidepanelHeading= customtkinter.CTkLabel(master=sidepanel,font=("Times New Roman",14,"bold"),text="UPDATE PANEL",width=20,fg_color=("white", "gray38"),corner_radius=6)
2+
# sidepanelHeading.grid(row=1, column=0, pady=10, padx=20,sticky='we')

text.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Lunch

train.py

+120
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
import torch
2+
import pandas as pd
3+
# loading and preprocessing the data
4+
csv_file = r"C:\Users\91964\OneDrive\Desktop\hackathon\final2.csv"
5+
df = pd.read_csv(csv_file)
6+
Norms = df.iloc[7]
7+
Norms[15] = 1
8+
Norm = []
9+
10+
# Creating the dataset
11+
class Food_Quantity_Data(torch.utils.data.Dataset):
12+
def __init__(self,df):
13+
self.dataframe = df
14+
print(df)
15+
super().__init__()
16+
def __getitem__(self,id):
17+
id = id + 2
18+
data = self.dataframe.iloc[id]
19+
labels = [data[0]/7,data[1]/Norms[1]]
20+
Norm_people =float(data[1]/Norms[1])
21+
targets = []
22+
for i in range(2,self.dataframe.shape[1],2):
23+
targets.append((float(data[i])/(float(Norms[i])) - float(data[i+1])/(float(Norms[i+1])))*Norm_people)
24+
Norm.append(Norms[i])
25+
return labels,targets
26+
def __len__(self):
27+
return self.dataframe.shape[0]-2
28+
29+
# Creating the data Module
30+
from pytorch_lightning import LightningDataModule
31+
class Food_loader_Module(LightningDataModule):
32+
def __init__(self,dataset,num_workers = 0,batch_size = 128):
33+
self.dataset = dataset
34+
self.num_workers = num_workers
35+
self.batch_size = batch_size
36+
super().__init__()
37+
def train_dataset(self,df = df):
38+
return Food_Quantity_Data(df)
39+
def train_dataloader(self):
40+
train_dataset = self.train_dataset()
41+
train_loader = torch.utils.data.DataLoader(
42+
train_dataset,
43+
batch_size = self.batch_size,
44+
shuffle = True,
45+
pin_memory=True,
46+
drop_last=True,
47+
num_workers=self.num_workers,
48+
collate_fn=self.collate_fn
49+
)
50+
return train_loader
51+
def val_dataloader(self):
52+
valid_dataset = self.train_dataset()
53+
valid_loader = torch.utils.data.DataLoader(
54+
valid_dataset,
55+
batch_size = self.batch_size,
56+
shuffle = True,
57+
pin_memory=True,
58+
drop_last=True,
59+
num_workers=self.num_workers,
60+
collate_fn=self.collate_fn
61+
)
62+
return valid_loader
63+
@staticmethod
64+
def collate_fn(batch):
65+
labels,targets = tuple(zip(*batch))
66+
labels = torch.tensor(labels)
67+
targets = torch.tensor(targets)
68+
return labels,targets
69+
70+
class Model(torch.nn.Module):
71+
def __init__(self,n_inputs,n_outputs):
72+
super(Model,self).__init__()
73+
self.n_inputs = n_inputs
74+
self.n_outputs = n_outputs
75+
self.hidden_layer_1 = torch.nn.Linear(n_inputs,n_outputs*2)
76+
self.hidden_layer_2 = torch.nn.Linear(n_outputs*2,n_outputs*4)
77+
self.hidden_layer_3 = torch.nn.Linear(n_outputs*4,n_outputs*2)
78+
self.final_layer = torch.nn.Linear(n_outputs*2,n_outputs)
79+
def forward(self,x):
80+
x = x.float()
81+
x = self.hidden_layer_1(x)
82+
x = self.hidden_layer_2(x)
83+
x = self.hidden_layer_3(x)
84+
x = self.final_layer(x)
85+
return x
86+
87+
from pytorch_lightning import LightningModule
88+
class FNN_Model(LightningModule):
89+
def __init__(self,lr = 0.1):
90+
super().__init__()
91+
self.model = Model(2,21)
92+
self.lr = lr
93+
self.loss_fn = torch.nn.MSELoss()
94+
self.Norms = Norms
95+
def forward(self, label, targets):
96+
return self.model(label, targets)
97+
def configure_optimizers(self):
98+
return torch.optim.AdamW(self.model.parameters(), lr=self.lr)
99+
def loss(self,output,target):
100+
self.loss_fn(output,target)
101+
102+
def training_step(self, batch, batch_idx):
103+
torch.cuda.empty_cache()
104+
labels,targets = batch
105+
outputs = self.model(labels)
106+
loss = self.loss_fn(outputs,targets)
107+
self.log("train_loss", loss, on_step=True, on_epoch=True, prog_bar=True,logger=True)
108+
return loss
109+
110+
from pytorch_lightning import Trainer
111+
def main():
112+
FNN = FNN_Model()
113+
trainer = Trainer(max_epochs=500, num_sanity_val_steps=0,accelerator="cpu",devices = [0])
114+
dm = Food_loader_Module(df)
115+
trainer.fit(FNN,dm)
116+
torch.save(FNN.state_dict(), f'data_test')
117+
118+
if __name__ == "__main__":
119+
main()
120+

0 commit comments

Comments
 (0)