Lesson 5 In-Class Discussion

(yinterian) #44


(Linda Liu) #45

Do we need to check in from romote?

(yinterian) #46

Send an email to Mindi and Leslie

(Charin) #47

A note on collaborative filtering. I’ve found that most people in the industry is using Spark or other distributed framework to do it because in most cases it’s a huge matrix decomposition (100M products x 10M customers for instance). Would we be able to use fastai directly or is there a way to customize that?

(Karthik Ramesh) #48

How is this different from torch.mm(a,b)?

(Abdelrahman Ahmed) #49

I don’t think they’re any different, but Jeremy mentioned he wanted to try to avoid using more abstract libraries if possible… so implementing it kind of from scratch to show the intuition behind it

(James Dietle) #50

International fellows need to check in remotely?

(yinterian) #51

No, you don’t have to.

(Anand Saha) #52

Yes that’s what I was thinking. a*b gives the element-wise product, not dot product. dot product would be torch.mm()


Didn’t he sum it to make it dot product? I think it is similar to torch.mm().

(Anand Saha) #54

The sum gave us a 2x1 matrix.

Dot product of 2x2 and 2x2 matrix should give us 2x2 matrix.

(Pete Condon) #55

where does n_factors come from in init()?

(Travis) #56

it’s a global variable in this notebook

(Pete Condon) #57

Thanks, seems like an odd way of passing it in … but I guess it’s not a huge problem.

(Vikrant Behal) #58

@yinterian Do you have the link to the blog used for initialization?

(Karthik Ramesh) #59

Yes the dimensions don’t match


(Travis) #61

I agree, but I think it’s a consequence of the gap between working in a notebook for exploratory work, then packaging code up for reusability, deployment, and other software engineering goodness.

Jeremy (I think) tweeted out a link to Jake Vanderplas’ series called “Reproducable Data Analysis in Jupyter” that shows a reasonable workflow to move from one to the other. https://www.youtube.com/watch?v=_ZEWDGpM-vM&list=PLYCpMb24GpOC704uO9svUrihl-HY1tTJJ

(yinterian) #62

It may be this one


Could class EmbeddingDot reuse the DotProduct class from before?