MorettiGS commited on
Commit
19e3424
·
1 Parent(s): 88d4ec7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +32 -0
app.py CHANGED
@@ -1,4 +1,6 @@
1
  import gradio as gr
 
 
2
  from fastai.learner import load_learner
3
  import pandas as pd
4
  import numpy as np
@@ -11,6 +13,36 @@ ids_list = list(map(str, ids.tolist()))
11
 
12
  ratings = pd.read_csv('ratings.csv')
13
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  def top5(user):
15
  user = int(user)
16
  items = pd.Series(learn.dls.classes['title']).unique()
 
1
  import gradio as gr
2
+ from fastai.collab import *
3
+ from fastai.tabular.all import *
4
  from fastai.learner import load_learner
5
  import pandas as pd
6
  import numpy as np
 
13
 
14
  ratings = pd.read_csv('ratings.csv')
15
 
16
+ class CollabNN(Module):
17
+ def __init__(self, user_sz, item_sz, y_range=(0,5.5), n_act=100):
18
+ self.user_factors = Embedding(*user_sz)
19
+ self.item_factors = Embedding(*item_sz)
20
+ self.layers = nn.Sequential(
21
+ nn.Linear(user_sz[1]+item_sz[1], n_act),
22
+ nn.ReLU(),
23
+ nn.Linear(n_act, 1))
24
+ self.y_range = y_range
25
+
26
+ def forward(self, x):
27
+ embs = self.user_factors(x[:,0]),self.item_factors(x[:,1])
28
+ x = self.layers(torch.cat(embs, dim=1))
29
+ return sigmoid_range(x, *self.y_range)
30
+
31
+ class DotProduct(Module):
32
+ def __init__(self, n_users, n_books, n_factors, y_range=(0, 5.5)):
33
+ self.user_factors = Embedding(n_users, n_factors)
34
+ self.user_bias = Embedding(n_users, 1)
35
+ self.books_factors = Embedding(n_books, n_factors)
36
+ self.books_bias = Embedding(n_books, 1)
37
+ self.y_range = y_range
38
+
39
+ def forward(self, x):
40
+ users = self.user_factors(x[:,0])
41
+ books = self.books_factors(x[:,1])
42
+ res = (users * books).sum(dim=1, keepdim=True)
43
+ res += self.user_bias(x[:,0]) + self.books_bias(x[:,1])
44
+ return sigmoid_range(res, *self.y_range)
45
+
46
  def top5(user):
47
  user = int(user)
48
  items = pd.Series(learn.dls.classes['title']).unique()