__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)