29 lines
998 B
Python
29 lines
998 B
Python
# coding: utf-8
|
|
import torch
|
|
import numpy as np
|
|
import argparse
|
|
|
|
def make_grid(nx, ny):
|
|
yv, xv = torch.meshgrid([torch.arange(ny), torch.arange(nx)])
|
|
grids = torch.stack((xv, yv), 2).view((1, 1, ny, nx, 2)).float()
|
|
return grids
|
|
|
|
def Yolov5_generate_npy(input_h, input_w) :
|
|
name = ['80','40','20']
|
|
ny, nx = int(input_h // pow(2,3)), int(input_w // pow(2,3))
|
|
for i in range(3):
|
|
ny_i, nx_i = int(ny // pow(2,i)), int(nx // pow(2,i))
|
|
grid = make_grid(nx_i, ny_i)
|
|
grid = grid.numpy()
|
|
file_name = name[i]+'_'+str(input_w)+'x'+str(input_h)+'.npy'
|
|
np.save(file_name,grid)
|
|
|
|
if __name__ == '__main__':
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument('--input-h', type=int, default=640, help='input height')
|
|
parser.add_argument('--input-w', type=int, default=640, help='input width')
|
|
args = parser.parse_args()
|
|
|
|
input_h, input_w = args.input_h, args.input_w
|
|
Yolov5_generate_npy(input_h, input_w)
|