numpy

def gen(out,griding_num = 100,localization_type='rel'):
out = out.data.cpu().numpy()
out_loc = np.argmax(out,axis=0)

if localization_type == 'rel':

    out =out[:-1, :, :]
    out = np.exp(out) / np.sum(np.exp(out), axis=0)
    prob = out
    print(prob)


    idx = np.arange(griding_num)
    idx = idx.reshape(-1, 1, 1)

    loc = np.sum(prob * idx, axis=0)

    loc[out_loc == griding_num] = griding_num
    out_loc = loc
lanes = []
for i in range(out_loc.shape[1]):
    out_i = out_loc[:,i]
    lane = [int(round((loc + 0.5) * 1280.0 / (griding_num - 1))) if loc != griding_num else -2 for loc in out_i]
    lanes.append(lane)
return lanes
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容