Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion demo_imitator.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import numpy as np
from tqdm import tqdm
import os
import sys
import glob

from models.imitator import Imitator
Expand Down Expand Up @@ -45,7 +46,7 @@ def generate_actor_result(test_opt, src_img_path):
src_img_name = os.path.split(src_img_path)[-1][:-4]
test_opt.src_path = src_img_path

if test_opt.post_tune:
if test_opt.post_tune and sys.platform in ("darwin", "linux", "linux2"):
adaptive_personalize(test_opt, imitator, visualizer=None)
else:
imitator.personalize(test_opt.src_path, visualizer=None)
Expand Down
7 changes: 5 additions & 2 deletions networks/batch_smpl.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
'lsp': Returns H3.6M-LSP 14 joints
Note: To get original smpl joints, use self.J_transformed
"""

import sys
import torch
import torch.nn as nn
import torch.nn.functional as F
Expand Down Expand Up @@ -55,7 +55,10 @@ def batch_skew(vec, batch_size=None, device="cpu"):
).view(-1).to(device)

res = torch.zeros(batch_size * 9, dtype=vec.dtype).to(device)
res[indices] = updates
if sys.platform in ("darwin", "linux", "linux2"):
res[indices] = updates
elif sys.platform == "win32":
res[indices.long()] = updates
res = res.view(batch_size, 3, 3)

return res
Expand Down
8 changes: 6 additions & 2 deletions run_imitator.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import torch.utils.data
from tqdm import tqdm
import os
import sys
import glob

from data.dataset import PairSampleDataset
Expand Down Expand Up @@ -183,12 +184,15 @@ class Config(object):

meta_cycle_ds = MetaCycleDataSet(opt=config)
length = len(meta_cycle_ds)

if sys.platform in ("darwin", "linux", "linux2"):
num_workers = 4
elif sys.platform == "win32":
num_workers = 0
data_loader = torch.utils.data.DataLoader(
meta_cycle_ds,
batch_size=min(length, opt.batch_size),
shuffle=False,
num_workers=4,
num_workers=num_workers,
drop_last=True)

return data_loader
Expand Down
5 changes: 4 additions & 1 deletion thirdparty/neural_renderer/examples/example2.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,10 @@ def main():
model = Model(args.filename_obj, args.filename_ref)
model.cuda()

optimizer = torch.optim.Adam(filter(lambda p: p.requires_grad, model.parameters()))
def lambda_req(p):
return p.requires_grad

optimizer = torch.optim.Adam(filter(lambda_req, model.parameters()))
# optimizer.setup(model)
loop = tqdm.tqdm(range(300))
for i in loop:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,24 @@ static __inline__ __device__ double atomicAdd(double* address, double val) {
}
#endif

// for windows installation please change the upper function with this.
// #if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 600

// #else
// static __inline__ __device__ double atomicAdd(double *address, double val) {
// unsigned long long int* address_as_ull = (unsigned long long int*)address;
// unsigned long long int old = *address_as_ull, assumed;
// if (val==0.0)
// return __longlong_as_double(old);
// do {
// assumed = old;
// old = atomicCAS(address_as_ull, assumed, __double_as_longlong(val +__longlong_as_double(assumed)));
// } while (assumed != old);
// return __longlong_as_double(old);
// }

#endif

namespace{
template <typename scalar_t>
__global__ void forward_face_index_map_cuda_kernel_1(
Expand Down