同じFunctionを複数回呼ぶことによってGPUメモリの増加量が予想してたのと違かったからメモしておく
1回call
def forward(self, left, right):
left_feature = self.feature_extraction(left)
right_feature = self.feature_extraction(right)
#matching
cost_left = self.create_costvolume(left_feature,right_feature)#batch,channel,disparity,height,width
pred_left = self.estimate_disparity(cost_left,left.size()[2],left.size()[3])
return pred_left,pred_left
2回call
``` def forward(self, left, right): left_feature = self.feature_extraction(left)
right_feature = self.feature_extraction(right)
#matching
cost_left = self.create_costvolume(left_feature,right_feature)#batch,channel,disparity,height,width
pred_left = self.estimate_disparity(cost_left,left.size()[2],left.size()[3])
pred_left = self.estimate_disparity(cost_left,left.size()[2],left.size()[3])
return pred_left,pred_left

<h2>3回call</h2>
def forward(self, left, right):
left_feature = self.feature_extraction(left)
right_feature = self.feature_extraction(right)
#matching
cost_left = self.create_costvolume(left_feature,right_feature)#batch,channel,disparity,height,width
pred_left = self.estimate_disparity(cost_left,left.size()[2],left.size()[3])
pred_left = self.estimate_disparity(cost_left,left.size()[2],left.size()[3])
pred_left = self.estimate_disparity(cost_left,left.size()[2],left.size()[3])
return pred_left,pred_left

<h2>4回call</h2>
def forward(self, left, right):
left_feature = self.feature_extraction(left)
right_feature = self.feature_extraction(right)
#matching
cost_left = self.create_costvolume(left_feature,right_feature)#batch,channel,disparity,height,width
pred_left = self.estimate_disparity(cost_left,left.size()[2],left.size()[3])
pred_left = self.estimate_disparity(cost_left,left.size()[2],left.size()[3])
pred_left = self.estimate_disparity(cost_left,left.size()[2],left.size()[3])
pred_left = self.estimate_disparity(cost_left,left.size()[2],left.size()[3])
return pred_left,pred_left

<h1>結論</h1>
2回callするまではメモリは増えるが3回目以降増えなくなった理由について、わかる人いたら教えてください