我有一个问题,就是初始化一个4-D numpy张量字典时的性能问题。
我有一个系数名称列表:
cnames = ['CN', 'CM', 'CA', 'CY', 'CLN' ...];
这是一个不固定大小的(取决于上方代码)问题。对于每个系数,我需要生成一个4维张量[nalpha X nmach X nbeta X nalt],并将其初始化为零(为了预分配内存),因此我执行以下操作:
#Number of coefficients
numofc = len(cnames);
final_data = {};
#I have to generate <numofc> 4D matrixes
for i in range(numofc):
final_data[cnames[i]]=n.zeros((nalpha,nmach,nbeta,nalt));
每个索引都是介于10和30之间的整数。每个索引都是介于100和200之间的整数。
这需要大约4分钟时间。我该如何加快速度?或者我做错了什么吗?
final_data = {cname : np.zeros((nalpha,nmach,nbeta,nalt)) for cname in cnames}
。 - root