code: def make_predictor(args):
      layer_sizes = (
          [args.num_words]
          + [int(s) for s in args.layer_sizes.split("-")]
          + [args.num_topics]
      )
      logging.info("Creating MLP with sizes {}".format(layer_sizes))
      layers = []
      for in_size, out_size in zip(layer_sizes, layer_sizes[1:]):
          layer = nn.Linear(in_size, out_size)
          layer.weight.data.normal_(0, 0.001)
          layer.bias.data.normal_(0, 0.001)
          layers.append(layer)
          layers.append(nn.Sigmoid())
      layers.append(nn.Softmax(dim=-1))
      return nn.Sequential(*layers)
  
file_path: pyro/examples/lda.py
imports: import argparse
  import functools
  import logging
  import torch
  from torch import nn
  from torch.distributions import constraints
  import pyro
  import pyro.distributions
  from pyro.infer import SVI, JitTraceEnum_ELBO, TraceEnum_ELBO
  from pyro.optim import ClippedAdam
label_desc: Use image node_id 2 for calling a global function with example usage: make_predictor(args) and returns: nn