yenchenlin / nerf-pytorch

A PyTorch implementation of NeRF (Neural Radiance Fields) that reproduces the results.
MIT License
5.33k stars 1.04k forks source link

Project dependencies may have API risk issues #94

Open PyDeps opened 1 year ago

PyDeps commented 1 year ago

Hi, In nerf-pytorch, inappropriate dependency versioning constraints can cause risks.

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

torch==1.11.0
torchvision>=0.9.1
imageio
imageio-ffmpeg
matplotlib
configargparse
tensorboard>=2.0
tqdm
opencv-python

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 imageio can be changed to >=1.1-linux32,<=2.19.3. The version constraint of dependency configargparse can be changed to >=0.9.3,<=1.5.3. The version constraint of dependency tqdm can be changed to >=4.36.0,<=4.64.0.

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 imageio
imageio.mimwrite
imageio.imwrite
imageio.imread
The calling methods from the configargparse
configargparse.ArgumentParser
The calling methods from the tqdm
tqdm.tqdm.write
tqdm.trange
tqdm.tqdm
The calling methods from the all methods
all_poses.append
z_vals.expand.expand
torch.optim.Adam.step
viewmatrix
numpy.random.choice
j.t.t
raw2alpha
torch.stack
eo.embed
disp.cpu.numpy
file.readline.split
trans_t
counts.append
bds.np.moveaxis.astype
rot_phi
all_imgs.append
torch.sigmoid
target.torch.Tensor.to
_load_data
any
x.np.clip.astype
filename.open.read
os.path.isfile
loss.backward
args.use_viewdirs.input_ch_views.skips.output_ch.input_ch.args.netwidth_fine.args.netdepth_fine.NeRF.to.parameters
numpy.array
numpy.linspace
args.use_viewdirs.input_ch_views.skips.output_ch.input_ch.args.netwidth_fine.args.netdepth_fine.NeRF.to
torch.from_numpy
i.self.pts_linears
sample_pdf
torch.reshape
train
os.getcwd
numpy.cumsum
numpy.cross
imread
numpy.cos
b_i.mean
mse2psnr
config_parser
ndc_rays
torch.optim.Adam.state_dict
parse_intrinsics
numpy.tan
phi.np.cos.phi.np.sin.phi.np.sin.phi.np.cos.torch.Tensor.float
getattr
numpy.transpose
self.create_embedding_fn
_minify
filename.open.read.split
bds.np.moveaxis.astype.min
load_llff.load_llff_data
recenter_poses
torch.mean
nums.x.x.float.np.array.reshape.astype
time.time
i.self.views_linears
numpy.percentile
numpy.random.seed
torch.norm
cdf.unsqueeze.expand
json.load
netchunk.fn.batchify
torch.cuda.is_available
format
u.contiguous.expand
rays_rgb.torch.Tensor.to.astype
th.np.cos.th.np.sin.th.np.sin.th.np.cos.torch.Tensor.float
imageio.imread
torch.sort
torch.cumprod
numpy.broadcast_to
torch.no_grad
self.alpha_linear
numpy.clip
torch.linspace
torch.searchsorted
numpy.concatenate.astype
render
imgs.np.moveaxis.astype.split
imageio.imwrite
A_i.A_i.np.transpose.mean
torch.exp
get_rays
poses.astype.mean
numpy.load.reshape
args.use_viewdirs.input_ch_views.skips.output_ch.input_ch.args.netwidth.args.netdepth.NeRF.to.load_state_dict
numpy.shape
torch.device
numpy.sin
rays_o.torch.reshape.float
sh.np.array.reshape
spherify_poses
numpy.abs
images.astype.astype
embeddirs_fn
torch.transpose
enumerate
torch.nn.Identity
tqdm.trange
poses_avg
os.path.join
torch.randn
dir2poses
render_path
numpy.random.rand
disp.cpu
self.output_linear
args.use_viewdirs.input_ch_views.skips.output_ch.input_ch.args.netwidth.args.netdepth.NeRF.to
args.use_viewdirs.input_ch_views.skips.output_ch.input_ch.args.netwidth_fine.args.netdepth_fine.NeRF.to.load_state_dict
loss.item
select_inds.coords.long
p_fn
batchify_rays
numpy.load
rgb.cpu.numpy
numpy.mean
numpy.tile
torch.min
poses.astype.astype
sorted
load_pose
run_network
act_fn
open
bool
torch.zeros_like
torch.cat.unsqueeze
numpy.linalg.inv
config_parser.parse_args
bins.unsqueeze
torch.ones
torch.isinf
imageio.mimwrite
create_nerf
poses.np.moveaxis.astype
render_kwargs_train.state_dict
t.torch.Tensor.float
torch.cat
torch.set_default_tensor_type
torch.optim.Adam
numpy.max
numpy.sum
numpy.reshape
fn
float
imgs.np.array.astype
numpy.ones_like
imgfiles.f.f.deepvoxels_base.os.path.join.imageio.imread.np.stack.astype
f.endswith
torch.log
render_kwargs_test.update
bds.np.moveaxis.astype.max
numpy.eye
print
rays_d.torch.reshape.float
NeRF
min_line_dist
torch.save
args.use_viewdirs.input_ch_views.skips.output_ch.input_ch.args.netwidth.args.netdepth.NeRF.to.parameters
load_LINEMOD.load_LINEMOD_data
u.contiguous.contiguous
tqdm.tqdm
torch.where
torch.nn.functional.relu
render_poses.np.array.astype
subprocess.check_output
join
torch.optim.Adam.load_state_dict
p34_to_44
k.ret.torch.isnan.any
numpy.argmin
torch.optim.Adam.zero_grad
poses.np.array.astype
os.path.exists
numpy.meshgrid
cv2.resize
file.write
self.NeRF.super.__init__
numpy.moveaxis
viewdirs.torch.reshape.float
os.chdir
images.torch.Tensor.to
numpy.stack
numpy.concatenate.append
torch.std
k.all_ret.append
load_deepvoxels.load_dv_data
min
numpy.concatenate
torch.sum
torch.rand
torch.cumsum
numpy.random.shuffle
torch.sigmoid.cpu
batchify
torch.nn.Linear
poses_arr.reshape.transpose
args.config.open.read
nums.x.x.float.np.array.reshape
torch.Tensor.expand
pose_spherical
center.poses.mean
rot_theta
max
len
c2w.expand
viewdirs.torch.reshape.float.expand
numpy.zeros
raw2outputs
embed_fns.append
map
poses.torch.Tensor.to
file.readline
i_test.poses.torch.Tensor.to
numpy.stack.append
configargparse.ArgumentParser
self.feature_linear
render_poses.torch.Tensor.to
config_parser.add_argument
super
numpy.square
numpy.linalg.norm
torch.randperm
tqdm.tqdm.write
network_query_fn
numpy.matmul
normalize
rays_rgb.torch.Tensor.to
render_rays
render_kwargs_train.update
i.t.t
get_rays_np
mse2psnr.item
os.makedirs
z_samples.detach.detach
int
torch.isnan
k.ret.torch.isinf.any
torch.meshgrid
img2mse
imgs.np.moveaxis.astype
vars
self.rgb_linear
to8b
Embedder
numpy.floor
poses.astype.sum
torch.Tensor
get_embedder
numpy.sqrt
render_path_spiral
os.listdir
testskip.imgfiles.f.f.testimgd.os.path.join.imageio.imread.np.stack.astype
numpy.ndarray.max
numpy.dot
embed_fn
isinstance
torch.max
torch.nn.ModuleList
torch.split
numpy.squeeze
numpy.ndarray.min
range
bins.unsqueeze.expand
numpy.ceil
torch.gather
render_poses.np.array.astype.append
torch.load
numpy.arange
torch.ones_like
list
testskip.imgfiles.f.f.valimgd.os.path.join.imageio.imread.np.stack.astype
load_blender.load_blender_data
numpy.load.transpose

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