Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Project dependencies may have API risk issues #68

Open
PyDeps opened this issue Oct 27, 2022 · 1 comment
Open

Project dependencies may have API risk issues #68

PyDeps opened this issue Oct 27, 2022 · 1 comment

Comments

@PyDeps
Copy link

PyDeps commented Oct 27, 2022

Hi, In nerfies, inappropriate dependency versioning constraints can cause risks.

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

absl-py==0.13.0
flax==0.3.4
gin-config@git+https://github.com/google/gin-config@243ba87b3fcfeb2efb4a920b8f19679b61a6f0dc
imageio==2.9.0
immutabledict==2.2.0
jax==0.2.20
numpy==1.19.5
opencv-python==4.5.3.56
Pillow==8.3.2
scikit-image==0.18.3
scipy==1.7.1
tensorboard==2.6.0
tensorflow>=2.6.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 absl-py can be changed to >=0.3.0,<=1.1.0.
The version constraint of dependency flax can be changed to >=0.2.1,<=0.5.3.
The version constraint of dependency gin-config can be changed to ==0.5.0.
The version constraint of dependency numpy can be changed to >=1.8.0,<=1.23.0rc3.
The version constraint of dependency Pillow can be changed to ==9.2.0.
The version constraint of dependency Pillow can be changed to >=2.0.0,<=9.1.1.
The version constraint of dependency scipy can be changed to >=1.2.0rc1,<=1.5.4.

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 absl-py
absl.logging.log_every_n_seconds
The calling methods from the flax
flax.training.checkpoints.restore_checkpoint
flax.linen.Embed
flax.linen.vmap
flax.linen.Dense
flax.training.checkpoints.save_checkpoint
flax.optim.Adam
flax.linen.sigmoid
The calling methods from the gin-config
gin.config.markdown
The calling methods from the numpy
numpy.linalg.norm
The calling methods from the Pillow
PIL.Image.fromarray
The calling methods from the scipy
scipy.spatial.transform.Rotation.from_dcm
scipy.interpolate.interp1d
scipy.spatial.transform.Slerp
The calling methods from the all methods
jax.numpy.argmax
jax.tree_multimap.items
self.point3D_id_to_point3D_idx.items
MLP
self.output_activation
gin.config.external_configurable
set.discard
cv2.CVX_64F.gray.cv2.Laplacian.var
v_warp_field_cls
self.appearance_encoder
load_image
nerfies.image_utils.rescale_image
self.rng.permutation
nerfies.models.construct_nerf
os.path.join
point3D_id.self.point3D_id_to_images.tobytes
jax.numpy.stack
setuptools.setup
process_iterator
self.images.iterkeys
super.__init__
jax.numpy.trace
im
nerfies.image_utils.save_image
points.reshape.reshape
item_ids.self.rng.permutation.tolist
FileExistsError
_compute_loss_and_stats
jax.numpy.clip
rgb_mlp
nerfies.utils.TimeTracker
numpy.any
numpy.asarray.min
c.reshape.reshape
point3D_idx.self.point3D_errors.tobytes
numpy.squeeze
jac_fn
self.glo_encoder
self.exists
tensorflow.io.gfile.makedirs
collections.defaultdict
AnnealedSinusoidalEncoder
jax.nn.initializers.glorot_uniform
jax.jacfwd
from_config
nerfies.gpath.GPath.exists
f.readline.strip
flax.metrics.tensorboard.SummaryWriter.image
self._create_preloaded_dataset
d.pop.SCHEDULE_MAP
tensorflow.io.gfile.GFile
join
tensorflow.io.gfile.listdir
q.q.copy
flax.optim.Adam.create
jax.numpy.min
self.radial_distortion.copy
numpy.uint16.a.astype.clip.astype
super
camera.get_camera_matrix
SinusoidalEncoder
scipy.interpolate.interp1d
path.suffix.lstrip
sorted
model.apply
state.replace
dataset.shuffle.map
self.load_points3D
nerfies.rigid_body.to_homogenous
DualQuaternion
compute_opaqueness_mask.astype
expm1_safe
nerfies.gpath.GPath.open
tensorflow.shape
self.save_points3D
optimizer.apply_gradient
positions.append
self.embed
cs
absl.app.run
jax.numpy.block
jax.tree_util.tree_map
Camera
self.get_parameters.items
numpy.cos
v.mean
flax.jax_utils.prefetch_to_device
process_batch
self.posenc
dense
COLMAPDatabase.connect.add_matches
tensorflow.broadcast_to
self.load_camera.scale
iterator_from_dataset
jax.numpy.zeros_like
cond_2
jax.value_and_grad
summary_dir.mkdir
jax.vmap
collections.OrderedDict
jax.device_get
numpy.mean
nerfies.utils.tree_collate.items
jax.lax.pmean
checkpoint_dir.mkdir
flax.metrics.tensorboard.SummaryWriter.scalar
scipy.optimize.root
absl.logging.warning
self.image_path.endswith
jax.random.split
rgb.rgb_target.sum
nerfies.datasets.iterator_from_dataset
self.get_camera_matrix
jax.numpy.diag
nerfies.utils.strided_subset
nerfies.rigid_body.exp_se3
self.point3D_id_to_point3D_idx.get
jax.numpy.broadcast_to
image.q.q.tobytes
self.update
isinstance
executor.map
array_to_string
self.distortion_func
nerfies.datasets.from_config.create_cameras_dataset
self.warp_field
rp_to_se3
len
flax.jax_utils.unreplicate
numpy.atleast_2d.dot
tensorflow.io.gfile.glob
flax.jax_utils.replicate
compute_depth_map
tuple
dataset.shuffle.repeat
scipy.spatial.transform.Rotation.from_dcm
height.scale_factor.is_integer
base
nerfies.gpath.GPath
nerfies.utils.shard
numpy.random.RandomState
self.appearance_ids.index
jax.numpy.expand_dims
numpy.uint32.data.np.array.reshape
cross_prod_matrix
jax.numpy.cos
extra.get
jax.random.normal
tr_positive
jax.numpy.exp
self.cameras.items
RuntimeError
f.read.iter.c.c.join.decode
self._meters.items
jax.lax.stop_gradient
nerfies.modules.NerfMLP
tensorflow.python.data.util.nest.flatten_up_to
nerfies.datasets.from_config.load_points
jax.numpy.greater_equal
self._save_cameras_txt
self.metadata_encoder
flax.linen.initializers.xavier_uniform
jax.numpy.dot
cross_prod_matrix.dot
jax.numpy.searchsorted
list
metadata_path.exists
tensorflow.linalg.matvec
nerfies.datasets.nerfies.NerfiesDataSource
self.points_encoder
nerfies.configs.EvalConfig
value.reshape
time.time
self.encode_metadata
self.summary
renders_dir.mkdir
jax.numpy.pad
enumerate
self.load_camera.get_pixel_centers
tensorflow.experimental.numpy.zeros_like
float
os.path.exists
trunk_mlp
jax.numpy.eye
checkpoint_dir.exists
nerfies.utils.TimeTracker.summary
self.get_item
model.create_warp_field.apply
self.q0.q.dot
absl.flags.DEFINE_multi_string
numpy.sqrt
list.discard
hasattr
format
jax.numpy.log
numpy.random.seed
PIL.Image.fromarray.astype
camera.pixels_to_rays.astype
image.Image
jax.numpy.full
PIL.Image.fromarray.save
flax.metrics.tensorboard.SummaryWriter
delete_old_renders
self.copy
learning_rate_sched
min
numpy.full
depth_exp.depth_target.abs.squeeze
self.q0.norm
tensorflow.cast
matplotlib.colors.LinearSegmentedColormap.from_list
ValueError
self.point3D_id_to_point3D_idx.values
out_cameras.append
jax.process_count
dataset.shuffle.batch
PIL.Image.fromarray
x.shape.xu.reshape.self.self.distortion_func.x.ravel
tensorflow.range
numpy.tile
camera_dir.exists
numpy.square
self.tangential_distortion.copy
nerfies.camera.Camera.from_json
collections.defaultdict.items
image_to_float32
_build_colormap
line.strip
copy.copy.pop
fh.read
base_encoder
self.ToR
nerfies.model_utils.vmap_module
self.load_images
self.norm
jax.numpy.mean
jax.numpy.cumsum
numpy.empty
nerfies.tf_camera.TFCamera
reshape_image
Quaternion.FromR
self.q.ToR
nerfies.utils.jacobian_to_curl
self.cosine_easing_window
nerfies.utils.TimeTracker.tic
jax.config.parse_flags_with_absl
dict.pop
writer.histogram
nerfies.datasets.from_config.load_test_cameras
os.makedirs
IOError
nerfies.model_utils.compute_depth_index
self.get_warp_id
Quaternion
jax.numpy.sort
nerfies.image_utils.save_depth
downsample_image
iter
nerfies.schedules.from_config
tensorflow.python.data.util.nest.flatten
gin.config.markdown
self.GetNameFromType
x.objective.root.x.reshape.reshape
model.create_warp_field
jax.numpy.divide
COLMAPDatabase.connect.add_keypoints
meter.reduce
COLMAPDatabase.connect.add_camera
numpy.zeros
f.read
out_times.slerp.as_dcm
numpy.where
tensorflow.experimental.numpy.stack
point3D_idx.self.points3D.tobytes
nerfies.model_utils.TrainState
complex
conjugate
yd.copy
self.executescript
numpy.rec.fromarrays
jax.nn.softplus
numpy.kron
from_tuple
jax.numpy.clip.reshape
nerfies.utils.unshard
set
self.warp_ids.index
_load_dataset_ids
numpy.random.randint
jax.numpy.split
tensorflow.experimental.numpy.where
flax.linen.Embed
UINT8_MAX.UINT8_MAX.image.clip.astype
cond_idx
flax.linen.vmap
rays_dir.reshape.reshape
jax.numpy.eye.jtj.sum
struct.Struct
UINT16_MAX.image.clip
nerfies.utils.TimeTracker.record_time
nerfies.model_utils.sample_along_rays
self._save_cameras_bin
jax.numpy.where
state.replace.replace
numpy.asarray.copy
range
copy.copy
ret_maps.append
jax.random.choice
jax.numpy.array
numpy.array
numpy.asarray.max
self.base_schedule
self.trunk
tensorflow.io.gfile.rmtree
self.get_time_id
numpy.ascontiguousarray
metadata_path.open
nerfies.configs.ExperimentConfig
numpy.cross
self._load_images_txt
abs
rotations.append
self.load_camera
numpy.linalg.norm
jax.local_devices
numpy.expand_dims
scalar_params.replace.replace
nerfies.visualization.colorize
image.tvec.tobytes
imageio.imread
NerfModel.init
any
rgb.weights.sum
numpy.argmax
self._load_points3D_txt
tqdm.tqdm
render_fn
nerfies.glo.GloEncoder
math.ceil
flax.linen.initializers.uniform
jax.numpy.concatenate
alpha_mlp
log1p_safe
dataset.shuffle.unbatch
tensorflow.io.gfile.mkdir
ref_camera.copy
jax.numpy.sqrt
key.self._meters.update
issubclass
self.R
cv2.Laplacian
x.reshape
nerfies.training.save_checkpoint
tensorflow.TensorSpec
qsq.sum
v_elastic_fn
numpy.concatenate._numpy
tensorflow.experimental.numpy.abs
nerfies.configs.TrainConfig
colormap
numpy.zeros_like
camera.Camera
tensorflow.experimental.numpy.array
numpy.uint64
self.points3D.append
numpy.std
jax.tree_multimap
json.load
flax.linen.Dense
jax.tree_util.tree_multimap
self._get_item_signature
self.get_appearance_id
self.camera_encoder
line.startswith
nerfies.gpath.GPath.glob
numpy.atleast_2d
self.folder.endswith
rotation.Quaternion
cv2.imdecode
jax.jit
colorize_depth
self.save_images
numpy.allclose
sqlite3.connect
self.principal_point.copy
dict
self._create_lazy_dataset
jax.numpy.squeeze
self.mlp
absl.logging.info
xs.interp.astype
numpy.stack.reshape
self.point3D_ids.append
cond_1
self.R.T.dot
width.scale_factor.is_integer
jax.numpy.expm1
self._save_images_txt
COLMAPDatabase.connect
normalize
immutabledict.immutabledict
numpy.eye
jax.numpy.linspace
i.decode
numpy.take
background_loss.mean.mean
self.make_rng
self.point3D_id_to_images.items
GPath
nerfies.modules.AnnealedSinusoidalEncoder
self.load_depth
rgb_mlp.reshape
self.sigma_activation
numpy.sin
load_scene_info
safe_norm
flax.training.checkpoints.restore_checkpoint
next
self.trunk_width.dense
f.write
self.__mul__
_log_to_tensorboard
image.point3D_ids.astype
_radial_and_tangential_undistort
reduction.self.summary.items
nearest_rotation_svd
absl.flags.mark_flag_as_required
alpha_mlp.reshape
warp_alpha_sched
self.COLMAPDatabase.super.__init__
exit
dtype.blob.np.frombuffer.reshape
inv_scale.is_integer
nerfies.image_utils.image_to_uint8
get_colormap
self.data_dir.open
self.load_camera.pixels_to_rays
numpy.max
jax.numpy.sin
nerfies.model_utils.volumetric_rendering
re
nerfies.datasets.core.load_camera
absl.flags.DEFINE_string
renders_dir.exists
zip
_camera_to_rays_fn
jax.numpy.maximum
spline
camera.get_params.tobytes
multiply
tensorflow.stack
flax.linen.sigmoid
numpy.arctan2
self._meters.values
self.pixels_to_rays
jax.local_device_count
nerfies.datasets.from_config.create_iterator
tensorflow.data.Dataset.from_generator
camera.get_params
R.Quaternion.FromR.ToAxisAngle
jax.numpy.linalg.norm
numpy.getbuffer
jax.device_count
elastic_loss_weight_sched
elastic_loss.sum.mean
save_image
struct.Struct.pack
array_to_blob
tensorflow.image.ssim_multiscale
self.load_camera.get_parameters
u.dot
branch.stats.items
self._load_cameras_txt
v.reduce.values
struct.unpack
nerfies.rigid_body.from_homogenous
jax.numpy.linalg.svd
jax.numpy.ones
k.meters.update
item_id.replace.replace
jax.numpy.take_along_axis
stats.items
bytearray
nerfies.training.ScalarParams
jax.numpy.reshape.flatten
point3D_idx.self.point3D_colors.tobytes
jax.pmap
flax.optim.Adam
path.rmtree
jax.numpy.reshape
self.load_cameras
cond_3
Exception
numpy.floor
round
time_dict.items
nerfies.utils.TimeTracker.toc
tensorflow.convert_to_tensor
minmax
str
self.camera_ids.index
jax.process_indexs
camera.get_parameters.get
_compute_residual_and_jacobian
numpy.clip
v.reduce
scale_values
jax.numpy.tile
self._values.clear
inv_softplus
out.update
numpy.tile.astype
jax.numpy.nanmean
gin.parse_config_files_and_bindings
numpy.square.sum
jax.numpy.ones_like
norm
_load_image
line.split
item.pop
self._save_points3D_bin
self.get_parameters
numpy.arange
numpy.concatenate
interp
z_vals.weights.sum
self.load_colmap_project_file
self.points_to_local_points
jax.numpy.max
compute_multiscale_ssim
set.isdisjoint
logit
elastic_loss.sum.mean.sum
nerfies.datasets.from_config
float.is_integer
numpy.uint16.a.astype.clip
copy.deepcopy
time_alpha_sched
upsample_image
numpy.broadcast_to
jax.process_index
tensorflow.python.data.util.nest.pack_sequence_as
tensorflow.numpy_function
self._load_cameras_bin
_norm
camera.get_pixel_centers.astype
numpy.uint16.a.astype.clip.clip
self.create_warp_field
self.hidden_activation
get_image_ids_from_pair_id
jax.numpy.power
exp_so3
flax.training.checkpoints.save_checkpoint
scipy.interpolate.CubicSpline
self.save_cameras
level.self.nerf_mlps
jax.numpy.sum
safe_acos
functools.partial
weights.sum
numpy.asarray.ravel
map
layer
jax.numpy.nanmedian
tensorflow.io.gfile.isdir
jax.numpy.cumprod
NotImplementedError
v.tolist
max
points.astype.astype
image.np.asarray.astype
numpy.linspace
numpy.ones_like
numpy.asarray
nerfies.modules.MLP
self.q.dot
tensorflow.meshgrid
self.getT
camera.Camera.GetNumParams
jax.numpy.cross
self.point3D_errors.append
numpy.load
numpy.arcsin
camera_dir.glob
nerfies.camera.Camera
numpy.min
numpy.random.rand
numpy.stack
nerfies.model_utils.noise_regularize
process_batch.items
nerfies.utils.tree_collate
summary_dir.exists
jax.numpy.log1p
COLMAPDatabase.connect.add_image
tensorflow.experimental.numpy.sum
rgb.rgb_target.abs.sum
interpolate_colormap
int
nerfies.configs.ModelConfig
setuptools.find_packages
self.load_rgb
jax.numpy.arccos
jax.numpy.linalg.det
numpy.trace
blob_to_array
tensorflow.data.Dataset.from_tensor_slices
self.render_samples
nerfies.gpath.GPath.mkdir
jax.tree_map
jax.numpy.logical_xor
tensorflow.experimental.numpy.sqrt
numpy.identity
compute_background_loss
self.point3D_valid
tensorflow.dtypes.as_dtype
image.q.ToR
tensorflow.io.gfile.exists
nerfies.utils.jacobian_to_div
nerfies.modules.SinusoidalEncoder.model_utils.vmap_module
tensorflow.experimental.numpy.ones_like
self.position.copy
self.get_condition_inputs
cls
numpy.prod
jax.devices
numpy.float64
f.readline
numpy.radians
self.get_time
gin.configurable
self.branches
losses.values
self._load_images_bin
jax.numpy.zeros
ptrain_step
os.remove
absl.logging.log_every_n_seconds
matplotlib.cm.get_cmap
meter.reset
self.get_camera_id
self.images.items
nerfies.utils.parallel_map
skew
grad_fn
jax.lax.all_gather
compute_opaqueness_mask
self.get_inverse_camera_matrix
from_dict
nerfies.utils.TimeTracker.reset
numpy.rec.fromarrays.tobytes
time.sleep
COLMAPDatabase.connect.initialize_tables
math.cos
self.warp
numpy.concatenate.reshape
numpy.uint16.b.astype.clip
image_to_uint16
points3D.dot.dot
itertools.combinations
piecewise_constant_pdf
self.time_encoder
writer.scalar
self.point3D_colors.append
type
self.viewdir_encoder
self.q0.dot
depth_med.depth_target.abs.squeeze
logit_layer
jax.nn.sigmoid
jax.numpy.finfo
nerfies.modules.TimeEncoder
render_dir.iterdir
jax.numpy.concatenate.append
xd.copy
gin.operative_config_str
self.images.values
self._save_points3D_txt
self.get
concurrent.futures.ThreadPoolExecutor
jax.numpy.abs
nerfies.model_utils.sample_pdf
jax.random.uniform
numpy.abs
x.np.square.sum
nerfies.utils.general_loss_with_squared_residual
nerfies.utils.TimeTracker.summary_str
nerfies.warping.create_warp_field
broadcast_condition
data.np.uint32.map.list.np.array.reshape
self.create_dataset
itertools.chain
batch.rgb.mean
numpy.ones
self._save_images_bin
jax.numpy.asarray
fid.seek
numpy.all
xs.cs.astype
self._values.append
self.point_encoder
ret_t.set_shape
jax.numpy.minimum
jax.random.PRNGKey
functools.lru_cache
jax.numpy.full_like
print
scalar_params.warp_reg_loss_scale.scalar_params.warp_reg_loss_alpha.warp_reg_residual.utils.general_loss_with_squared_residual.mean
numpy.matmul
cv2.resize
numpy.uint16.b.astype.clip.astype
numpy.reshape
numpy.savetxt
UINT16_MAX.UINT16_MAX.image.clip.astype
numpy.finfo
struct.pack
numpy.frombuffer
UINT8_MAX.image.clip
model_fn
dataset.shuffle.shuffle
cv2.cvtColor
open
q0.dot
self._load_points3D_bin
self.load_camera.copy
COLMAPDatabase.connect.close
self.pixel_to_local_rays
_log_histograms
sum
COLMAPDatabase.connect.execute
tensorflow.config.experimental.set_visible_devices
model_out.model_out.sum
numpy.meshgrid
x.objective.root.x.reshape
fid.write
slerp
batch.model_out.mean
absl.flags.DEFINE_enum
scipy.spatial.transform.Slerp
flax.metrics.tensorboard.SummaryWriter.text
get_pair_id
NerfModel
self.orientation.copy
save_dir.mkdir
nerfies.utils.compute_psnr
schedule.get

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

@TaekyungKi
Copy link

could you please share actual working jax, jaxlib version?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants