in sing/sequence/models.py [0:0]
def __init__(self,
embeddings,
length,
time_dimension=4,
output_dimension=128,
hidden_size=1024,
num_layers=3):
super(SequenceGenerator, self).__init__()
self.tables = nn.ModuleList()
self.inputs = []
input_size = time_dimension
for name, (cardinality, dimension) in sorted(embeddings.items()):
input_size += dimension
self.inputs.append(name)
self.tables.append(
nn.Embedding(
num_embeddings=cardinality, embedding_dim=dimension))
if time_dimension == 0:
self.time_table = None
else:
self.time_table = nn.Embedding(
num_embeddings=length, embedding_dim=time_dimension)
self.length = length
self.lstm = nn.LSTM(
input_size=input_size,
hidden_size=hidden_size,
num_layers=num_layers)
self.decoder = nn.Linear(hidden_size, output_dimension)