SYMBOL INDEX (674 symbols across 72 files) FILE: crslab/config/config.py class Config (line 21) | class Config: method __init__ (line 24) | def __init__(self, config_file, gpu='-1', debug=False): method load_yaml_configs (line 91) | def load_yaml_configs(filename): method __setitem__ (line 106) | def __setitem__(self, key, value): method __getitem__ (line 111) | def __getitem__(self, item): method get (line 117) | def get(self, item, default=None): method __contains__ (line 133) | def __contains__(self, key): method __str__ (line 138) | def __str__(self): method __repr__ (line 141) | def __repr__(self): FILE: crslab/data/__init__.py function get_dataset (line 73) | def get_dataset(opt, tokenize, restore, save) -> BaseDataset: function get_dataloader (line 93) | def get_dataloader(opt, dataset, vocab) -> BaseDataLoader: FILE: crslab/data/dataloader/base.py class BaseDataLoader (line 18) | class BaseDataLoader(ABC): method __init__ (line 26) | def __init__(self, opt, dataset): method get_data (line 38) | def get_data(self, batch_fn, batch_size, shuffle=True, process_fn=None): method get_conv_data (line 72) | def get_conv_data(self, batch_size, shuffle=True): method get_rec_data (line 87) | def get_rec_data(self, batch_size, shuffle=True): method get_policy_data (line 102) | def get_policy_data(self, batch_size, shuffle=True): method conv_process_fn (line 117) | def conv_process_fn(self): method conv_batchify (line 126) | def conv_batchify(self, batch): method rec_process_fn (line 137) | def rec_process_fn(self): method rec_batchify (line 146) | def rec_batchify(self, batch): method policy_process_fn (line 157) | def policy_process_fn(self): method policy_batchify (line 166) | def policy_batchify(self, batch): method retain_recommender_target (line 177) | def retain_recommender_target(self): method rec_interact (line 190) | def rec_interact(self, data): method conv_interact (line 201) | def conv_interact(self, data): FILE: crslab/data/dataloader/inspired.py class InspiredDataLoader (line 14) | class InspiredDataLoader(BaseDataLoader): method __init__ (line 47) | def __init__(self, opt, dataset, vocab): method rec_process_fn (line 81) | def rec_process_fn(self, *args, **kwargs): method _process_rec_context (line 91) | def _process_rec_context(self, context_tokens): method rec_batchify (line 105) | def rec_batchify(self, batch): method conv_batchify (line 123) | def conv_batchify(self, batch): method policy_batchify (line 161) | def policy_batchify(self, batch): FILE: crslab/data/dataloader/kbrd.py class KBRDDataLoader (line 17) | class KBRDDataLoader(BaseDataLoader): method __init__ (line 38) | def __init__(self, opt, dataset, vocab): method rec_process_fn (line 56) | def rec_process_fn(self): method rec_batchify (line 65) | def rec_batchify(self, batch): method conv_process_fn (line 77) | def conv_process_fn(self, *args, **kwargs): method conv_batchify (line 80) | def conv_batchify(self, batch): method policy_batchify (line 99) | def policy_batchify(self, *args, **kwargs): FILE: crslab/data/dataloader/kgsf.py class KGSFDataLoader (line 19) | class KGSFDataLoader(BaseDataLoader): method __init__ (line 44) | def __init__(self, opt, dataset, vocab): method get_pretrain_data (line 65) | def get_pretrain_data(self, batch_size, shuffle=True): method pretrain_batchify (line 68) | def pretrain_batchify(self, batch): method rec_process_fn (line 79) | def rec_process_fn(self): method rec_batchify (line 89) | def rec_batchify(self, batch): method conv_process_fn (line 104) | def conv_process_fn(self, *args, **kwargs): method conv_batchify (line 107) | def conv_batchify(self, batch): method policy_batchify (line 128) | def policy_batchify(self, *args, **kwargs): FILE: crslab/data/dataloader/ntrd.py class NTRDDataLoader (line 14) | class NTRDDataLoader(BaseDataLoader): method __init__ (line 15) | def __init__(self, opt, dataset, vocab): method get_pretrain_data (line 38) | def get_pretrain_data(self, batch_size, shuffle=True): method pretrain_batchify (line 41) | def pretrain_batchify(self, batch): method rec_process_fn (line 52) | def rec_process_fn(self): method rec_batchify (line 62) | def rec_batchify(self, batch): method conv_process_fn (line 77) | def conv_process_fn(self, *args, **kwargs): method conv_batchify (line 80) | def conv_batchify(self, batch): method policy_batchify (line 115) | def policy_batchify(self, *args, **kwargs): FILE: crslab/data/dataloader/redial.py class ReDialDataLoader (line 22) | class ReDialDataLoader(BaseDataLoader): method __init__ (line 46) | def __init__(self, opt, dataset, vocab): method rec_process_fn (line 66) | def rec_process_fn(self, *args, **kwargs): method rec_batchify (line 75) | def rec_batchify(self, batch): method conv_process_fn (line 84) | def conv_process_fn(self): method conv_batchify (line 100) | def conv_batchify(self, batch): method policy_batchify (line 145) | def policy_batchify(self, batch): FILE: crslab/data/dataloader/tgredial.py class TGReDialDataLoader (line 20) | class TGReDialDataLoader(BaseDataLoader): method __init__ (line 55) | def __init__(self, opt, dataset, vocab): method rec_process_fn (line 101) | def rec_process_fn(self, *args, **kwargs): method _process_rec_context (line 110) | def _process_rec_context(self, context_tokens): method _neg_sample (line 124) | def _neg_sample(self, item_set): method _process_history (line 130) | def _process_history(self, context_items, item_id=None): method rec_batchify (line 146) | def rec_batchify(self, batch): method rec_interact (line 198) | def rec_interact(self, data): method conv_batchify (line 228) | def conv_batchify(self, batch): method conv_interact (line 316) | def conv_interact(self, data): method policy_process_fn (line 336) | def policy_process_fn(self, *args, **kwargs): method policy_batchify (line 347) | def policy_batchify(self, batch): FILE: crslab/data/dataloader/utils.py function padded_tensor (line 23) | def padded_tensor( function get_onehot (line 80) | def get_onehot(data_list, categories) -> torch.Tensor: function add_start_end_token_idx (line 100) | def add_start_end_token_idx(vec: list, start_token_idx: int = None, end_... function truncate (line 120) | def truncate(vec, max_length, truncate_tail=True): function merge_utt (line 144) | def merge_utt(conversation, split_token_idx=None, keep_split_in_tail=Fal... function merge_utt_replace (line 169) | def merge_utt_replace(conversation,detect_token=None,replace_token=None,... FILE: crslab/data/dataset/base.py class BaseDataset (line 20) | class BaseDataset(ABC): method __init__ (line 28) | def __init__(self, opt, dpath, resource, restore=False, save=False): method _load_data (line 66) | def _load_data(self): method _data_preprocess (line 80) | def _data_preprocess(self, train_data, valid_data, test_data): method _load_from_restore (line 138) | def _load_from_restore(self, file_name="all_data.pkl"): method _save_to_one (line 152) | def _save_to_one(self, data, file_name="all_data.pkl"): FILE: crslab/data/dataset/durecdial/durecdial.py class DuRecDialDataset (line 33) | class DuRecDialDataset(BaseDataset): method __init__ (line 58) | def __init__(self, opt, tokenize, restore=False, save=False): method _load_data (line 74) | def _load_data(self): method _load_raw_data (line 93) | def _load_raw_data(self): method _load_vocab (line 106) | def _load_vocab(self): method _load_other_data (line 114) | def _load_other_data(self): method _data_preprocess (line 135) | def _data_preprocess(self, train_data, valid_data, test_data): method _raw_data_process (line 146) | def _raw_data_process(self, raw_data): method _convert_to_id (line 153) | def _convert_to_id(self, conversation): method _augment_and_add (line 175) | def _augment_and_add(self, raw_conv_dict): method _side_data_process (line 206) | def _side_data_process(self): method _entity_kg_process (line 222) | def _entity_kg_process(self): method _word_kg_process (line 249) | def _word_kg_process(self): FILE: crslab/data/dataset/gorecdial/gorecdial.py class GoRecDialDataset (line 33) | class GoRecDialDataset(BaseDataset): method __init__ (line 58) | def __init__(self, opt, tokenize, restore=False, save=False): method _load_data (line 74) | def _load_data(self): method _load_raw_data (line 93) | def _load_raw_data(self): method _load_vocab (line 107) | def _load_vocab(self): method _load_other_data (line 115) | def _load_other_data(self): method _data_preprocess (line 135) | def _data_preprocess(self, train_data, valid_data, test_data): method _raw_data_process (line 146) | def _raw_data_process(self, raw_data): method _convert_to_id (line 153) | def _convert_to_id(self, conversation): method _augment_and_add (line 177) | def _augment_and_add(self, raw_conv_dict): method _side_data_process (line 211) | def _side_data_process(self): method _entity_kg_process (line 226) | def _entity_kg_process(self): method _word_kg_process (line 253) | def _word_kg_process(self): FILE: crslab/data/dataset/inspired/inspired.py class InspiredDataset (line 33) | class InspiredDataset(BaseDataset): method __init__ (line 58) | def __init__(self, opt, tokenize, restore=False, save=False): method _load_data (line 74) | def _load_data(self): method _load_raw_data (line 93) | def _load_raw_data(self): method _load_vocab (line 107) | def _load_vocab(self): method _load_other_data (line 116) | def _load_other_data(self): method _data_preprocess (line 137) | def _data_preprocess(self, train_data, valid_data, test_data): method _raw_data_process (line 148) | def _raw_data_process(self, raw_data): method _convert_to_id (line 155) | def _convert_to_id(self, conversation): method _augment_and_add (line 181) | def _augment_and_add(self, raw_conv_dict): method _side_data_process (line 212) | def _side_data_process(self): method _entity_kg_process (line 228) | def _entity_kg_process(self): method _word_kg_process (line 255) | def _word_kg_process(self): FILE: crslab/data/dataset/opendialkg/opendialkg.py class OpenDialKGDataset (line 34) | class OpenDialKGDataset(BaseDataset): method __init__ (line 59) | def __init__(self, opt, tokenize, restore=False, save=False): method _load_data (line 75) | def _load_data(self): method _load_raw_data (line 94) | def _load_raw_data(self): method _load_vocab (line 108) | def _load_vocab(self): method _load_other_data (line 116) | def _load_other_data(self): method _data_preprocess (line 136) | def _data_preprocess(self, train_data, valid_data, test_data): method _raw_data_process (line 147) | def _raw_data_process(self, raw_data): method _convert_to_id (line 154) | def _convert_to_id(self, conversation): method _augment_and_add (line 180) | def _augment_and_add(self, raw_conv_dict): method _side_data_process (line 211) | def _side_data_process(self): method _entity_kg_process (line 226) | def _entity_kg_process(self): method _word_kg_process (line 258) | def _word_kg_process(self): FILE: crslab/data/dataset/redial/redial.py class ReDialDataset (line 34) | class ReDialDataset(BaseDataset): method __init__ (line 59) | def __init__(self, opt, tokenize, restore=False, save=False): method _load_data (line 75) | def _load_data(self): method _load_raw_data (line 94) | def _load_raw_data(self): method _load_vocab (line 108) | def _load_vocab(self): method _load_other_data (line 116) | def _load_other_data(self): method _data_preprocess (line 136) | def _data_preprocess(self, train_data, valid_data, test_data): method _raw_data_process (line 147) | def _raw_data_process(self, raw_data): method _merge_conv_data (line 154) | def _merge_conv_data(self, dialog): method _augment_and_add (line 180) | def _augment_and_add(self, raw_conv_dict): method _side_data_process (line 211) | def _side_data_process(self): method _entity_kg_process (line 226) | def _entity_kg_process(self, SELF_LOOP_ID=185): method _word_kg_process (line 253) | def _word_kg_process(self): FILE: crslab/data/dataset/tgredial/tgredial.py class TGReDialDataset (line 34) | class TGReDialDataset(BaseDataset): method __init__ (line 62) | def __init__(self, opt, tokenize, restore=False, save=False): method _load_data (line 87) | def _load_data(self): method _load_raw_data (line 109) | def _load_raw_data(self): method _load_vocab (line 123) | def _load_vocab(self): method _load_other_data (line 148) | def _load_other_data(self): method _data_preprocess (line 177) | def _data_preprocess(self, train_data, valid_data, test_data): method _raw_data_process (line 188) | def _raw_data_process(self, raw_data): method _convert_to_id (line 195) | def _convert_to_id(self, conversation): method _augment_and_add (line 241) | def _augment_and_add(self, raw_conv_dict): method _side_data_process (line 283) | def _side_data_process(self): method _entity_kg_process (line 298) | def _entity_kg_process(self): method _word_kg_process (line 327) | def _word_kg_process(self): FILE: crslab/download.py class DownloadableFile (line 22) | class DownloadableFile: method __init__ (line 44) | def __init__(self, url, file_name, hashcode, zipped=True, from_google=... method checksum (line 51) | def checksum(self, dpath): method download_file (line 71) | def download_file(self, dpath): function download (line 83) | def download(url, path, fname, redownload=False, num_retries=5): function _get_confirm_token (line 155) | def _get_confirm_token(response): function download_from_google_drive (line 162) | def download_from_google_drive(gd_id, destination): function move (line 185) | def move(path1, path2): function untar (line 192) | def untar(path, fname, deleteTar=True): function make_dir (line 212) | def make_dir(path): function remove_dir (line 221) | def remove_dir(path): function check_build (line 228) | def check_build(path, version_string=None): function mark_done (line 247) | def mark_done(path, version_string=None): function build (line 266) | def build(dpath, dfile, version=None): FILE: crslab/evaluator/__init__.py function get_evaluator (line 25) | def get_evaluator(evaluator_name, dataset, tensorboard=False): FILE: crslab/evaluator/base.py class BaseEvaluator (line 13) | class BaseEvaluator(ABC): method rec_evaluate (line 16) | def rec_evaluate(self, preds, label): method gen_evaluate (line 19) | def gen_evaluate(self, preds, label): method policy_evaluate (line 22) | def policy_evaluate(self, preds, label): method report (line 26) | def report(self, epoch, mode): method reset_metrics (line 30) | def reset_metrics(self): FILE: crslab/evaluator/conv.py class ConvEvaluator (line 26) | class ConvEvaluator(BaseEvaluator): method __init__ (line 37) | def __init__(self, tensorboard=False): method _load_embedding (line 48) | def _load_embedding(self, language): method _get_sent_embedding (line 57) | def _get_sent_embedding(self, sent): method gen_evaluate (line 60) | def gen_evaluate(self, hyp, refs): method report (line 78) | def report(self, epoch=-1, mode='test'): method reset_metrics (line 89) | def reset_metrics(self): FILE: crslab/evaluator/metrics/base.py class Metric (line 21) | class Metric(ABC): method value (line 29) | def value(self) -> float: method __add__ (line 36) | def __add__(self, other: Any) -> 'Metric': method __iadd__ (line 39) | def __iadd__(self, other): method __radd__ (line 42) | def __radd__(self, other: Any): method __str__ (line 47) | def __str__(self) -> str: method __repr__ (line 50) | def __repr__(self) -> str: method __float__ (line 53) | def __float__(self) -> float: method __int__ (line 56) | def __int__(self) -> int: method __eq__ (line 59) | def __eq__(self, other: Any) -> bool: method __lt__ (line 65) | def __lt__(self, other: Any) -> bool: method __sub__ (line 71) | def __sub__(self, other: Any) -> float: method __rsub__ (line 79) | def __rsub__(self, other: Any) -> float: method as_number (line 90) | def as_number(cls, obj: TScalar) -> Union[int, float]: method as_float (line 99) | def as_float(cls, obj: TScalar) -> float: method as_int (line 103) | def as_int(cls, obj: TScalar) -> int: method many (line 107) | def many(cls, *objs: List[TVector]) -> List['Metric']: class SumMetric (line 119) | class SumMetric(Metric): method __init__ (line 129) | def __init__(self, sum_: TScalar = 0): method __add__ (line 136) | def __add__(self, other: Optional['SumMetric']) -> 'SumMetric': method value (line 145) | def value(self) -> float: class AverageMetric (line 149) | class AverageMetric(Metric): method __init__ (line 159) | def __init__(self, numer: TScalar, denom: TScalar = 1): method __add__ (line 163) | def __add__(self, other: Optional['AverageMetric']) -> 'AverageMetric': method value (line 173) | def value(self) -> float: function aggregate_unnamed_reports (line 182) | def aggregate_unnamed_reports(reports: List[Dict[str, Metric]]) -> Dict[... class Metrics (line 193) | class Metrics(object): method __init__ (line 198) | def __init__(self): method __str__ (line 201) | def __str__(self): method __repr__ (line 204) | def __repr__(self): method get (line 207) | def get(self, key: str): method __getitem__ (line 213) | def __getitem__(self, item): method add (line 216) | def add(self, key: str, value: Optional[Metric]) -> None: method report (line 222) | def report(self): method clear (line 228) | def clear(self): FILE: crslab/evaluator/metrics/gen.py class PPLMetric (line 27) | class PPLMetric(AverageMetric): method value (line 28) | def value(self): function normalize_answer (line 32) | def normalize_answer(s): class ExactMatchMetric (line 45) | class ExactMatchMetric(AverageMetric): method compute (line 47) | def compute(guess: str, answers: List[str]) -> 'ExactMatchMetric': class F1Metric (line 56) | class F1Metric(AverageMetric): method _prec_recall_f1_score (line 62) | def _prec_recall_f1_score(pred_items, gold_items): method compute (line 81) | def compute(guess: str, answers: List[str]) -> 'F1Metric': class BleuMetric (line 92) | class BleuMetric(AverageMetric): method compute (line 94) | def compute(guess: str, answers: List[str], k: int) -> Optional['BleuM... class DistMetric (line 109) | class DistMetric(SumMetric): method compute (line 111) | def compute(sent: str, k: int) -> 'DistMetric': class EmbeddingAverage (line 118) | class EmbeddingAverage(AverageMetric): method _avg_embedding (line 120) | def _avg_embedding(embedding): method compute (line 124) | def compute(hyp_embedding, ref_embeddings) -> 'EmbeddingAverage': class VectorExtrema (line 131) | class VectorExtrema(AverageMetric): method _extreme_embedding (line 133) | def _extreme_embedding(embedding): method compute (line 142) | def compute(hyp_embedding, ref_embeddings) -> 'VectorExtrema': class GreedyMatch (line 149) | class GreedyMatch(AverageMetric): method compute (line 151) | def compute(hyp_embedding, ref_embeddings) -> 'GreedyMatch': FILE: crslab/evaluator/metrics/rec.py class HitMetric (line 14) | class HitMetric(AverageMetric): method compute (line 16) | def compute(ranks, label, k) -> 'HitMetric': class NDCGMetric (line 20) | class NDCGMetric(AverageMetric): method compute (line 22) | def compute(ranks, label, k) -> 'NDCGMetric': class MRRMetric (line 29) | class MRRMetric(AverageMetric): method compute (line 31) | def compute(ranks, label, k) -> 'MRRMetric': FILE: crslab/evaluator/rec.py class RecEvaluator (line 20) | class RecEvaluator(BaseEvaluator): method __init__ (line 28) | def __init__(self, tensorboard=False): method rec_evaluate (line 37) | def rec_evaluate(self, ranks, label): method report (line 44) | def report(self, epoch=-1, mode='test'): method reset_metrics (line 52) | def reset_metrics(self): FILE: crslab/evaluator/standard.py class StandardEvaluator (line 27) | class StandardEvaluator(BaseEvaluator): method __init__ (line 38) | def __init__(self, language, tensorboard=False): method _load_embedding (line 55) | def _load_embedding(self, language): method _get_sent_embedding (line 64) | def _get_sent_embedding(self, sent): method rec_evaluate (line 67) | def rec_evaluate(self, ranks, label): method gen_evaluate (line 74) | def gen_evaluate(self, hyp, refs): method report (line 90) | def report(self, epoch=-1, mode='test'): method reset_metrics (line 100) | def reset_metrics(self): FILE: crslab/evaluator/utils.py function _line_width (line 23) | def _line_width(): function float_formatter (line 32) | def float_formatter(f: Union[float, int]) -> str: function round_sigfigs (line 60) | def round_sigfigs(x: Union[float, 'torch.Tensor'], sigfigs=4) -> float: function _report_sort_key (line 86) | def _report_sort_key(report_key: str) -> Tuple[str, str]: function nice_report (line 103) | def nice_report(report) -> str: FILE: crslab/model/__init__.py function get_model (line 48) | def get_model(config, model_name, device, vocab, side_data=None): FILE: crslab/model/base.py class BaseModel (line 17) | class BaseModel(ABC, nn.Module): method __init__ (line 20) | def __init__(self, opt, device, dpath=None, resource=None): method build_model (line 33) | def build_model(self, *args, **kwargs): method recommend (line 37) | def recommend(self, batch, mode): method converse (line 46) | def converse(self, batch, mode): method guide (line 55) | def guide(self, batch, mode): FILE: crslab/model/conversation/gpt2/gpt2.py class GPT2Model (line 33) | class GPT2Model(BaseModel): method __init__ (line 43) | def __init__(self, opt, device, vocab, side_data): method build_model (line 62) | def build_model(self): method forward (line 67) | def forward(self, batch, mode): method generate (line 85) | def generate(self, context): method calculate_loss (line 111) | def calculate_loss(self, logit, labels): method generate_bs (line 122) | def generate_bs(self, context, beam=4): FILE: crslab/model/conversation/transformer/transformer.py class TransformerModel (line 31) | class TransformerModel(BaseModel): method __init__ (line 61) | def __init__(self, opt, device, vocab, side_data): method build_model (line 107) | def build_model(self): method _init_embeddings (line 111) | def _init_embeddings(self): method _build_conversation_layer (line 123) | def _build_conversation_layer(self): method _starts (line 158) | def _starts(self, batch_size): method _decode_forced_with_kg (line 162) | def _decode_forced_with_kg(self, token_encoding, response): method _decode_greedy_with_kg (line 173) | def _decode_greedy_with_kg(self, token_encoding): method _decode_beam_search_with_kg (line 193) | def _decode_beam_search_with_kg(self, token_encoding, beam=4): method forward (line 247) | def forward(self, batch, mode): FILE: crslab/model/crs/inspired/inspired_conv.py class InspiredConvModel (line 17) | class InspiredConvModel(BaseModel): method __init__ (line 27) | def __init__(self, opt, device, vocab, side_data): method build_model (line 47) | def build_model(self): method converse (line 53) | def converse(self, batch, mode): method generate (line 101) | def generate(self, roles, context): method calculate_loss (line 136) | def calculate_loss(self, logit, labels): FILE: crslab/model/crs/inspired/inspired_rec.py class InspiredRecModel (line 33) | class InspiredRecModel(BaseModel): method __init__ (line 41) | def __init__(self, opt, device, vocab, side_data): method build_model (line 58) | def build_model(self): method recommend (line 70) | def recommend(self, batch, mode='train'): FILE: crslab/model/crs/inspired/modules.py class SequenceCrossEntropyLoss (line 10) | class SequenceCrossEntropyLoss(nn.Module): method __init__ (line 19) | def __init__(self, ignore_index=None, label_smoothing=-1): method forward (line 24) | def forward(self, logits, labels): FILE: crslab/model/crs/kbrd/kbrd.py class KBRDModel (line 34) | class KBRDModel(BaseModel): method __init__ (line 64) | def __init__(self, opt, device, vocab, side_data): method build_model (line 109) | def build_model(self, *args, **kwargs): method _build_embedding (line 115) | def _build_embedding(self): method _build_kg_layer (line 126) | def _build_kg_layer(self): method _build_recommendation_layer (line 131) | def _build_recommendation_layer(self): method _build_conversation_layer (line 136) | def _build_conversation_layer(self): method encode_user (line 174) | def encode_user(self, entity_lists, kg_embedding): method recommend (line 185) | def recommend(self, batch, mode): method _starts (line 193) | def _starts(self, batch_size): method decode_forced (line 197) | def decode_forced(self, encoder_states, user_embedding, resp): method decode_greedy (line 209) | def decode_greedy(self, encoder_states, user_embedding): method decode_beam_search (line 231) | def decode_beam_search(self, encoder_states, user_embedding, beam=4): method converse (line 287) | def converse(self, batch, mode): method forward (line 303) | def forward(self, batch, mode, stage): method freeze_parameters (line 312) | def freeze_parameters(self): FILE: crslab/model/crs/kgsf/kgsf.py class KGSFModel (line 39) | class KGSFModel(BaseModel): method __init__ (line 70) | def __init__(self, opt, device, vocab, side_data): method build_model (line 124) | def build_model(self): method _init_embeddings (line 131) | def _init_embeddings(self): method _build_kg_layer (line 147) | def _build_kg_layer(self): method _build_infomax_layer (line 161) | def _build_infomax_layer(self): method _build_recommendation_layer (line 168) | def _build_recommendation_layer(self): method _build_conversation_layer (line 174) | def _build_conversation_layer(self): method pretrain_infomax (line 218) | def pretrain_infomax(self, batch): method recommend (line 241) | def recommend(self, batch, mode): method freeze_parameters (line 277) | def freeze_parameters(self): method _starts (line 284) | def _starts(self, batch_size): method _decode_forced_with_kg (line 288) | def _decode_forced_with_kg(self, token_encoding, entity_reps, entity_e... method _decode_greedy_with_kg (line 308) | def _decode_greedy_with_kg(self, token_encoding, entity_reps, entity_e... method _decode_beam_search_with_kg (line 335) | def _decode_beam_search_with_kg(self, token_encoding, entity_reps, ent... method converse (line 407) | def converse(self, batch, mode): method forward (line 444) | def forward(self, batch, stage, mode): FILE: crslab/model/crs/kgsf/modules.py class GateLayer (line 10) | class GateLayer(nn.Module): method __init__ (line 11) | def __init__(self, input_dim): method forward (line 16) | def forward(self, input1, input2): class TransformerDecoderLayerKG (line 23) | class TransformerDecoderLayerKG(nn.Module): method __init__ (line 24) | def __init__( method forward (line 61) | def forward(self, x, encoder_output, encoder_mask, kg_encoder_output, ... class TransformerDecoderKG (line 115) | class TransformerDecoderKG(nn.Module): method __init__ (line 140) | def __init__( method forward (line 190) | def forward(self, input, encoder_state, kg_encoder_output, kg_encoder_... FILE: crslab/model/crs/ntrd/modules.py class GateLayer (line 14) | class GateLayer(nn.Module): method __init__ (line 15) | def __init__(self, input_dim): method forward (line 20) | def forward(self, input1, input2): class TransformerDecoderLayerKG (line 27) | class TransformerDecoderLayerKG(nn.Module): method __init__ (line 28) | def __init__( method forward (line 65) | def forward(self, x, encoder_output, encoder_mask, kg_encoder_output, ... class TransformerDecoderLayerSelection (line 118) | class TransformerDecoderLayerSelection(nn.Module): method __init__ (line 119) | def __init__( method forward (line 147) | def forward(self, x, encoder_output, encoder_mask, movie_embed, movie_... class TransformerDecoderKG (line 179) | class TransformerDecoderKG(nn.Module): method __init__ (line 204) | def __init__( method forward (line 254) | def forward(self, input, encoder_state, kg_encoder_output, kg_encoder_... class TransformerDecoderSelection (line 273) | class TransformerDecoderSelection(nn.Module): method __init__ (line 274) | def __init__( method forward (line 313) | def forward(self, input, encoder_state,movie_embed,movie_embed_mask,in... FILE: crslab/model/crs/ntrd/ntrd.py class NTRDModel (line 34) | class NTRDModel(BaseModel): method __init__ (line 35) | def __init__(self, opt, device, vocab, side_data): method build_model (line 97) | def build_model(self): method _init_embeddings (line 105) | def _init_embeddings(self): method _build_kg_layer (line 121) | def _build_kg_layer(self): method _build_infomax_layer (line 135) | def _build_infomax_layer(self): method _build_recommendation_layer (line 142) | def _build_recommendation_layer(self): method _build_conversation_layer (line 148) | def _build_conversation_layer(self): method pretrain_infomax (line 198) | def pretrain_infomax(self, batch): method _build_movie_selector (line 221) | def _build_movie_selector(self): method recommend (line 240) | def recommend(self, batch, mode): method freeze_parameters (line 276) | def freeze_parameters(self): method _starts (line 283) | def _starts(self, batch_size): method converse (line 287) | def converse(self, batch, mode): method _decode_greedy_with_kg (line 351) | def _decode_greedy_with_kg(self, token_encoding, entity_reps, entity_e... method _decode_forced_with_kg (line 381) | def _decode_forced_with_kg(self, token_encoding, entity_reps, entity_e... method forward (line 404) | def forward(self, batch, stage, mode): FILE: crslab/model/crs/redial/modules.py class HRNN (line 18) | class HRNN(nn.Module): method __init__ (line 19) | def __init__(self, method get_utterance_encoding (line 52) | def get_utterance_encoding(self, context, utterance_lengths): method forward (line 95) | def forward(self, context, utterance_lengths, dialog_lengths): class SwitchingDecoder (line 116) | class SwitchingDecoder(nn.Module): method __init__ (line 117) | def __init__(self, hidden_size, context_size, num_layers, vocab_size, ... method forward (line 134) | def forward(self, request, request_lengths, context_state): FILE: crslab/model/crs/redial/redial_conv.py class ReDialConvModel (line 28) | class ReDialConvModel(BaseModel): method __init__ (line 50) | def __init__(self, opt, device, vocab, side_data): method build_model (line 83) | def build_model(self): method forward (line 111) | def forward(self, batch, mode): FILE: crslab/model/crs/redial/redial_rec.py class ReDialRecModel (line 26) | class ReDialRecModel(BaseModel): method __init__ (line 36) | def __init__(self, opt, device, vocab, side_data): method build_model (line 52) | def build_model(self): method forward (line 79) | def forward(self, batch, mode): FILE: crslab/model/crs/tgredial/tg_conv.py class TGConvModel (line 33) | class TGConvModel(BaseModel): method __init__ (line 43) | def __init__(self, opt, device, vocab, side_data): method build_model (line 62) | def build_model(self): method forward (line 67) | def forward(self, batch, mode): method generate (line 86) | def generate(self, context): method generate_bs (line 112) | def generate_bs(self, context, beam=4): method calculate_loss (line 154) | def calculate_loss(self, logit, labels): FILE: crslab/model/crs/tgredial/tg_policy.py class TGPolicyModel (line 33) | class TGPolicyModel(BaseModel): method __init__ (line 34) | def __init__(self, opt, device, vocab, side_data): method build_model (line 52) | def build_model(self, *args, **kwargs): method forward (line 64) | def forward(self, batch, mode): FILE: crslab/model/crs/tgredial/tg_rec.py class TGRecModel (line 35) | class TGRecModel(BaseModel): method __init__ (line 51) | def __init__(self, opt, device, vocab, side_data): method build_model (line 76) | def build_model(self): method forward (line 94) | def forward(self, batch, mode): FILE: crslab/model/policy/conv_bert/conv_bert.py class ConvBERTModel (line 32) | class ConvBERTModel(BaseModel): method __init__ (line 40) | def __init__(self, opt, device, vocab, side_data): method build_model (line 56) | def build_model(self, *args, **kwargs): method forward (line 66) | def forward(self, batch, mode): FILE: crslab/model/policy/mgcg/mgcg.py class MGCGModel (line 28) | class MGCGModel(BaseModel): method __init__ (line 42) | def __init__(self, opt, device, vocab, side_data): method build_model (line 62) | def build_model(self, *args, **kwargs): method get_length (line 87) | def get_length(self, input): method forward (line 90) | def forward(self, batch, mode): FILE: crslab/model/policy/pmi/pmi.py class PMIModel (line 22) | class PMIModel(BaseModel): method __init__ (line 31) | def __init__(self, opt, device, vocab, side_data): method build_model (line 45) | def build_model(self, *args, **kwargs): method forward (line 51) | def forward(self, batch, mode): FILE: crslab/model/policy/profile_bert/profile_bert.py class ProfileBERTModel (line 33) | class ProfileBERTModel(BaseModel): method __init__ (line 42) | def __init__(self, opt, device, vocab, side_data): method build_model (line 60) | def build_model(self, *args, **kwargs): method forward (line 70) | def forward(self, batch, mode): FILE: crslab/model/policy/topic_bert/topic_bert.py class TopicBERTModel (line 32) | class TopicBERTModel(BaseModel): method __init__ (line 40) | def __init__(self, opt, device, vocab, side_data): method build_model (line 58) | def build_model(self, *args, **kwargs): method forward (line 68) | def forward(self, batch, mode): FILE: crslab/model/recommendation/bert/bert.py class BERTModel (line 33) | class BERTModel(BaseModel): method __init__ (line 41) | def __init__(self, opt, device, vocab, side_data): method build_model (line 58) | def build_model(self): method forward (line 70) | def forward(self, batch, mode='train'): FILE: crslab/model/recommendation/gru4rec/gru4rec.py class GRU4RECModel (line 30) | class GRU4RECModel(BaseModel): method __init__ (line 44) | def __init__(self, opt, device, vocab, side_data): method build_model (line 64) | def build_model(self): method reconstruct_input (line 74) | def reconstruct_input(self, input_ids): method cross_entropy (line 96) | def cross_entropy(self, seq_out, pos_ids, neg_ids, input_mask): method forward (line 121) | def forward(self, batch, mode): FILE: crslab/model/recommendation/gru4rec/modules.py class Embedding (line 5) | class Embedding(nn.Module): method __init__ (line 6) | def __init__(self, item_size, embedding_dim): method forward (line 10) | def forward(self, input: torch.Tensor): class GRU4REC (line 14) | class GRU4REC(nn.Module): method __init__ (line 15) | def __init__(self, item_size, embedding_dim, hidden_size, num_layers, ... method cross_entropy (line 37) | def cross_entropy(self, seq_out, pos_ids, neg_ids): method forward (line 62) | def forward(self, input: torch.Tensor): FILE: crslab/model/recommendation/popularity/popularity.py class PopularityModel (line 23) | class PopularityModel(BaseModel): method __init__ (line 31) | def __init__(self, opt, device, vocab, side_data): method build_model (line 44) | def build_model(self): method forward (line 48) | def forward(self, batch, mode): FILE: crslab/model/recommendation/sasrec/modules.py class SASRec (line 18) | class SASRec(nn.Module): method __init__ (line 19) | def __init__(self, hidden_dropout_prob, device, initializer_range, method build_model (line 37) | def build_model(self): method init_model (line 49) | def init_model(self): method forward (line 52) | def forward(self, method init_sas_weights (line 92) | def init_sas_weights(self, module): method save_model (line 105) | def save_model(self, file_name): method load_model (line 109) | def load_model(self, path): method compute_loss (line 120) | def compute_loss(self, y_pred, y, subset='test'): method cross_entropy (line 123) | def cross_entropy(self, seq_out, pos_ids, neg_ids): function gelu (line 149) | def gelu(x): function swish (line 162) | def swish(x): class LayerNorm (line 169) | class LayerNorm(nn.Module): method __init__ (line 170) | def __init__(self, hidden_size, eps=1e-12): method forward (line 177) | def forward(self, x): class Embeddings (line 184) | class Embeddings(nn.Module): method __init__ (line 187) | def __init__(self, item_size, hidden_size, max_seq_length, method forward (line 197) | def forward(self, input_ids): class SelfAttention (line 214) | class SelfAttention(nn.Module): method __init__ (line 215) | def __init__(self, hidden_size, num_attention_heads, hidden_dropout_prob, method transpose_for_scores (line 236) | def transpose_for_scores(self, x): method forward (line 251) | def forward(self, input_tensor, attention_mask): class Intermediate (line 291) | class Intermediate(nn.Module): method __init__ (line 292) | def __init__(self, hidden_size, hidden_act, hidden_dropout_prob): method forward (line 304) | def forward(self, input_tensor): class Layer (line 315) | class Layer(nn.Module): method __init__ (line 316) | def __init__(self, hidden_size, num_attention_heads, hidden_dropout_prob, method forward (line 324) | def forward(self, hidden_states, attention_mask): class Encoder (line 330) | class Encoder(nn.Module): method __init__ (line 331) | def __init__(self, num_hidden_layers, hidden_size, num_attention_heads, method forward (line 340) | def forward(self, FILE: crslab/model/recommendation/sasrec/sasrec.py class SASRECModel (line 29) | class SASRECModel(BaseModel): method __init__ (line 45) | def __init__(self, opt, device, vocab, side_data): method build_model (line 67) | def build_model(self): method forward (line 81) | def forward(self, batch, mode): FILE: crslab/model/recommendation/textcnn/textcnn.py class TextCNNModel (line 29) | class TextCNNModel(BaseModel): method __init__ (line 41) | def __init__(self, opt, device, vocab, side_data): method conv_and_pool (line 58) | def conv_and_pool(self, x, conv): method build_model (line 63) | def build_model(self): method forward (line 76) | def forward(self, batch, mode): FILE: crslab/model/utils/functions.py function edge_to_pyg_format (line 14) | def edge_to_pyg_format(edge, type='RGCN'): function sort_for_packed_sequence (line 27) | def sort_for_packed_sequence(lengths: torch.Tensor): FILE: crslab/model/utils/modules/attention.py class SelfAttentionBatch (line 16) | class SelfAttentionBatch(nn.Module): method __init__ (line 17) | def __init__(self, dim, da, alpha=0.2, dropout=0.5): method forward (line 28) | def forward(self, h): class SelfAttentionSeq (line 35) | class SelfAttentionSeq(nn.Module): method __init__ (line 36) | def __init__(self, dim, da, alpha=0.2, dropout=0.5): method forward (line 47) | def forward(self, h, mask=None, return_logits=False): FILE: crslab/model/utils/modules/transformer.py function neginf (line 22) | def neginf(dtype): function _create_selfattn_mask (line 30) | def _create_selfattn_mask(x): function create_position_codes (line 41) | def create_position_codes(n_pos, dim, out): function _normalize (line 53) | def _normalize(tensor, norm_layer): class MultiHeadAttention (line 59) | class MultiHeadAttention(nn.Module): method __init__ (line 60) | def __init__(self, n_heads, dim, dropout=.0): method forward (line 78) | def forward(self, query, key=None, value=None, mask=None): class TransformerFFN (line 143) | class TransformerFFN(nn.Module): method __init__ (line 144) | def __init__(self, dim, dim_hidden, relu_dropout=.0): method forward (line 153) | def forward(self, x): class TransformerEncoderLayer (line 160) | class TransformerEncoderLayer(nn.Module): method __init__ (line 161) | def __init__( method forward (line 182) | def forward(self, tensor, mask): class TransformerEncoder (line 191) | class TransformerEncoder(nn.Module): method __init__ (line 218) | def __init__( method forward (line 286) | def forward(self, input): class TransformerDecoderLayer (line 314) | class TransformerDecoderLayer(nn.Module): method __init__ (line 315) | def __init__( method forward (line 342) | def forward(self, x, encoder_output, encoder_mask): method _create_selfattn_mask (line 372) | def _create_selfattn_mask(self, x): class TransformerDecoder (line 383) | class TransformerDecoder(nn.Module): method __init__ (line 406) | def __init__( method forward (line 456) | def forward(self, input, encoder_state, incr_state=None): FILE: crslab/quick_start/quick_start.py function run_crslab (line 16) | def run_crslab(config, save_data=False, restore_data=False, save_system=... FILE: crslab/system/__init__.py function get_system (line 48) | def get_system(opt, train_dataloader, valid_dataloader, test_dataloader,... FILE: crslab/system/base.py class BaseSystem (line 41) | class BaseSystem(ABC): method __init__ (line 44) | def __init__(self, opt, train_dataloader, valid_dataloader, test_datal... method init_optim (line 109) | def init_optim(self, opt, parameters): method build_optimizer (line 138) | def build_optimizer(self, parameters): method build_lr_scheduler (line 144) | def build_lr_scheduler(self): method reset_early_stop_state (line 161) | def reset_early_stop_state(self): method fit (line 174) | def fit(self): method step (line 179) | def step(self, batch, stage, mode): method backward (line 189) | def backward(self, loss): method _zero_grad (line 204) | def _zero_grad(self): method _update_params (line 210) | def _update_params(self): method adjust_lr (line 236) | def adjust_lr(self, metric=None): method early_stop (line 247) | def early_stop(self, metric): method save_model (line 261) | def save_model(self): method restore_model (line 277) | def restore_model(self): method interact (line 293) | def interact(self): method init_interact (line 296) | def init_interact(self): method update_context (line 312) | def update_context(self, stage, token_ids=None, entity_ids=None, item_... method get_input (line 328) | def get_input(self, language): method tokenize (line 343) | def tokenize(self, text, tokenizer, path=None): method nltk_tokenize (line 350) | def nltk_tokenize(self, text): method bert_tokenize (line 354) | def bert_tokenize(self, text, path): method gpt2_tokenize (line 360) | def gpt2_tokenize(self, text, path): method pkuseg_tokenize (line 366) | def pkuseg_tokenize(self, text): method link (line 372) | def link(self, tokens, entities): FILE: crslab/system/inspired.py class InspiredSystem (line 16) | class InspiredSystem(BaseSystem): method __init__ (line 19) | def __init__(self, opt, train_dataloader, valid_dataloader, test_datal... method rec_evaluate (line 66) | def rec_evaluate(self, rec_predict, item_label): method conv_evaluate (line 76) | def conv_evaluate(self, prediction, response): method step (line 91) | def step(self, batch, stage, mode): method train_recommender (line 132) | def train_recommender(self): method train_conversation (line 173) | def train_conversation(self): method fit (line 202) | def fit(self): method interact (line 208) | def interact(self): FILE: crslab/system/kbrd.py class KBRDSystem (line 22) | class KBRDSystem(BaseSystem): method __init__ (line 25) | def __init__(self, opt, train_dataloader, valid_dataloader, test_datal... method rec_evaluate (line 56) | def rec_evaluate(self, rec_predict, item_label): method conv_evaluate (line 66) | def conv_evaluate(self, prediction, response): method step (line 74) | def step(self, batch, stage, mode): method train_recommender (line 105) | def train_recommender(self): method train_conversation (line 134) | def train_conversation(self): method fit (line 169) | def fit(self): method interact (line 173) | def interact(self): FILE: crslab/system/kgsf.py class KGSFSystem (line 21) | class KGSFSystem(BaseSystem): method __init__ (line 24) | def __init__(self, opt, train_dataloader, valid_dataloader, test_datal... method rec_evaluate (line 58) | def rec_evaluate(self, rec_predict, item_label): method conv_evaluate (line 68) | def conv_evaluate(self, prediction, response): method step (line 76) | def step(self, batch, stage, mode): method pretrain (line 115) | def pretrain(self): method train_recommender (line 125) | def train_recommender(self): method train_conversation (line 154) | def train_conversation(self): method fit (line 183) | def fit(self): method interact (line 188) | def interact(self): FILE: crslab/system/ntrd.py class NTRDSystem (line 18) | class NTRDSystem(BaseSystem): method __init__ (line 20) | def __init__(self, opt, train_dataloader, valid_dataloader, test_datal... method rec_evaluate (line 43) | def rec_evaluate(self, rec_predict, item_label): method conv_evaluate (line 53) | def conv_evaluate(self, prediction,movie_prediction,response,movie_res... method step (line 73) | def step(self, batch, stage, mode): method pretrain (line 127) | def pretrain(self): method train_recommender (line 137) | def train_recommender(self): method train_conversation (line 166) | def train_conversation(self): method fit (line 195) | def fit(self): method interact (line 200) | def interact(self): FILE: crslab/system/redial.py class ReDialSystem (line 20) | class ReDialSystem(BaseSystem): method __init__ (line 23) | def __init__(self, opt, train_dataloader, valid_dataloader, test_datal... method rec_evaluate (line 56) | def rec_evaluate(self, rec_predict, item_label): method conv_evaluate (line 66) | def conv_evaluate(self, prediction, response): method step (line 74) | def step(self, batch, stage, mode): method train_recommender (line 102) | def train_recommender(self): method train_conversation (line 131) | def train_conversation(self): method fit (line 160) | def fit(self): method interact (line 164) | def interact(self): FILE: crslab/system/tgredial.py class TGReDialSystem (line 24) | class TGReDialSystem(BaseSystem): method __init__ (line 27) | def __init__(self, opt, train_dataloader, valid_dataloader, test_datal... method rec_evaluate (line 79) | def rec_evaluate(self, rec_predict, item_label): method policy_evaluate (line 89) | def policy_evaluate(self, rec_predict, movie_label): method conv_evaluate (line 97) | def conv_evaluate(self, prediction, response): method step (line 112) | def step(self, batch, stage, mode): method train_recommender (line 168) | def train_recommender(self): method train_conversation (line 212) | def train_conversation(self): method train_policy (line 241) | def train_policy(self): method fit (line 286) | def fit(self): method interact (line 294) | def interact(self): method process_input (line 329) | def process_input(self, input_text, stage): method convert_to_id (line 348) | def convert_to_id(self, text, stage): FILE: crslab/system/utils/functions.py function compute_grad_norm (line 18) | def compute_grad_norm(parameters, norm_type=2.0): function ind2txt (line 41) | def ind2txt(inds, ind2tok, end_token_idx=None, unk_token='unk'): function ind2txt_with_slots (line 51) | def ind2txt_with_slots(inds,slots,ind2tok, end_token_idx=None, unk_token... function ind2slot (line 65) | def ind2slot(inds,ind2slot): FILE: crslab/system/utils/lr_scheduler.py class LRScheduler (line 18) | class LRScheduler(ABC): method __init__ (line 30) | def __init__(self, optimizer, warmup_steps: int = 0): method _warmup_lr (line 45) | def _warmup_lr(self, step): method _init_warmup_scheduler (line 51) | def _init_warmup_scheduler(self, optimizer): method _is_lr_warming_up (line 57) | def _is_lr_warming_up(self): method train_step (line 67) | def train_step(self): method valid_step (line 80) | def valid_step(self, metric=None): method train_adjust (line 88) | def train_adjust(self): method valid_adjust (line 97) | def valid_adjust(self, metric): class ReduceLROnPlateau (line 110) | class ReduceLROnPlateau(LRScheduler): method __init__ (line 115) | def __init__(self, optimizer, mode='min', factor=0.1, patience=10, ver... method train_adjust (line 123) | def train_adjust(self): method valid_adjust (line 126) | def valid_adjust(self, metric): class StepLR (line 130) | class StepLR(LRScheduler): method __init__ (line 135) | def __init__(self, optimizer, step_size, gamma=0.1, last_epoch=-1, war... method train_adjust (line 139) | def train_adjust(self): method valid_adjust (line 142) | def valid_adjust(self, metric=None): class ConstantLR (line 146) | class ConstantLR(LRScheduler): method __init__ (line 147) | def __init__(self, optimizer, warmup_steps=0): method train_adjust (line 150) | def train_adjust(self): method valid_adjust (line 153) | def valid_adjust(self, metric): class InvSqrtLR (line 157) | class InvSqrtLR(LRScheduler): method __init__ (line 162) | def __init__(self, optimizer, invsqrt_lr_decay_gamma=-1, last_epoch=-1... method _invsqrt_lr (line 182) | def _invsqrt_lr(self, step): method train_adjust (line 185) | def train_adjust(self): method valid_adjust (line 188) | def valid_adjust(self, metric): class CosineAnnealingLR (line 193) | class CosineAnnealingLR(LRScheduler): method __init__ (line 198) | def __init__(self, optimizer, T_max, eta_min=0, last_epoch=-1, warmup_... method train_adjust (line 208) | def train_adjust(self): method valid_adjust (line 211) | def valid_adjust(self, metric): class CosineAnnealingWarmRestartsLR (line 215) | class CosineAnnealingWarmRestartsLR(LRScheduler): method __init__ (line 216) | def __init__(self, optimizer, T_0, T_mult=1, eta_min=0, last_epoch=-1,... method train_adjust (line 220) | def train_adjust(self): method valid_adjust (line 223) | def valid_adjust(self, metric): class TransformersLinearLR (line 227) | class TransformersLinearLR(LRScheduler): method __init__ (line 232) | def __init__(self, optimizer, training_steps, warmup_steps=0): method _linear_lr (line 242) | def _linear_lr(self, step): method train_adjust (line 245) | def train_adjust(self): method valid_adjust (line 248) | def valid_adjust(self, metric): class TransformersCosineLR (line 252) | class TransformersCosineLR(LRScheduler): method __init__ (line 253) | def __init__(self, optimizer, training_steps: int, num_cycles: float =... method _cosine_lr (line 260) | def _cosine_lr(self, step): method train_adjust (line 264) | def train_adjust(self): method valid_adjust (line 267) | def valid_adjust(self, metric): class TransformersCosineWithHardRestartsLR (line 271) | class TransformersCosineWithHardRestartsLR(LRScheduler): method __init__ (line 272) | def __init__(self, optimizer, training_steps: int, num_cycles: int = 1... method _cosine_with_hard_restarts_lr (line 279) | def _cosine_with_hard_restarts_lr(self, step): method train_adjust (line 285) | def train_adjust(self): method valid_adjust (line 288) | def valid_adjust(self, metric): class TransformersPolynomialDecayLR (line 292) | class TransformersPolynomialDecayLR(LRScheduler): method __init__ (line 293) | def __init__(self, optimizer, training_steps, lr_end=1e-7, power=1.0, ... method _polynomial_decay_lr (line 302) | def _polynomial_decay_lr(self, step): method train_adjust (line 312) | def train_adjust(self): method valid_adjust (line 315) | def valid_adjust(self, metric): FILE: docs/source/conf.py function setup (line 76) | def setup(app):