Zai commited on
Commit
c980322
1 Parent(s): 18943e5

continuing training

Browse files
headshot/data_prep.py CHANGED
@@ -1,17 +1,17 @@
1
  import torch
2
- import torch.nn as nn
3
- import torch.optim as optim
4
  from torch.utils.data import DataLoader, Dataset
5
  from torchvision import transforms, datasets
 
6
 
7
  data_url = ''
8
 
9
-
10
  class FaceDataset(Dataset):
11
- def __init__(self,data,labels,transforms=None):
12
- self.tranforms = tranforms
13
- self.data = x_data
14
- self.labels = y_labels
 
 
15
 
16
  def __len__(self):
17
  return len(self.data)
@@ -21,6 +21,6 @@ class FaceDataset(Dataset):
21
  image = self.data[idx]
22
  label = self.labels[idx]
23
 
24
- if self.transform:
25
- image = self.transform(image)
26
  return image,label
 
1
  import torch
 
 
2
  from torch.utils.data import DataLoader, Dataset
3
  from torchvision import transforms, datasets
4
+ from datasets import load_dataset
5
 
6
  data_url = ''
7
 
 
8
  class FaceDataset(Dataset):
9
+ def __init__(self,data,labels):
10
+ self.tranforms = transforms.Compose([
11
+
12
+ ])
13
+ self.data = data
14
+ self.labels = labels
15
 
16
  def __len__(self):
17
  return len(self.data)
 
21
  image = self.data[idx]
22
  label = self.labels[idx]
23
 
24
+
25
+ image = self.transform(image)
26
  return image,label
headshot/headshot.py CHANGED
@@ -3,22 +3,43 @@ from torch import nn
3
  from data_prep import FaceDataset
4
 
5
  class Headshot(nn.Module):
6
- def __init__(self):
7
  super().__init__()
8
  self.dataset = FaceDataset()
9
- self.num_epoch = 20
 
 
10
 
 
 
 
 
 
11
  def forward(self,x):
12
- pass
 
13
 
14
  def train(self):
 
 
15
  for epoch in range(self.num_epoch):
16
  for i,(image,label) in enumerate(self.dataset):
17
- pass
 
 
 
 
 
 
 
 
 
18
 
19
- def predict(self,image):
20
  points = self.forward(image)
21
 
 
 
22
 
23
  def load_pretrain(self,name=""):
24
  pretrained = torch.load(pretrained)
 
3
  from data_prep import FaceDataset
4
 
5
  class Headshot(nn.Module):
6
+ def __init__(self,num_epoch=20,lr=0.02):
7
  super().__init__()
8
  self.dataset = FaceDataset()
9
+ self.num_epoch = num_epoch
10
+ self.lr = lr
11
+ self.device = 'cuda' if torch.cuda.is_available() else 'cpu'
12
 
13
+ self.layer = nn.Sequential(
14
+
15
+ )
16
+
17
+
18
  def forward(self,x):
19
+ out = self.layer
20
+ return out
21
 
22
  def train(self):
23
+ loss_fn = nn.CrossEntropyLoss()
24
+ optimizer = torch.optim.Adam(self.parameters(),lr=self.lr)
25
  for epoch in range(self.num_epoch):
26
  for i,(image,label) in enumerate(self.dataset):
27
+ image,label = image.to(self.device),label.to(self.device)
28
+
29
+ optimizer.zero_grad()
30
+
31
+ output = self(image)
32
+ loss = loss_fn(output,label)
33
+ loss.backward()
34
+ optimizer.step()
35
+ print(f"epoch {epoch} loss:{loss.item()}")
36
+
37
 
38
+ def predict_image(self,image):
39
  points = self.forward(image)
40
 
41
+ def predict_video(self,video):
42
+ pass
43
 
44
  def load_pretrain(self,name=""):
45
  pretrained = torch.load(pretrained)
headshot/utils.py CHANGED
@@ -1,4 +1,5 @@
1
  import matplotlib.pyplot as plt
2
 
3
  def display_img(image):
4
- pass
 
 
1
  import matplotlib.pyplot as plt
2
 
3
  def display_img(image):
4
+ pass
5
+
interface/app.py CHANGED
@@ -1,6 +1,10 @@
1
  import cv2
2
  import streamlit as st
3
  from PIL import Image
 
 
 
 
4
  def detect_faces(image):
5
  face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
6
 
 
1
  import cv2
2
  import streamlit as st
3
  from PIL import Image
4
+
5
+
6
+
7
+
8
  def detect_faces(image):
9
  face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
10