fovi package
- fovi.get_trainer_from_base_fn(base_fn, load=True, load_strict=True, quiet=False, allow_distributed=False, gpu=0, model_dirs=['../models', SAVE_DIR + '/logs', SLOW_DIR + '/logs'], **kwargs)[source]
Get a Trainer instance based on a base filename and optional parameters.
This function loads a model configuration and optionally its weights from a specified directory, creates a Trainer instance with the loaded configuration, and returns it.
- Parameters:
base_fn (str) – The base filename to look for in the logs directory.
load (bool, optional) – Whether to load the model weights. Defaults to True.
load_strict (bool, optional) – Whether to strictly enforce matching keys when loading weights. Defaults to True.
quiet (bool, optional) – Whether to suppress print statements. Defaults to False.
allow_distributed (bool, optional) – Whether to allow distributed training configuration. Defaults to False.
**kwargs – Additional keyword arguments to override or add to the configuration.
- Returns:
An instance of Trainer with the specified configuration and optionally loaded weights.
- Return type:
Note
The function searches for the model in both SLOW_DIR and SAVE_DIR. It prioritizes loading final weights over non-final weights if available.
- fovi.get_model_from_base_fn(base_fn, load=True, load_strict=True, quiet=False, device='cuda', model_dirs=['../models'], fovinet_cls: Type[Module] = FoviNet, **kwargs)[source]
Get a FoviNet instance based on a base filename and optional parameters.
This function loads a model configuration and optionally its weights from a specified directory, creates an FoviNet instance with the loaded configuration, and returns it.
- Parameters:
base_fn (str) – The base filename to look for in the logs directory.
load (bool, optional) – Whether to load the model weights. Defaults to True.
load_strict (bool, optional) – Whether to strictly enforce matching keys when loading weights. Defaults to True.
quiet (bool, optional) – Whether to suppress print statements. Defaults to False.
device (str, optional) – Device to load the model on. Defaults to ‘cuda’.
**kwargs – Additional keyword arguments to override or add to the configuration.
- Returns:
An instance of FoviNet with the specified configuration and optionally loaded weights.
- Return type:
Note
The function searches for the model in both SLOW_DIR and SAVE_DIR. It prioritizes loading final weights over non-final weights if available.
Subpackages
- fovi.arch package
- fovi.arch.alexnet
- fovi.arch.architectures
alexnet2023()fovi_alexnet2023()resnet18()resnet34()resnet50()fovi_resnet()fovi_resnet9()fovi_resnet9_lowres()fovi_resnet18()fovi_resnet18_lowres()fovi_resnet9_dwsep()fovi_resnet9_dwsep_lowres()fovi_resnet18_dwsep()fovi_resnet18_dwsep_lowres()fovi_vit()fovi_vit_base()fovi_vit_small()fovi_vit_tiny()vit()vit_base()vit_small()vit_tiny()vit_custom()fovi_vit_custom()fovi_dinov3()arch_wrapper()ArchitectureRegistry
- fovi.arch.convnextv2
- fovi.arch.dinov3
- fovi.arch.knn
KNNBaseLayerKNNGetterLayerKNNPoolingLayerKNNConvLayerKNNConvLayer.__init__()KNNConvLayer._init_conv_like()KNNConvLayer._pad_and_gather_knns()KNNConvLayer._apply_local_rf()KNNConvLayer._apply_local_rf_to_weights()KNNConvLayer.forward()KNNConvLayer.compute_reference_coords()KNNConvLayer.compute_local_rf()KNNConvLayer.load_conv2d_weights()KNNConvLayer.load_conv3d_weights()
KNNDepthwiseSeparableConvLayerKNNDepthwiseConvLayercompute_receptive_field()compute_binary_receptive_field()get_in_out_coords()get_knn_conv_layer()
- fovi.arch.knnalexnet
- fovi.arch.knnconvnextv2
- fovi.arch.knnresnet
- fovi.arch.knnvit
- fovi.arch.mlp
- fovi.arch.norm
- fovi.arch.polar
- fovi.arch.resnet
- fovi.arch.vit
- fovi.arch.wrapper
- fovi.sensing package
- fovi.sensing.coords
SamplingCoordsget_isotropic_sampling_coords()get_logpolar_image_sampling_coords()num_sampling_coords_isotropic()find_desired_res()get_sampling_coords()rowcol_to_xy()xy_to_rowcol()xy_to_colrow()num_sampling_coords()transform_sampling_grid()auto_match_num_coords()logpolar_radius()cart_to_polar()polar_to_cart()cart_to_complex_log()
- fovi.sensing.manifold
CorticalSensorManifoldCorticalSensorManifold.__init__()CorticalSensorManifold.m()CorticalSensorManifold.rho_3d()CorticalSensorManifold.phi_3d()CorticalSensorManifold.dm_dr()CorticalSensorManifold.drho_dr()CorticalSensorManifold.z_integrand()CorticalSensorManifold.z_3d()CorticalSensorManifold.map_3d()CorticalSensorManifold.map_to_xyz()CorticalSensorManifold.normalize_coords()CorticalSensorManifold.cort_cartesian_to_cort_cylindrical()CorticalSensorManifold.vis_cartesian_to_cort_cartesian()CorticalSensorManifold.r_from_z()CorticalSensorManifold.cylindrical_to_visual_polar()CorticalSensorManifold.init_visual_mesh()CorticalSensorManifold.init_cortical_mesh()CorticalSensorManifold.reverse_map()
vis_cartesian_to_cortical_cartesian_coords()vis_cartesian_to_cortical_cylindrical()cortical_cylindrical_to_cortical_cartesian()
- fovi.sensing.policies
BaseSaccadePolicyMultiRandomSaccadePolicyMultiRandomSaccadePolicy.retinal_transformMultiRandomSaccadePolicy.n_fixationsMultiRandomSaccadePolicy.fixation_sizeMultiRandomSaccadePolicy.multi_policyMultiRandomSaccadePolicy.nonrandom_valMultiRandomSaccadePolicy.norm_dist_from_centerMultiRandomSaccadePolicy.__init__()MultiRandomSaccadePolicy.forward()
NoSaccadePolicyPolicyRegistry
- fovi.sensing.retina
- fovi.sensing.samplers
- fovi.sensing.coords
- fovi.utils package
add_to_all()get_random_name()get_model()reproducible_results()HiddenPrintsnormalize()timeit()load_pretrained()analyze_rf()normalize_imagenet()flatten_dict()unflatten_dict()- fovi.utils.fastaugs package
- fovi.utils.fastaugs.functional
radians()set_trace()mask_batch()mask_tensor()normalize()to_device()to_numpy()to_float()div_()to_channels_first()to_channels_last()random_grayscale()to_grayscale()dummy_red()mat3()hue_mat()sat_mat()val_mat()hsv_mat()hsv_mat2()hsv_jitter_tensor()hsv_jitter_array()hsv_jitter_array2()hsv_jitter()hsv_jitter2()random_hsv_jitter2()_get_scale_factor()adjust_brightness()adjust_brightness_pil()sigmoid()logit()random_adjust_brightness()adjust_contrast()adjust_contrast_logit()adjust_contrast_pil()adjust_rms_contrast()adjust_rms_contrast_logit()random_adjust_contrast()_prepare_mat()_grid_sample()affine_transform()flip_mat()_prepare_thetas()_prepare_coords()_prepare_rot_pt()_prepare_param()rotate_mat()rotate()zoom_mat()zoom()translate_mat()rotate_object_mat()rotate_object()grid_sample()random_grid_sample()apply_mask()srgb_to_lrgb()rgb_to_xyz()xyz_to_lms()srgb_to_lms()lms_to_lgrby()crop()solarization()random_solarization()random_gaussian_blur2d()generate_batch_permutations()to_torch_image()
- fovi.utils.fastaugs.functional_tensor
TensorTensor._clear_non_serializable_cached_data()Tensor.align_to()Tensor.backward()Tensor.detach()Tensor.detach_()Tensor.dim_order()Tensor.eig()Tensor.index()Tensor.is_shared()Tensor.istft()Tensor.lstsq()Tensor.lu()Tensor.module_load()Tensor.norm()Tensor.refine_names()Tensor.register_hook()Tensor.register_post_accumulate_grad_hook()Tensor.reinforce()Tensor.rename()Tensor.rename_()Tensor.resize()Tensor.resize_as()Tensor.share_memory_()Tensor.solve()Tensor.split()Tensor.stft()Tensor.storage()Tensor.storage_type()Tensor.symeig()Tensor.to_sparse_coo()Tensor.unflatten()Tensor.unique()Tensor.unique_consecutive()
grid_sample()conv2d()interpolate()torch_pad()get_image_size()get_image_num_channels()convert_image_dtype()vflip()hflip()crop()rgb_to_grayscale()adjust_brightness()adjust_contrast()adjust_hue()adjust_hue_fast()adjust_saturation()mat3()_get_sbc_mat()color_jitter()random_color_jitter()adjust_gamma()center_crop()five_crop()ten_crop()pad()resize()affine()rotate()perspective()gaussian_blur()invert()posterize()solarize()adjust_sharpness()autocontrast()equalize()
- fovi.utils.fastaugs.loader
- fovi.utils.fastaugs.transforms
ComposeRandomApplyToTorchImageToNumpyToChannelsFirstToChannelsLastToDeviceToFloatToFloatDivMultiSampleNormalizeGPUCircularMaskToGrayscaleTorchGPUToGrayscaleGPUColorJitterRandomGaussianBlurRandomHorizontalFlipRandomGrayscaleRandomBrightnessRandomContrastRandomSolarizationRandomRotateRandomZoomRandomPatchShuffleRandomColorJitterYIQRandomColorJitterRandomRotateObject
- fovi.utils.flops
- fovi.utils.image
- fovi.utils.knnprobe
- fovi.utils.lora
- fovi.utils.losses
- fovi.utils.lr_scheduling
- fovi.utils.std_transforms
- fovi.utils.fastaugs package
Modules
- fovi.arch.alexnet
- fovi.arch.architectures
alexnet2023()fovi_alexnet2023()resnet18()resnet34()resnet50()fovi_resnet()fovi_resnet9()fovi_resnet9_lowres()fovi_resnet18()fovi_resnet18_lowres()fovi_resnet9_dwsep()fovi_resnet9_dwsep_lowres()fovi_resnet18_dwsep()fovi_resnet18_dwsep_lowres()fovi_vit()fovi_vit_base()fovi_vit_small()fovi_vit_tiny()vit()vit_base()vit_small()vit_tiny()vit_custom()fovi_vit_custom()fovi_dinov3()arch_wrapper()ArchitectureRegistry
- fovi.arch.convnextv2
- fovi.arch.dinov3
- fovi.arch.knn
KNNBaseLayerKNNGetterLayerKNNPoolingLayerKNNConvLayerKNNConvLayer.__init__()KNNConvLayer._init_conv_like()KNNConvLayer._pad_and_gather_knns()KNNConvLayer._apply_local_rf()KNNConvLayer._apply_local_rf_to_weights()KNNConvLayer.forward()KNNConvLayer.compute_reference_coords()KNNConvLayer.compute_local_rf()KNNConvLayer.load_conv2d_weights()KNNConvLayer.load_conv3d_weights()
KNNDepthwiseSeparableConvLayerKNNDepthwiseConvLayercompute_receptive_field()compute_binary_receptive_field()get_in_out_coords()get_knn_conv_layer()
- fovi.arch.knnalexnet
- fovi.arch.knnconvnextv2
- fovi.arch.knnresnet
- fovi.arch.knnvit
- fovi.arch.mlp
- fovi.arch.norm
- fovi.arch.polar
- fovi.arch.resnet
- fovi.arch.vit
- fovi.arch.wrapper
- fovi.demo
- fovi.fovinet
FoviNetFoviNet.__init__()FoviNet.init_fixation_system()FoviNet.get_in_channels()FoviNet.get_repr_sizes()FoviNet.to()FoviNet.forward_ssl()FoviNet.forward_supervised()FoviNet.forward()FoviNet.get_transforms()FoviNet.setup_activation_hooks()FoviNet.get_captured_activations()FoviNet.cleanup_activation_hooks()FoviNet.list_available_layers()FoviNet.get_activations()FoviNet.list_knn_layers()FoviNet.get_num_coords()
- fovi.hub
- fovi.paths
- fovi.probes
- fovi.sensing.coords
SamplingCoordsget_isotropic_sampling_coords()get_logpolar_image_sampling_coords()num_sampling_coords_isotropic()find_desired_res()get_sampling_coords()rowcol_to_xy()xy_to_rowcol()xy_to_colrow()num_sampling_coords()transform_sampling_grid()auto_match_num_coords()logpolar_radius()cart_to_polar()polar_to_cart()cart_to_complex_log()
- fovi.sensing.manifold
CorticalSensorManifoldCorticalSensorManifold.__init__()CorticalSensorManifold.m()CorticalSensorManifold.rho_3d()CorticalSensorManifold.phi_3d()CorticalSensorManifold.dm_dr()CorticalSensorManifold.drho_dr()CorticalSensorManifold.z_integrand()CorticalSensorManifold.z_3d()CorticalSensorManifold.map_3d()CorticalSensorManifold.map_to_xyz()CorticalSensorManifold.normalize_coords()CorticalSensorManifold.cort_cartesian_to_cort_cylindrical()CorticalSensorManifold.vis_cartesian_to_cort_cartesian()CorticalSensorManifold.r_from_z()CorticalSensorManifold.cylindrical_to_visual_polar()CorticalSensorManifold.init_visual_mesh()CorticalSensorManifold.init_cortical_mesh()CorticalSensorManifold.reverse_map()
vis_cartesian_to_cortical_cartesian_coords()vis_cartesian_to_cortical_cylindrical()cortical_cylindrical_to_cortical_cartesian()
- fovi.sensing.policies
BaseSaccadePolicyMultiRandomSaccadePolicyMultiRandomSaccadePolicy.retinal_transformMultiRandomSaccadePolicy.n_fixationsMultiRandomSaccadePolicy.fixation_sizeMultiRandomSaccadePolicy.multi_policyMultiRandomSaccadePolicy.nonrandom_valMultiRandomSaccadePolicy.norm_dist_from_centerMultiRandomSaccadePolicy.__init__()MultiRandomSaccadePolicy.forward()
NoSaccadePolicyPolicyRegistry
- fovi.sensing.retina
- fovi.sensing.samplers
- fovi.trainer
TrainerTrainer.__init__()Trainer.setup_distributed()Trainer.cleanup_distributed()Trainer.create_optimizer()Trainer.create_train_loader()Trainer.create_val_loader()Trainer.create_standard_loader()Trainer.create_model_and_scaler()Trainer.reset_model()Trainer.train()Trainer.eval_and_log()Trainer.load_checkpoint()Trainer.checkpoint()Trainer.save_checkpoint()Trainer.train_loop()Trainer.val_loop()Trainer.compute_activations()Trainer.initialize_logger()Trainer.copy_hydra_outputs()Trainer.initialize_remote_logger()Trainer.log()Trainer.exec()Trainer.launch_from_args()Trainer.add_supervised_meters()Trainer.final_accuracy()
find_config()
- fovi.utils.fastaugs.functional
radians()set_trace()mask_batch()mask_tensor()normalize()to_device()to_numpy()to_float()div_()to_channels_first()to_channels_last()random_grayscale()to_grayscale()dummy_red()mat3()hue_mat()sat_mat()val_mat()hsv_mat()hsv_mat2()hsv_jitter_tensor()hsv_jitter_array()hsv_jitter_array2()hsv_jitter()hsv_jitter2()random_hsv_jitter2()_get_scale_factor()adjust_brightness()adjust_brightness_pil()sigmoid()logit()random_adjust_brightness()adjust_contrast()adjust_contrast_logit()adjust_contrast_pil()adjust_rms_contrast()adjust_rms_contrast_logit()random_adjust_contrast()_prepare_mat()_grid_sample()affine_transform()flip_mat()_prepare_thetas()_prepare_coords()_prepare_rot_pt()_prepare_param()rotate_mat()rotate()zoom_mat()zoom()translate_mat()rotate_object_mat()rotate_object()grid_sample()random_grid_sample()apply_mask()srgb_to_lrgb()rgb_to_xyz()xyz_to_lms()srgb_to_lms()lms_to_lgrby()crop()solarization()random_solarization()random_gaussian_blur2d()generate_batch_permutations()to_torch_image()
- fovi.utils.fastaugs.functional_tensor
TensorTensor._clear_non_serializable_cached_data()Tensor.align_to()Tensor.backward()Tensor.detach()Tensor.detach_()Tensor.dim_order()Tensor.eig()Tensor.index()Tensor.is_shared()Tensor.istft()Tensor.lstsq()Tensor.lu()Tensor.module_load()Tensor.norm()Tensor.refine_names()Tensor.register_hook()Tensor.register_post_accumulate_grad_hook()Tensor.reinforce()Tensor.rename()Tensor.rename_()Tensor.resize()Tensor.resize_as()Tensor.share_memory_()Tensor.solve()Tensor.split()Tensor.stft()Tensor.storage()Tensor.storage_type()Tensor.symeig()Tensor.to_sparse_coo()Tensor.unflatten()Tensor.unique()Tensor.unique_consecutive()
grid_sample()conv2d()interpolate()torch_pad()get_image_size()get_image_num_channels()convert_image_dtype()vflip()hflip()crop()rgb_to_grayscale()adjust_brightness()adjust_contrast()adjust_hue()adjust_hue_fast()adjust_saturation()mat3()_get_sbc_mat()color_jitter()random_color_jitter()adjust_gamma()center_crop()five_crop()ten_crop()pad()resize()affine()rotate()perspective()gaussian_blur()invert()posterize()solarize()adjust_sharpness()autocontrast()equalize()
- fovi.utils.fastaugs.loader
- fovi.utils.fastaugs.transforms
ComposeRandomApplyToTorchImageToNumpyToChannelsFirstToChannelsLastToDeviceToFloatToFloatDivMultiSampleNormalizeGPUCircularMaskToGrayscaleTorchGPUToGrayscaleGPUColorJitterRandomGaussianBlurRandomHorizontalFlipRandomGrayscaleRandomBrightnessRandomContrastRandomSolarizationRandomRotateRandomZoomRandomPatchShuffleRandomColorJitterYIQRandomColorJitterRandomRotateObject
- fovi.utils.flops
- fovi.utils.image
- fovi.utils.knnprobe
- fovi.utils.lora
- fovi.utils.losses
- fovi.utils.lr_scheduling
- fovi.utils.std_transforms
- fovi.visualizer
VisualizerVisualizer.trainerVisualizer.modelVisualizer.out_base_dirVisualizer.out_dirVisualizer.__init__()Visualizer.multi_fixation_accuracy()Visualizer.visualize_filters()Visualizer.visualize_filter()Visualizer.visualize_filter_over_space()Visualizer.plot_coordinates()Visualizer.plot_spatial_rf_from_multi_layers()Visualizer.plot_sampling_grids()Visualizer.plot_rf_diameters()Visualizer.print_all_functions()
get_first_conv_weights()visualize_filters()visualize_filters_knn()