Giter Site home page Giter Site logo

Comments (3)

dragonwarrior avatar dragonwarrior commented on May 23, 2024

i had a similar problem that 'nerfacc.rendering' can't bp gradients, why

here is my code:

        def _rgb_alpha_fn(t_starts, t_ends, ray_indices):
            ray_indices = ray_indices.long()
            t_origins = rays_o[ray_indices]
            t_dirs = rays_d[ray_indices]
            midpoints = t_starts + (t_ends - t_starts) * torch.rand_like(t_starts)

            positions = t_origins + t_dirs * midpoints[..., None]
            dists = t_ends - t_starts
            
            sdf_nn_output = self.sdf_network(positions)
            sdf = sdf_nn_output[:, :1]
            feature_vector = sdf_nn_output[:, 1:]

            sdf_grad = self.sdf_network.gradient(positions).squeeze()
            rgbs = self.color_network(positions, sdf_grad, t_dirs, feature_vector).reshape(-1, 3)

            normal = F.normalize(sdf_grad, p=2, dim=-1)
            alphas = self.get_alpha(sdf, normal, t_dirs, dists, cos_anneal_ratio)

            return rgbs, alphas

        comp_rgb, opacity, depth, extras = nerfacc.rendering(t_starts, t_ends, ray_indices, n_rays=n_rays, rgb_alpha_fn=_rgb_alpha_fn)
        fake_loss = comp_rgb.sum()
        fake_loss.backward()
        print(self.sdf_network.lin0.weight.grad) # no grad here, why???

from nerfacc.

SYSUykLin avatar SYSUykLin commented on May 23, 2024

do u use the estimater.sample? I set the alpha_thre and got zero ray_indeces, I delete the alpha_thre in estimater.sample and gradient present.

from nerfacc.

dragonwarrior avatar dragonwarrior commented on May 23, 2024

yes, i used estimator.sample api.
right now, i solved my problem, it's because another mistake made by myself. the api is ok.

from nerfacc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.