# -*- coding: utf-8 -*- | |
# | |
# Copyright (C) 2019 Max-Planck-Gesellschaft zur Förderung der Wissenschaften e.V. (MPG), | |
# acting on behalf of its Max Planck Institute for Intelligent Systems and the | |
# Max Planck Institute for Biological Cybernetics. All rights reserved. | |
# | |
# Max-Planck-Gesellschaft zur Förderung der Wissenschaften e.V. (MPG) is holder of all proprietary rights | |
# on this computer program. You can only use this computer program if you have closed a license agreement | |
# with MPG or you get the right to use the computer program from someone who is authorized to grant you that right. | |
# Any use of the computer program without a valid license is prohibited and liable to prosecution. | |
# Contact: [email protected] | |
# | |
# | |
# If you use this code in a research publication please consider citing the following: | |
# | |
# Expressive Body Capture: 3D Hands, Face, and Body from a Single Image <https://arxiv.org/abs/1904.05866> | |
# | |
# | |
# Code Developed by: | |
# Nima Ghorbani <https://nghorbani.github.io/> | |
# | |
# 2020.12.12 | |
from torch import nn | |
class View(nn.Module): | |
def __init__(self, *args): | |
super(View, self).__init__() | |
self.shape = args | |
self._name = 'reshape' | |
def forward(self, x): | |
return x.view(self.shape) | |
class BatchFlatten(nn.Module): | |
def __init__(self): | |
super(BatchFlatten, self).__init__() | |
self._name = 'batch_flatten' | |
def forward(self, x): | |
return x.view(x.shape[0], -1) |