最近在看一篇深度学习论文相关的代码,repo在这里:https ://github.com/wuyifan18/DeepLog/blob/master/LogKeyModel_predict.py
这与python有更多的关系,所以我不会提及它。下面是我们需要解析的文件:
5 5 5 22 11 9 11 9 11 9 26 26 26 23 23 23 21 21 21
5 5 22 5 11 9 11 9 11 9 26 26 26
5 22 5 5 11 9 11 9 11 9 26 26 26
5 22 5 5 11 9 11 9 11 9 26 26 26
5 22 5 5 11 9 11 9 11 9 26 26 26 23 23 23 21 21 21
22 5 5 5 11 9 11 9 11 9 26 26 26 23 23 23 21 21 21
5 22 5 5 11 9 11 9 11 9 26 26 26 23 23 23 21 21 21
5 5 5 22 11 9 11 9 11 9 26 26 26 2 23 23 23 21 21 21
5 22 5 5 11 9 11 9 11 9 26 26 26
以下函数应该解析它。首先,我们取每一行,并制作一个列表,其中元素是该行中的数字,由空格分隔。然后我们在 line 处将所述数字减一###。接下来发生什么?
def generate(name):
hdfs = set()
# hdfs = []
with open('data/' + name, 'r') as f:
for ln in f.readlines():
ln = list(map(lambda n: n - 1, map(int, ln.strip().split()))) ###
ln = ln + [-1] * (window_size + 1 - len(ln))
# print(ln)
hdfs.add(tuple(ln))
print('Number of sessions({}): {}'.format(name, len(hdfs)))
return hdfs
我不确定确切的目的ln = ln + [-1] * (window_size + 1 - len(ln))是什么。它在做什么?我以前没有看到在很多地方使用过列表乘法,所以我不确定。当我尝试打印更多内容时,似乎-1根本不存在ln。有人有什么想法吗?
猛跑小猪
慕勒3428872
相关分类