CFtest / app.py
jalarrimore's picture
Update app.py
4ca540d verified
raw
history blame contribute delete
776 Bytes
__all__ = ['learn', 'recommend_movie', 'df', 'dls', 'label', 'input_txt', 'out_text','intf']
from fastai.collab import *
from fastai.tabular.all import *
import gradio as gr
learn = load_learner('export.pkl')
df = pd.read_csv("ratings.csv")
dls = CollabDataLoaders.from_df(df, item_name='original_title', bs=64)
def recommend_movie(movie):
movie_factors = learn.model.i_weight.weight
idx = dls.classes['original_title'].o2i[movie]
distances = nn.CosineSimilarity(dim=1)(movie_factors, movie_factors[idx][None])
idx = distances.argsort(descending=True)[1:6]
return dls.classes['original_title'][idx]
input_txt = gr.Textbox()
out_text = gr.Textbox()
intf = gr.Interface(fn=recommend_movie, inputs=input_txt, outputs=[out_text])
intf.launch(inline=False)