我一直在尝试生成人类姿态估计,我发现了许多预训练模型(例如 Pose2Seg, deep-high-resolution-net ),然而这些模型只包含训练和测试的脚本,这似乎是实现研究论文中模型的代码的常态,在 deep-high-resolution-net 中,我尝试编写一个脚本来加载预训练模型并输入我的图像,但得到的输出是一堆张量,我不知道如何将它们转换为我需要的.json注释文件。
我是新手,提前为我的糟糕英语道歉,任何建议都非常感激。
我想包含我的脚本,但它超过100行。
附注:联系作者并询问他们是否能帮忙,这样做是否礼貌?
因为这似乎有点不合适。
回答:
我不是在做骨骼检测研究,但你的问题似乎是普遍性的。
(1) 我认为其他人不应该从头开始教你如何加载数据和运行他们的代码。
(2) 要运行其他人的代码,只需修改他们提供的测试脚本,例如
https://github.com/leoxiaobin/deep-high-resolution-net.pytorch/blob/master/tools/test.py
他们已经帮你加载了模型
model = eval('models.'+cfg.MODEL.NAME+'.get_pose_net')( cfg, is_train=False ) if cfg.TEST.MODEL_FILE: logger.info('=> loading model from {}'.format(cfg.TEST.MODEL_FILE)) model.load_state_dict(torch.load(cfg.TEST.MODEL_FILE), strict=False) else: model_state_file = os.path.join( final_output_dir, 'final_state.pth' ) logger.info('=> loading model from {}'.format(model_state_file)) model.load_state_dict(torch.load(model_state_file)) model = torch.nn.DataParallel(model, device_ids=cfg.GPUS).cuda()
只需调用
# 用测试数据评估变量 xy = model(x)# 访问变量的张量,复制回CPU,转换为numpyarr = y.data.cpu().numpy()# 写入CSVnp.savetxt('output.csv', arr)
你应该能够在excel中打开它
(3) “将它们转换为我需要的.json注释”。
这是没人能帮你的问题。我们不知道你想要什么格式。对于他们的格式,可以通过他们的论文获得。或者通过查看他们的训练数据来获得
X, y = torch.load('some_training_set_with_labels.pt')
通过关联x和y。你应该会有很好的想法。