郭哥优化余弦距离代码记录

import numpy as np
import torch
import time

a_list = []

for i in range(32):
        a = np.ones((27,512))
        a_list.append(a)

t0 = time.time()
mode = torch.zeros((len(a_list),27,512))
for i in range(100):
        for j,num in enumerate(a_list):
                num_tensor = torch.from_numpy(num)
                mode[j] = num_tensor
        # num_np = np.stack(a_list, axis=0)
        # num_tensor = torch.from_numpy(num_np)
        # num_tensor = torch.Tensor(a_list)
t1 = time.time()

print(mode.shape,num_tensor.shape, (t1-t0)/100)

import numpy as np
import torch
import time

a_list = []

for i in range(32):
        a = np.zeros((27,512))
        a_list.append(a)

t0 = time.time()

for i in range(100):
        j = 0
        for num in a_list:
                num_tensor = torch.from_numpy(num)
                if j == 0:
                        first_tensor = torch.reshape(num_tensor, (1, 27, 512))
                elif j == 1:
                        second_tensor = torch.reshape(num_tensor, (1, 27, 512))
                        new_tensor = torch.cat((second_tensor, first_tensor), 0)
                else:
                        num_tensor = torch.reshape(num_tensor, (1, 27, 512))
                        new_tensor = torch.cat((new_tensor, num_tensor), 0)
                j += 1

        # num_np = np.stack(a_list, axis=0)
        # num_tensor = torch.from_numpy(num_np)
        # num_tensor = torch.Tensor(a_list)
t1 = time.time()
print(new_tensor.shape, t1-t0)
上一篇:pytorch-contiguous


下一篇:221. 最大正方形 Maximal Square