70e4d7fe60a9658bb27b9f5fb67592a1222b2ec3,spotlight/sequence/representations.py,PoolNet,user_representation,#PoolNet#Any#,23
Before Change
// Average representations, ignoring padding.
sequence_embedding_sum = (sequence_embeddings
.sum(1)
.view(item_sequences.size()[0], -1))
non_padding_entries = ((item_sequences != PADDING_IDX)
.float()
.sum(1)
.expand_as(sequence_embedding_sum))
user_representations = (
sequence_embedding_sum / (non_padding_entries + 1)
)
return user_representations
def forward(self, user_representations, targets):
target_embedding = self.item_embeddings(targets)
After Change
def user_representation(self, item_sequences):
// Make the embedding dimension the channel dimension
sequence_embeddings = (self.item_embeddings(item_sequences)
.permute(0, 2, 1))
// Add a trailing dimension of 1
sequence_embeddings = (sequence_embeddings
.unsqueeze(3))
// Pad it with zeros from left
sequence_embeddings = F.pad(sequence_embeddings,
(0, 0, 1, 0))
// Average representations, ignoring padding.
sequence_embedding_sum = torch.cumsum(sequence_embeddings, 2)
non_padding_entries = (
torch.cumsum((sequence_embeddings != 0.0).float(), 2)
.expand_as(sequence_embedding_sum)
)
user_representations = (
sequence_embedding_sum / (non_padding_entries + 1)
).squeeze(3)
return user_representations[:, :, :-1], user_representations[:, :, -1]
def forward(self, user_representations, targets):
In pattern: SUPERPATTERN
Frequency: 3
Non-data size: 9
Instances
Project Name: maciejkula/spotlight
Commit Name: 70e4d7fe60a9658bb27b9f5fb67592a1222b2ec3
Time: 2017-07-06
Author: maciej.kula@gmail.com
File Name: spotlight/sequence/representations.py
Class Name: PoolNet
Method Name: user_representation
Project Name: maciejkula/spotlight
Commit Name: 70e4d7fe60a9658bb27b9f5fb67592a1222b2ec3
Time: 2017-07-06
Author: maciej.kula@gmail.com
File Name: spotlight/sequence/representations.py
Class Name: LSTMNet
Method Name: user_representation
Project Name: maciejkula/spotlight
Commit Name: 70e4d7fe60a9658bb27b9f5fb67592a1222b2ec3
Time: 2017-07-06
Author: maciej.kula@gmail.com
File Name: spotlight/sequence/representations.py
Class Name: CNNNet
Method Name: user_representation