(self, x, reward_hidden)
| 245 | self.fc = mlp(self.lstm_hidden_size, fc_reward_layers, full_support_size, init_zero=init_zero, momentum=momentum) |
| 246 | |
| 247 | def forward(self, x, reward_hidden): |
| 248 | state = x[:,:-1,:,:] |
| 249 | x = self.conv(x) |
| 250 | x = self.bn(x) |
| 251 | |
| 252 | x += state |
| 253 | x = nn.functional.relu(x) |
| 254 | |
| 255 | for block in self.resblocks: |
| 256 | x = block(x) |
| 257 | state = x |
| 258 | |
| 259 | x = self.conv1x1_reward(x) |
| 260 | x = self.bn_reward(x) |
| 261 | x = nn.functional.relu(x) |
| 262 | |
| 263 | x = x.view(-1, self.block_output_size_reward).unsqueeze(0) |
| 264 | value_prefix, reward_hidden = self.lstm(x, reward_hidden) |
| 265 | value_prefix = value_prefix.squeeze(0) |
| 266 | value_prefix = self.bn_value_prefix(value_prefix) |
| 267 | value_prefix = nn.functional.relu(value_prefix) |
| 268 | value_prefix = self.fc(value_prefix) |
| 269 | |
| 270 | return state, reward_hidden, value_prefix |
| 271 | |
| 272 | def get_dynamic_mean(self): |
| 273 | dynamic_mean = np.abs(self.conv.weight.detach().cpu().numpy().reshape(-1)).tolist() |
nothing calls this directly
no outgoing calls
no test coverage detected