python类Visdom()的实例源码

train.py 文件源码 项目:agent 作者: sintefneodroid 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def main():
  """

  :return:
  """
  _visualiser = None
  if C.USE_VISDOM:
    _visualiser = Visdom(C.VISDOM_SERVER)

  _environment = neo.make(C.ENVIRONMENT,
                          connect_to_running=C.CONNECT_TO_RUNNING,
                          logging_directory=C.LOGGING_DIRECTORY,
                          debug_logging=C.USE_LOGGING)
  _environment.seed(C.RANDOM_SEED)

  if type(C.ARCH_PARAMS['input_size']) == str:
    C.ARCH_PARAMS['input_size'] = _environment.observation_space.shape
  print('observation dimensions: ', C.ARCH_PARAMS['input_size'])

  if type(C.ARCH_PARAMS['output_size']) == str:
    C.ARCH_PARAMS['output_size'] = _environment.action_space.n
  print('action dimensions: ', C.ARCH_PARAMS['output_size'])

  _model = C.ARCH(C.ARCH_PARAMS)
  if C.LOAD_PREVIOUS_MODEL_IF_AVAILABLE:
    _model.load_state_dict(load_model(C))
  _target_model = C.ARCH(C.ARCH_PARAMS)
  _target_model.load_state_dict(_model.state_dict())

  if C.USE_CUDA_IF_AVAILABLE:
    _model = _model.cuda()
    _target_model.cuda()

  _trained_model = training_loop(_model,
                                 _target_model,
                                 _environment,
                                 _visualiser)

  _environment.close()

  save_model(_trained_model, C)
train.py 文件源码 项目:agent 作者: sintefneodroid 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def main():
  """

  :return:
  """
  _visualiser = None
  if C.USE_VISDOM:
    _visualiser = Visdom(C.VISDOM_SERVER)

  _environment = neo.make(C.ENVIRONMENT,
                          connect_to_running=C.CONNECT_TO_RUNNING,
                          logging_directory=C.LOGGING_DIRECTORY,
                          debug_logging=C.USE_LOGGING)
  _environment.seed(C.RANDOM_SEED)

  if type(C.ARCH_PARAMS['input_size']) == str:
    C.ARCH_PARAMS['input_size'] = _environment.observation_space.shape
  print('observation dimensions: ', C.ARCH_PARAMS['input_size'])

  if type(C.ARCH_PARAMS['output_size']) == str:
    C.ARCH_PARAMS['output_size'] = _environment.action_space.n
  print('action dimensions: ', C.ARCH_PARAMS['output_size'])

  _agent = PolicyAgent(C.ARCH_PARAMS['input_size'],C.ARCH_PARAMS['output_size'])

  _trained_model = training_loop(_agent,
                                 _environment)

  _environment.render(close=True)
  _environment.close()

  save_model(_trained_model, C)
logger.py 文件源码 项目:pytorch_divcolor 作者: aditya12agd5 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def __init__(self, server, port, outdir):
    self.vis = visdom.Visdom(port=port, server=server)

    titles = ['VAE -- KL Div', 'VAE -- Weighted L2', 'VAE -- L2']
    self.vis_plot_vae = []
    for title in titles:
      self.vis_plot_vae.append(self.vis.line(
        X=np.array([0.], dtype='f'),
        Y=np.array([0.], dtype='f'),
        opts=dict(
          xlabel='Iteration',\
          ylabel='Loss',\
          title=title)))

    self.vis_plot_test_vae = self.vis.line(
        X=np.array([0.], dtype='f'),
        Y=np.array([0.], dtype='f'),
        opts=dict(
          xlabel='Iteration',\
          ylabel='Test Loss',\
          title='VAE Test Loss'))


    self.vis_plot_mdn = []
    titles = ['MDN Loss', 'MDN -- L2']
    for title in titles:
      self.vis_plot_mdn.append(self.vis.line(
        X=np.array([0.], dtype='f'),
        Y=np.array([0.], dtype='f'),
        opts=dict(
          xlabel='Iteration',\
          ylabel='Loss',\
          title=title)))

    self.fp_vae = open('%s/log_vae.txt' % outdir, 'w')
    self.fp_vae.write('Iteration; KLDiv; WeightedL2; L2;\n')
    self.fp_vae.flush()

    self.fp_test_vae = open('%s/log_test_vae.txt' % outdir, 'w')
    self.fp_test_vae.write('Iteration; Loss;\n')
    self.fp_test_vae.flush()

    self.fp_mdn = open('%s/log_mdn.txt' % outdir, 'w')
    self.fp_mdn.write('Iteration; Loss; L2 Loss;\n')
    self.fp_mdn.flush()
options.py 文件源码 项目:pytorch-dnc 作者: jingweiz 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def __init__(self):
        self.verbose     = 0            # 0(warning) | 1(info) | 2(debug)

        # training signature
        self.machine     = "daim"       # "machine_id"
        self.timestamp   = "17080800"   # "yymmdd##"
        # training configuration
        self.mode        = 1            # 1(train) | 2(test model_file)
        self.config      = 1 

        self.seed        = 1
        self.render      = False        # whether render the window from the original envs or not
        self.visualize   = True         # whether do online plotting and stuff or not
        self.save_best   = False        # save model w/ highest reward if True, otherwise always save the latest model

        self.agent_type, self.env_type, self.game, self.circuit_type = CONFIGS[self.config]

        self.use_cuda    = torch.cuda.is_available()
        self.dtype       = torch.cuda.FloatTensor if torch.cuda.is_available() else torch.FloatTensor

        # prefix for model/log/visdom
        self.refs        = self.machine + "_" + self.timestamp # NOTE: using this as env for visdom
        self.root_dir    = os.getcwd()

        # model files
        # NOTE: will save the current model to model_name
        self.model_name  = self.root_dir + "/models/" + self.refs + ".pth"
        # NOTE: will load pretrained model_file if not None
        self.model_file  = None#self.root_dir + "/models/{TODO:FILL_IN_PRETAINED_MODEL_FILE}.pth"
        if self.mode == 2:
            self.model_file  = self.model_name  # NOTE: so only need to change self.mode to 2 to test the current training
            assert self.model_file is not None, "Pre-Trained model is None, Testing aborted!!!"
            self.refs = self.refs + "_test"     # NOTE: using this as env for visdom for testing, to avoid accidentally redraw on the training plots

        # logging configs
        self.log_name    = self.root_dir + "/logs/" + self.refs + ".log"
        self.logger      = loggerConfig(self.log_name, self.verbose)
        self.logger.warning("<===================================>")

        if self.visualize:
            self.vis = visdom.Visdom()
            self.logger.warning("bash$: python -m visdom.server")           # activate visdom server on bash
            self.logger.warning("http://localhost:8097/env/" + self.refs)   # open this address on browser
train.py 文件源码 项目:agent 作者: sintefneodroid 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def main():
  """

  :return:
  """
  _visualiser = None
  if C.USE_VISDOM:
    _visualiser = Visdom(C.VISDOM_SERVER)

  _environment = neo.make(C.ENVIRONMENT,
                          connect_to_running=C.CONNECT_TO_RUNNING,
                          logging_directory=C.LOGGING_DIRECTORY,
                          debug_logging=C.USE_LOGGING)
  _environment.seed(C.RANDOM_SEED)

  if type(C.ARCH_PARAMS['input_size']) == str:
    C.ARCH_PARAMS['input_size'] = _environment.observation_space.shape
  print('observation dimensions: ', C.ARCH_PARAMS['input_size'])

  if type(C.ARCH_PARAMS['output_size']) == str:
    C.ARCH_PARAMS['output_size'] = _environment.action_space.n
  print('action dimensions: ', C.ARCH_PARAMS['output_size'])

  _model = C.ARCH(C.ARCH_PARAMS)
  if C.LOAD_PREVIOUS_MODEL_IF_AVAILABLE:
    _model.load_state_dict(load_model(C))
  _target_model = C.ARCH(C.ARCH_PARAMS)
  _target_model.load_state_dict(_model.state_dict())

  if C.USE_CUDA_IF_AVAILABLE:
    _model = _model.cuda()
    _target_model.cuda()

  _trained_model = training_loop(_model,
                                 _target_model,
                                 _environment,
                                 _visualiser)

  # _environment.render(close=True)
  _environment.close()

  save_model(_trained_model, C)


问题


面经


文章

微信
公众号

扫码关注公众号