def batchify(fn, chunk):
"""Constructs a version of 'fn' that applies to smaller batches.
"""
if chunk is None:
return fn
def ret(inputs):
return torch.cat([fn(inputs[i:i+chunk]) for i in range(0, inputs.shape[0], chunk)], 0)
return ret
- if chunk is None:
- chunk가 정해져 있지 않으면, fn을 반환한다. default 값으로 1024*64가 저장되어 있다.
- def ret(inputs):
return torch.cat([fn(inputs[i:i+chunk]) for i in range(0, inputs.shape[0], chunk)], 0)
- fn은 NeRF의 class object이다.
- chunk 단위 만큼 input을 잘라서 NeRF network에 input으로 넣어준다.
- 이 부분에서 run network가 실행된다(?) 추후에 알아보고 수정
- fn(inputs[i:i+chunk]를 통해서 batch화 된 ray들이 NeRF network로 들어가서 RGB estimation이 진행된다.