ChrisWu1997 / 2D-Motion-Retargeting

PyTorch implementation for our paper Learning Character-Agnostic Motion for Motion Retargeting in 2D, SIGGRAPH 2019
https://motionretargeting2d.github.io
MIT License
444 stars 86 forks source link

Project dependencies may have API risk issues #38

Open PyDeps opened 2 years ago

PyDeps commented 2 years ago

Hi, In 2D-Motion-Retargeting, inappropriate dependency versioning constraints can cause risks.

Below are the dependencies and version constraints that the project is using

numpy==1.16.2
scipy==1.1.0==1.1.0
tensorboardX==1.2
torch==0.4.1
tqdm==4.15.0
imageio==2.3.0
opencv-python==3.4.4.19
sklearn==0.0
scikit-learn==0.21.3
matplotlib==3.1.1

The version constraint == will introduce the risk of dependency conflicts because the scope of dependencies is too strict. The version constraint No Upper Bound and * will introduce the risk of the missing API Error because the latest version of the dependencies may remove some APIs.

After further analysis, in this project, The version constraint of dependency numpy can be changed to >=1.8.0,<=1.23.0rc3. The version constraint of dependency scipy can be changed to >=0.12.0,<=1.7.3. The version constraint of dependency tqdm can be changed to >=4.36.0,<=4.64.0. The version constraint of dependency imageio can be changed to >=1.1-linux32,<=2.19.3. The version constraint of dependency scikit-learn can be changed to >=0.15.0b1,<=0.21.3.

The above modification suggestions can reduce the dependency conflicts as much as possible, and introduce the latest version as much as possible without calling Error in the projects.

The invocation of the current project includes all the following methods.

The calling methods from the numpy
numpy.linalg.norm
The calling methods from the scipy
scipy.ndimage.gaussian_filter1d
The calling methods from the tqdm
tqdm.tqdm
tqdm.tqdm.set_postfix
tqdm.tqdm.set_description
The calling methods from the imageio
imageio.get_writer
The calling methods from the scikit-learn
sklearn.manifold.TSNE
sklearn.decomposition.PCA.fit_transform
sklearn.decomposition.PCA
sklearn.manifold.TSNE.fit_transform
The calling methods from the all methods
numpy.zeros_like
net.to.to
self.net.cross
Encoder
functional.visualization.interpolate_color
matplotlib.pyplot.legend
torch.nn.Upsample
cv2.resize
cv2.addWeighted.astype
format
functional.visualization.joints2image
self.net.eval
csv.DictReader
handle2x
self.augmentation
torch.nn.LeakyReLU
torch.nn.Dropout
v2.args.path2.dataloder.dataset.preprocessing.unsqueeze
interpolate_as_form
tensorboardX.SummaryWriter.add_scalar
torch.cat
input2.detach.clone
numpy.zeros_like.reshape
sys.stdout.flush
functional.motion.normalize_motion
os.path.abspath
json.load
self.net.parameters
loss_dcit.values
input122.detach.clone
sys.path.append
clock.tick
sklearn.decomposition.PCA
numpy.save
test
torch.nn.MSELoss
common.config.initialize
input211.detach.clone
motion.detach.cpu
self.gen_aug_param
jointDict.np.array.reshape
np.stack
torch.nn.Sequential
numpy.linalg.norm
info.np.array.reshape
self.MixamoDatasetForFull.super.__init__
model.get_autoencoder.load_state_dict
outputs.items
math.degrees
list
numpy.rad2deg
os.close
torch.optim.Adam
trans_motion2d
img_iterps.append
argparse.ArgumentParser.add_argument
numpy.random.seed
print
csv.DictWriter
motion_trans.reshape.reshape
x1.self.body_encoder.repeat.reshape
functional.visualization.visulize_motion_in_training.items
copy.copy
char_data.append
sklearn.manifold.TSNE
self.update_network
model.get_autoencoder.mot_encoder
time.time
model.get_autoencoder.transfer
model.get_autoencoder.to
self.optimizer.step
agent.agents.Agent2x
param.keys
x2.self.view_encoder.repeat
csv.DictWriter.writerow
min
batch_motion.repeat
os.listdir
self.MixamoDatasetForView.super.__init__
mathutils.Vector
torch.stack.append
int
self.preprocessing
logfile.open.close
numpy.max
Decoder
model.get_autoencoder
vec_interpolate
input1.detach.clone
numpy.array.tolist
torch.stack
model.get_autoencoder.static_encoder
self.AutoEncoder3x.super.__init__
self.logger.info
functional.motion.postprocess_motion2d.to
self.Agent2x.super.__init__
self.body_encoder.reshape
motion_trans.torch.Tensor.unsqueeze
nr_cv.labels.np.tile.reshape
os.path.exists
self.net.cross_with_triplet
torch.device
self.tripletloss
v.item
bounding_box
np.array
x1.self.view_encoder.repeat
dataset.get_dataloader
tqdm.tqdm.set_postfix
bpy.ops.wm.read_homefile
self.reset
numpy.matmul
math.cos
x.split
self.AutoEncoder2x.super.__init__
numpy.mean
out.detach
convpool
self.net.cpu
functional.motion.openpose2motion
tensorboardX.SummaryWriter
torch.utils.data.DataLoader
self.Encoder.super.__init__
PIL.Image.fromarray
torch.Tensor
self.static_encoder
sklearn.manifold.TSNE.fit_transform
model.get_autoencoder.decoder
super
hasattr
csv.DictWriter.writerows
x1.self.view_encoder.repeat.repeat
rgb.append
functional.utils.TrainClock
math.radians
centers.centers.np.zeros.np.c_.reshape
numpy.load
enumerate
x.self.body_encoder.repeat.repeat
self.mot_encoder.reshape
handle3x
set_homefile
h.lstrip.lstrip
imageio.get_writer.close
x2.self.body_encoder.repeat
os.dup
vec_interpolate.repeat
x1.self.body_encoder.repeat
motion.detach.cpu.numpy
heatmaps.np.stack.transpose.append
json.dump
next
isinstance
self.net.cpu.state_dict
c1.repeat.repeat
os.makedirs
self.global_pool
normalize_motion
argparse.ArgumentParser.parse_args
x.reshape.reshape
x2.self.body_encoder.repeat.repeat
scipy.ndimage.gaussian_filter1d.reshape
cluster_motion
numpy.zeros
heatmaps.np.stack.transpose
rotate_coordinates
numpy.cross
cv2.addWeighted.copy
logging.basicConfig
clock.tock
self.net.train
self.model
functional.motion.normalize_motion_inv.reshape
tqdm.tqdm
numpy.tile
torch.nn.ReflectionPad1d
numpy.where
os.path.split
math.atan2
functional.motion.postprocess_motion2d
out.detach.cpu.numpy
self.net.to
numpy.concatenate.append
nr_sample.torch.linspace.to
canvas_cropped.astype
self.MixamoDatasetForSkeleton.super.__init__
numpy.savez
matplotlib.pyplot.switch_backend
math.sin
input221.detach.clone
dataset.datasets.MixamoDatasetForSkeleton
cv2.ellipse2Poly
cv2.addWeighted.fill
argparse.ArgumentParser
model.get_autoencoder.body_encoder
data.reshape.reshape
functional.motion.normalize_motion_inv
normalize_motion_inv
model.networks.AutoEncoder3x
numpy.linspace
pose2im_all
self.merge_headers
data.contiguous.view
functional.motion.preprocess_motion2d
torch.save
bpy.ops.wm.save_as_mainfile
self.conv1x1
get_joint3d_positions
bpy.data.objects.remove
nr_view.np.arange.reshape
out.detach.cpu
numpy.arange
self.mot_encoder
features.detach.cpu.numpy
functional.utils.ensure_dirs
numpy.eye
ordered_dict.keys
dataloder.dataset.preprocessing
input21.detach.clone
x2.self.view_encoder.repeat.reshape
tensorboardX.SummaryWriter.add_image
matplotlib.pyplot.figure
v2.alpha.v1.alpha.repeat
nr_anims.np.arange.reshape
imageio.get_writer.append_data
dataset.MixamoDatasetForFull
x3.self.view_encoder.repeat
matplotlib.cm.rainbow
sum.backward
join
model.append
Config
scipy.ndimage.gaussian_filter1d
len
motion.detach.cpu.numpy.reshape
sorted
name.data.to
glob.glob
features.detach.cpu.numpy.reshape.detach
numpy.cos
input12.detach.clone
functional.visualization.visulize_motion_in_training
x.self.body_encoder.repeat
functional.utils.ensure_dir
open
dataset.MixamoDatasetForFull.get_cluster_data
main
numpy.ones
scipy.ndimage.gaussian_filter1d.append
numpy.std
features.detach.cpu
np.stack.append
agent.get_training_agent
torch.load
data.shape.data.shape.data.contiguous.view.to
agent.get_training_agent.train_func
functional.visualization.motion2video
tqdm.tqdm.set_description
bpy.context.scene.frame_set
pad_to_16x
functional.motion.get_local3d
nr_char.np.arange.reshape
self.decoder
self.view_encoder.reshape
x.self.view_encoder.repeat
matplotlib.pyplot.scatter
numpy.stack
tsne_on_pca
functional.utils.cycle
model.get_autoencoder.view_encoder
cv2.circle
range
self.preprocessing.detach
name.split
imageio.get_writer
json2npy
numpy.random.uniform
logging.getLogger
x1.self.view_encoder.repeat.reshape
numpy.load.copy
ValueError
get_joint3d_positions.extend
clear_scene_and_import_fbx
numpy.random.randint
losses.items
str
agent.get_training_agent.update_learning_rate
numpy.min
dataset.datasets.MixamoDatasetForFull
numpy.sin
ensure_dir
view_data.append
torch.optim.lr_scheduler.ExponentialLR
interpolate
functional.visualization.hex2rgb
agent.get_training_agent.save_network
self.body_encoder
os.open
input121.detach.clone
functional.motion.trans_motion3d
torch.nn.Conv1d
functional.motion.trans_motion_inv
self.mse
cv2.fillConvexPoly
alphas.alpha.v2.alpha.v1.alpha.torch.cat.repeat
bpy.ops.import_scene.fbx
model.get_autoencoder.transfer_three
self._MixamoDatasetBase.super.__init__
self.Agent3x.super.__init__
v.item.items
functional.motion.get_foot_vel
self.forward
os.path.join
numpy.tile.reshape
sum
net.body_encoder.repeat
agent.get_training_agent.val_func
data.reshape.contiguous
nr_mv.labels.np.tile.reshape
matplotlib.pyplot.tight_layout
gen_meanpose
numpy.array
trans_motion_inv
np.save
int.nr_anims.data.shape.np.linspace.tolist
self.net.load_state_dict
net.view_encoder.repeat
torch.cuda.is_available
self.static_encoder.reshape
v.item.values
cluster_body
self.optimizer.zero_grad
agent.agents.Agent3x
dataset.datasets.MixamoDatasetForView
model.networks.AutoEncoder2x
cluster_view
input112.detach.clone
features.detach.cpu.numpy.reshape
cv2.addWeighted
save_image
rgb2rgba
numpy.random.choice
shutil.rmtree
x2.self.view_encoder.repeat.repeat
self.build_item
self.scheduler.step
get_meanpose
PIL.Image.fromarray.save
x2.self.body_encoder.repeat.reshape
dataset.get_meanpose
functional.motion.trans_motion3d.reshape
x1.self.body_encoder.repeat.repeat
x2.self.static_encoder.repeat
csv.DictWriter.writeheader
torch.no_grad
joints2image
torch.from_numpy
sklearn.decomposition.PCA.fit_transform
v1.args.path1.dataloder.dataset.preprocessing.unsqueeze
torch.nn.TripletMarginLoss
functional.utils.pad_to_height
input212.detach.clone
collections.OrderedDict
model.get_autoencoder.eval
pose2im
self.view_encoder
nr_mc.labels.np.tile.reshape
matplotlib.pyplot.savefig
numpy.concatenate
scipy.ndimage.gaussian_filter1d.detach
self.Decoder.super.__init__
scipy.ndimage.gaussian_filter1d.copy
torch.linspace

@developer Could please help me check this issue? May I pull a request to fix it? Thank you very much.