.. _mil_api: .. currentmodule:: slideflow.mil slideflow.mil ============== This submodule contains tools for multiple-instance learning (MIL) model training and evaluation. See :ref:`mil` for more information. A summary of the API is given below. **Training:** - :func:`train_mil()`: Train an MIL model, using an MIL configuration, Datasets, and a directory of bags. - :func:`build_fastai_learner()`: Build and return the FastAI Learner, but do not execute training. Useful for customizing training. - :func:`build_multimodal_learner()`: Build and return a FastAI Learner designed for multi-modal/multi-magnification input. **Evaluation/Inference:** - :func:`eval_mil()`: Evaluate an MIL model using a path to a saved model, a Dataset, and path to bags. Generates metrics. - :func:`predict_mil()`: Generate predictions from an MIL model and saved bags. Returns a pandas dataframe. - :func:`predict_multimodal_mil()`: Generate predictions from a multimodal MIL model. Returns a dataframe. - :func:`predict_slide()`: Generate MIL predictions for a single slide. Returns a 2D array of predictions and attention. - :func:`predict_from_bags()`: Low-level interface for generating predictions from a loaded MIL model and pre-loaded bag Tensors. - :func:`predict_from_multimodal_bags()`: Low-level interface for generating multimodal predictions from a loaded MIL model and bag Tensors. - :func:`get_mil_tile_predictions()`: Get tile-level predictions and attention from a saved MIL model for a given Dataset and saved bags. - :func:`generate_attention_heatmaps()`: Generate and save attention heatmaps. - :func:`generate_mil_features()`: Get last-layer activations from an MIL model. Returns an MILFeatures object. Main functions ************** .. autofunction:: mil_config .. autofunction:: train_mil .. autofunction:: build_fastai_learner .. autofunction:: build_multimodal_learner .. autofunction:: eval_mil .. autofunction:: predict_mil .. autofunction:: predict_multimodal_mil .. autofunction:: predict_from_bags .. autofunction:: predict_from_multimodal_bags .. autofunction:: predict_slide .. autofunction:: get_mil_tile_predictions .. autofunction:: generate_attention_heatmaps .. autofunction:: generate_mil_features TrainerConfig ************* .. autoclass:: slideflow.mil.TrainerConfig .. autosummary:: TrainerConfig.model_fn TrainerConfig.loss_fn TrainerConfig.is_multimodal TrainerConfig.model_type .. autofunction:: slideflow.mil.TrainerConfig.to_dict .. autofunction:: slideflow.mil.TrainerConfig.json_dump .. autofunction:: slideflow.mil.TrainerConfig.is_classification .. autofunction:: slideflow.mil.TrainerConfig.get_metrics .. autofunction:: slideflow.mil.TrainerConfig.prepare_training .. autofunction:: slideflow.mil.TrainerConfig.build_model .. autofunction:: slideflow.mil.TrainerConfig.predict .. autofunction:: slideflow.mil.TrainerConfig.batched_predict .. autofunction:: slideflow.mil.TrainerConfig.train .. autofunction:: slideflow.mil.TrainerConfig.eval .. autofunction:: slideflow.mil.TrainerConfig.build_train_dataloader .. autofunction:: slideflow.mil.TrainerConfig.build_val_dataloader .. autofunction:: slideflow.mil.TrainerConfig.inspect_batch .. autofunction:: slideflow.mil.TrainerConfig.run_metrics MILModelConfig ************** .. autoclass:: MILModelConfig .. autosummary:: MILModelConfig.apply_softmax MILModelConfig.loss_fn MILModelConfig.model_fn MILModelConfig.model_type MILModelConfig.is_multimodal .. autofunction:: slideflow.mil.MILModelConfig.is_classification .. autofunction:: slideflow.mil.MILModelConfig.to_dict .. autofunction:: slideflow.mil.MILModelConfig.inspect_batch .. autofunction:: slideflow.mil.MILModelConfig.build_model .. autofunction:: slideflow.mil.MILModelConfig.predict .. autofunction:: slideflow.mil.MILModelConfig.batched_predict .. autofunction:: slideflow.mil.MILModelConfig.run_metrics CLAMModelConfig *************** The CLAM model configuration class requires ``slideflow-gpl``, which can be installed with: .. code-block:: bash pip install slideflow-gpl Once installed, the class is available at ``slideflow.clam.CLAMModelConfig``. .. autoclass:: slideflow.clam.CLAMModelConfig