def construct_embedding_matrix(self):
min_delay = numpy.min(self.delays)
max_delay = numpy.max(self.delays)
t_list = []
embedding_list = []
for i in range(self.x.shape[0]):
if (i - max_delay < 0) or (i - min_delay) >= self.x.shape[0]:
continue
delay_vector = numpy.array([self.x[i - delay] for delay in self.delays])
if numpy.any(numpy.logical_or(numpy.isnan(delay_vector), numpy.isinf(delay_vector))):
continue
t_list.append(i)
embedding_list.append(delay_vector)
if len(embedding_list) == 0:
self.t = numpy.array(t_list, dtype=float)
self.embedding_mat = numpy.zeros((0, len(self.delays)), dtype=float)
else:
self.t = numpy.array(t_list)
self.embedding_mat = numpy.array(embedding_list)
assert self.embedding_mat.shape[1] == len(self.delays)
评论列表
文章目录