代码拉取完成,页面将自动刷新
import torch
from torch.autograd import Variable
import numpy as np
def demo(model, loader, viz=False, device=torch.device('cpu')):
print('-' * 10 + 'evaluation' + '-' * 10)
model.model.eval()
model.inpainting.eval()
with torch.no_grad():
for i, data in enumerate(loader):
if torch.cuda.is_available():
img = Variable(data['img']).to(device)
else:
print('CUDA error')
sys.exit(0)
# forward
m0, m1, m2, m3, mask, heatmap, encoded = model.model(img)
decoded = model.inpainting.head(encoded)
# visualize
if viz:
model.viz_result(img, mask, decoded)
# save results
results = {}
results.update(img=img.detach().cpu().numpy().astype(np.float32))
results.update(mask=mask.detach().cpu().numpy().astype(np.float32))
results.update(pred=decoded.detach().cpu().numpy().astype(np.float32))
if heatmap is not None:
results.update(heatmap=heatmap.detach().cpu().numpy().astype(np.float32))
model.save_results_render(results, i)
else:
model.save_results(results, i)
print('batch: %d/%d ' %(i, len(loader)))
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。