|
import os
|
|
|
|
from src.models.tools.jointstypes import JOINTSTYPES
|
|
from .base import ArgumentParser, add_cuda_options, adding_cuda
|
|
from .tools import load_args
|
|
|
|
|
|
def add_generation_options(parser):
|
|
group = parser.add_argument_group('Generation options')
|
|
group.add_argument("--num_samples_per_action", default=5, type=int, help="num samples per action")
|
|
group.add_argument("--num_frames", default=60, type=int, help="The number of frames considered (overrided if duration mode is chosen)")
|
|
group.add_argument("--fact_latent", default=1, type=int, help="Fact latent")
|
|
|
|
group.add_argument("--jointstype", default="smpl", choices=JOINTSTYPES,
|
|
help="Jointstype for training with xyz")
|
|
|
|
group.add_argument('--vertstrans', dest='vertstrans', action='store_true', help="Add the vertex translations")
|
|
group.add_argument('--no-vertstrans', dest='vertstrans', action='store_false', help="Do not add the vertex translations")
|
|
group.set_defaults(vertstrans=False)
|
|
|
|
group.add_argument("--mode", default="gen", choices=["interpolate", "gen", "duration", "reconstruction"],
|
|
help="The kind of generation considered.")
|
|
|
|
|
|
def parser():
|
|
parser = ArgumentParser()
|
|
parser.add_argument("checkpointname")
|
|
|
|
|
|
add_generation_options(parser)
|
|
|
|
|
|
add_cuda_options(parser)
|
|
|
|
opt = parser.parse_args()
|
|
newparameters = {key: val for key, val in vars(opt).items() if val is not None}
|
|
folder, checkpoint = os.path.split(newparameters["checkpointname"])
|
|
parameters = load_args(os.path.join(folder, "opt.yaml"))
|
|
parameters.update(newparameters)
|
|
|
|
adding_cuda(parameters)
|
|
|
|
epoch = int(checkpoint.split("_")[-1].split('.')[0])
|
|
return parameters, folder, checkpoint, epoch
|
|
|