我正在用Python实现一个声学特征提取系统,我需要实现一个makefile -风格的算法,以确保特征提取系统中的所有 block 都以正确的顺序运行,并且不重复任何特征提取阶段。
此特征提取系统的输入将是一个图表,详细说明特征提取 block 之间的链接,我想根据该图表确定要运行哪些函数。
此类系统的示例如下:
,-> [B] -> [D] ----+
input --> [A] ^ v
`-> [C] ----+---> [E] --> output
和函数调用(假设每个 block X
是一个 output = X(inputs)
形式的函数,可能类似于:
a = A(input)
b = B(a)
c = C(a)
d = D(b,c) # can't call D until both b and c are ready
output = E(d,c) # can't call E until both c and d are ready
我已经以字典的形式加载了函数图,每个字典条目的形式为(inputs, function)
,如下所示:
blocks = {'A' : (('input'), A),
'B' : (('A'), B),
'C' : (('A'), C),
'D' : (('B','C'), D),
'output' : (('D','C'), E)}
我目前对 makefile 算法的具体功能以及如何实现它还不清楚。我的 google-fu 在这里似乎也没有多大帮助。如果有人至少可以给我一个关于 makefile 算法的良好讨论的指针,那可能是一个好的开始。
最佳答案
关于python - 如何在 python 中实现 makefile 风格的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4310607/