code: def draw_cumulative_return(self, args, _torch) -> list:
      state_dim = self.state_dim
      action_dim = self.action_dim
  
      agent = args.agent
      net_dim = args.net_dim
      cwd = args.cwd
  
      agent.init(net_dim, state_dim, action_dim)
      agent.save_load_model(cwd=cwd, if_save=False)
      act = agent.act
      device = agent.device
  
      state = self.reset()
      episode_returns = (
          list()
      )  # the cumulative_return / initial_account
      with _torch.no_grad():
          for i in range(self.max_step):
              s_tensor = _torch.as_tensor((state,), device=device)
              a_tensor = act(s_tensor)  # action_tanh = act.forward()
              action = (
                  a_tensor.detach().cpu().numpy()[0]
              )  # not need detach(), because with torch.no_grad() outside
              state, reward, done, _ = self.step(action)
  
              total_asset = (
                  self.amount
                  + (self.price_ary[self.day] * self.stocks).sum()
              )
              episode_return = total_asset / self.initial_total_asset
              episode_returns.append(episode_return)
              if done:
                  break
  
      import matplotlib.pyplot as plt
  
      plt.plot(episode_returns)
      plt.grid()
      plt.title("cumulative return")
      plt.xlabel("day")
      plt.xlabel("multiple of initial_account")
      plt.savefig(f"{cwd}/cumulative_return.jpg")
      print(
          f"| draw_cumulative_return: save in {cwd}/cumulative_return.jpg"
      )
      return episode_returns
  
file_path: FinRL/finrl/meta/env_stock_trading/env_nas100_wrds.py
imports: from __future__ import annotations
  import os
  import gym
  import numpy
  from numpy import random
label_desc: Use image node_id 6 for calling the StockEnvNAS100 obj's underlying member method code with example usage: obj.draw_cumulative_return(args, _torch) and returns: episode_returns