class_docstr: This base class provides basic operations to consume inputs and call a synthetic reward net
  
  A synthetic reward net (self.net) assumes the input contains only torch.Tensors.
  Expected input shape:
      state: seq_len, batch_size, state_dim
      action: seq_len, batch_size, action_dim
  Expected output shape:
      reward: batch_size, seq_len
class_docstr_tok: ["This","base","class","provides","basic","operations","to","consume","inputs","and","call","a","synthetic","reward","net","A","synthetic","reward","net","(","self.net",")","assumes","the","input","contains","only","torch.Tensors",".","Expected","input","shape",":","state",":","seq_len",",","batch_size",",","state_dim","action",":","seq_len",",","batch_size",",","action_dim","Expected","output","shape",":","reward",":","batch_size",",","seq_len"]
docstr: Export an pytorch nn to feed to predictor wrapper.
docstr_tok: ["Export","an","pytorch","nn","to","feed","to","predictor","wrapper","."]
code: def export_mlp(self):
      """
      Export an pytorch nn to feed to predictor wrapper.
      """
      return self.net
  
imports: import logging
  import math
  from typing import List
  import torch
  import torch.nn
  import torch.nn.functional
  from reagent.core import parameters, types
  from reagent.models import convolutional_network, fully_connected_network
  from reagent.models.base import ModelBase
  from reagent.models.fully_connected_network import ACTIVATION_MAP
label_desc: Use image node_id 3 for calling the SyntheticRewardNet obj's underlying member method code with example usage: obj.export_mlp() and returns: self