class_docstr: Class for TabNet model.
class_docstr_tok: ["Class","for","TabNet","model","."]
docstr: Trains one epoch of the network in self.network
  
  Parameters
  ----------
  train_loader : a :class: `torch.utils.data.Dataloader`
      DataLoader with train set
docstr_tok: ["Trains","one","epoch","of","the","network","in","self.network","Parameters","--","--","--","--","--","train_loader",":","a",":","class",":","`","torch.utils.data.Dataloader","`","DataLoader","with","train","set"]
code: def _train_epoch(self, train_loader):
      """
      Trains one epoch of the network in self.network
  
      Parameters
      ----------
      train_loader : a :class: `torch.utils.data.Dataloader`
          DataLoader with train set
      """
      self.network.train()
  
      for batch_idx, (X, y) in enumerate(train_loader):
          self._callback_container.on_batch_begin(batch_idx)
  
          batch_logs = self._train_batch(X, y)
  
          self._callback_container.on_batch_end(batch_idx, batch_logs)
  
      epoch_logs = {"lr": self._optimizer.param_groups[-1]["lr"]}
      self.history.epoch_metrics.update(epoch_logs)
  
      return
  
imports: from dataclasses import dataclass, field
  from typing import List, Any, Dict
  import torch
  from torch.nn.utils import clip_grad_norm_
  import numpy
  from scipy.sparse import csc_matrix
  from abc import abstractmethod
  from pytorch_tabnet import tab_network
  from pytorch_tabnet.utils import SparsePredictDataset, PredictDataset, create_explain_matrix, validate_eval_set, create_dataloaders, define_device, ComplexEncoder, check_input, check_warm_start, create_group_matrix, check_embedding_parameters
  from pytorch_tabnet.callbacks import CallbackContainer, History, EarlyStopping, LRSchedulerCallback
  from pytorch_tabnet.metrics import MetricContainer, check_metrics
  from sklearn.base import BaseEstimator
  from torch.utils.data import DataLoader
  import io
  import json
  from pathlib import Path
  import shutil
  import zipfile
  import warnings
  import copy
  import scipy
label_desc: Use image node_id 10 for calling the TabModel obj's underlying member method code with example usage: obj._train_epoch(train_loader) without return types