У меня возникла проблема выполнения инициализации словаря четырехмерного тензора.Словарь 4-D numpy массива: как оптимизировать?
У меня есть список имен коэффициентов:
cnames = ['CN', 'CM', 'CA', 'CY', 'CLN' ...];
, не фиксированный размер (это зависит от верхнего кода). Для каждого коэффициента я должен генерировать тензор 4-D [nalpha Х nmach Х nbeta Х 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)) для cname в cnames}' – root