This repository contains the resources, scripts, and notebooks used to generate the figures for my master's thesis. Below is an overview of the main folders and their contents.
Contains scripts and visualizations related to 3D point analysis. This includes diagrams for ResNet and VGG models, as well as various 3D plots and VRML files for visualization.
Resources for experiments on antisymmetric bipolarity. Includes Jupyter notebooks and PDFs for ResNet and VGG experiments, sorted by various parameters.
Contains resources for experiments involving antisymmetric bipolarity with gauge constraints.
General resources and scripts for antisymmetric experiments.
Resources for analyzing the breakdown of Discrete Cosine Transform (DCT).
Contains resources for Effective Receptive Field (ERF) analysis.
Resources for visualizing expanded weights in the models.
Contains resources related to kernel generation and analysis.
Resources for analyzing kernel types on a layer-wise basis.
Diagrams illustrating the motivation and key concepts behind the thesis.
Resources for Non-negative Matrix Factorization (NMF) experiments and analysis.
Contains resources for experiments related to orientation convolution.
Resources for propagation experiments, including subfolders for multidirectional, single-pixel, and unipolar propagation.
Experiments involving random initialization of beta values.
Resources for RGB visualizations.
Contains utility scripts and functions used across various experiments. Below are the primary functions utilized for the thesis:
-
get_filter(model, layer, sev=False): Extracts the filters from a specified convolutional layer in a given model.
-
getDominantAngle(filters): Computes the dominant angle of the filters based on their symmetry and antisymmetry properties.
-
getSobelTF(filters): Applies Sobel filters to compute gradients in the horizontal and vertical directions for the given filters.
-
getSymAntiSymTF(filter): Decomposes a filter into its symmetric and antisymmetric components.
-
topKfilters(model, layer_num, k=10, sev=False): Identifies the top K filters in a specified layer based on their magnitude.
-
topKchannels(model, layer_num, f_num, k=10, sev=False): Identifies the top K channels in a specified filter based on their magnitude.
-
dct2(a): Computes the 2D Discrete Cosine Transform (DCT) of an input array.
-
idct2(a): Computes the 2D Inverse Discrete Cosine Transform (IDCT) of an input array.
-
plot_filter_x(beta2, ax=None): Visualizes a 3D plot of a filter based on the given beta2 parameter.
Resources for analyzing weight orientation similarity.
- Clone the repository:
git clone <repository_url>
- Navigate to the desired directory and open the relevant Jupyter notebooks or scripts.
- Follow the instructions in the notebooks to reproduce the figures.
- Python 3.x
- Jupyter Notebook
- Required Python packages (install using
requirements.txtif available).
This repository is for academic purposes related to my master's thesis. Feel free to use the contents as needed.
For any questions or clarifications, feel free to reach out to me.