class_docstr: IndependentMultitaskVariationalStrategy wraps an existing
  :obj:`~gpytorch.variational.VariationalStrategy` to produce vector-valued (multi-task)
  output distributions. Each task will be independent of one another.
  
  The output will either be a :obj:`~gpytorch.distributions.MultitaskMultivariateNormal` distribution
  (if we wish to evaluate all tasks for each input) or a :obj:`~gpytorch.distributions.MultivariateNormal`
  (if we wish to evaluate a single task for each input).
  
  The base variational strategy is assumed to operate on a batch of GPs. One of the batch
  dimensions corresponds to the multiple tasks.
  
  :param ~gpytorch.variational.VariationalStrategy base_variational_strategy: Base variational strategy
  :param int num_tasks: Number of tasks. Should correspond to the batch size of task_dim.
  :param int task_dim: (Default: -1) Which batch dimension is the task dimension
class_docstr_tok: ["IndependentMultitaskVariationalStrategy","wraps","an","existing",":","obj",":","`","~gpytorch.variational.VariationalStrategy","`","to","produce","vector-valued","(","multi-task",")","output","distributions",".","Each","task","will","be","independent","of","one","another",".","The","output","will","either","be","a",":","obj",":","`","~gpytorch.distributions.MultitaskMultivariateNormal","`","distribution","(","if","we","wish","to","evaluate","all","tasks","for","each","input",")","or","a",":","obj",":","`","~gpytorch.distributions.MultivariateNormal","`","(","if","we","wish","to","evaluate","a","single","task","for","each","input",")",".","The","base","variational","strategy","is","assumed","to","operate","on","a","batch","of","GPs",".","One","of","the","batch","dimensions","corresponds","to","the","multiple","tasks",".",":","param","~gpytorch.variational.VariationalStrategy","base_variational_strategy",":","Base","variational","strategy",":","param","int","num_tasks",":","Number","of","tasks",".","Should","correspond","to","the","batch","size","of","task_dim",".",":","param","int","task_dim",":","(","Default",":","-1",")","Which","batch","dimension","is","the","task","dimension"]
code: def variational_distribution(self):
      return self.base_variational_strategy.variational_distribution
  
file_path: gpytorch/gpytorch/variational/independent_multitask_variational_strategy.py
imports: import warnings
  import torch
  from linear_operator.operators import RootLinearOperator
  from ..distributions import MultitaskMultivariateNormal, MultivariateNormal
  from ..module import Module
  from ._variational_strategy import _VariationalStrategy
label_desc: Use image node_id 3 for calling the IndependentMultitaskVariationalStrategy obj's underlying member method code with example usage: obj.variational_distribution() and returns: self