class_docstr: Splitter needs providing some parameters to create folds and some "reader",
  that can read source.
class_docstr_tok: ["Splitter","needs","providing","some","parameters","to","create","folds","and","some","``","reader","''",",","that","can","read","source","."]
docstr: Create folds storages for all folds in folds_groups. Generator.
docstr_tok: ["Create","folds","storages","for","all","folds","in","folds_groups",".","Generator","."]
code: def fold_groups_files_generator(self, folds_groups, fold_offset):
      """Create folds storages for all folds in folds_groups. Generator."""
  
      fold_num = 0
      for fold_group in folds_groups:
          learn_folds = []
          skipped_folds = []
          for learn_set in fold_group:
              fold_num += 1
              if fold_offset < fold_num:
                  fold_file = self.create_fold(
                      learn_set, "fold", fold_num
                  )
                  learn_folds.append(fold_file)
              elif fold_offset >= fold_num:
                  fold_file = self.create_fold(
                      learn_set,
                      "offset{}_skipped".format(fold_offset),
                      fold_num,
                  )
                  skipped_folds.append(fold_file)
  
          rest_folds = self._write_folds(
              learn_folds + skipped_folds, fold_num, fold_offset
          )
          yield learn_folds, skipped_folds, rest_folds
  
file_path: catboost/catboost/python-package/catboost/eval/_splitter.py
imports: import random
  from ._fold_storage import FoldStorage
  from ._fold_storage import _FoldFile
label_desc: Use image node_id 6 for calling the _Splitter obj's underlying member method code with example usage: obj.fold_groups_files_generator(folds_groups, fold_offset) without return types