本文整理汇总了Python中renderer.Renderer.jz_multi方法的典型用法代码示例。如果您正苦于以下问题:Python Renderer.jz_multi方法的具体用法?Python Renderer.jz_multi怎么用?Python Renderer.jz_multi使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类renderer.Renderer
的用法示例。
在下文中一共展示了Renderer.jz_multi方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from renderer import Renderer [as 别名]
# 或者: from renderer.Renderer import jz_multi [as 别名]
#.........这里部分代码省略.........
(Hz, Hz_components) = self._jacobian_multi(y_im, y_flow, y_m)
else:
(Hz, Hz_components) = self._jacobian(y_im, y_flow, y_m)
if self.sparse:
if self.multi:
HTH = self._hessian_sparse_multi(y_im, y_flow, y_m)
else:
HTH = self._hessian_sparse(y_im, y_flow, y_m)
else:
HTH = self._hessian(y_im, y_flow, y_m)
return (Hz, HTH, Hz_components)
@timer_counter(stats.jacobianrenderstc, stats.jacinc)
def _jacobian_multi(self, y_im, y_flow, y_m, deltaX = 2):
Hz = np.zeros((self.size(),1))
Hz_components = np.zeros((self.size(),4))
#Perturb groups of vertices
#This loop is ~32 renders, instead of ~280, for hydra1 synthetic mesh of 35 nodes
for idx, e in enumerate(self.E):
self.refresh(idx)
self.render()
#Set reference image to unperturbed images
self.renderer.initjacobian(y_im, y_flow, y_m)
for i in range(2):
for j in range(2):
offset = i+2*self.N*j
#print e
ee = offset + 2*np.array(e, dtype=np.int)
#print ee
self.X[ee,0] = np.squeeze(self.X[ee, 0] + deltaX)
self.refresh(idx)
self.render()
(hz, hzc) = self.renderer.jz_multi(self)
Hz[ee,0] = np.squeeze(hz[e]/deltaX)
Hz_components[ee,:] = hzc[e,:]/deltaX
self.X[ee,0] = np.squeeze(self.X[ee,0] - 2*deltaX)
self.refresh(idx)
self.render()
(hz, hzc) = self.renderer.jz_multi(self)
Hz[ee,0] = np.squeeze(Hz[ee,0] - hz[e].T/deltaX)
Hz_components[ee,:] -= hzc[e,:]/deltaX
self.X[ee,0] = np.squeeze(self.X[ee,0] + deltaX)
Hz[ee,0] = Hz[ee,0]/2
Hz_components[ee,:] = Hz_components[ee,:]/2
self.refresh()
self.render()
return (Hz, Hz_components)
def _jacobian(self, y_im, y_flow, y_m, deltaX = 2):
Hz = np.zeros((self.size(),1))
Hz_components = np.zeros((self.size(),4))
self.refresh()
self.render()
#Set reference image to unperturbed images
self.renderer.initjacobian(y_im, y_flow, y_m)
for idx in range(self.size()):
self.X[idx,0] += deltaX
self.refresh()
self.render()
(hz, hzc) = self.renderer.jz(self)
Hz[idx,0] = hz/deltaX
Hz_components[idx,:] = hzc/deltaX