InstaVis Checker is a small application which can
🔹 evaluate the quality of visual concept of your Instagram profile
🔹 provide some cute recommendations
🔹 provide examples of the good similar profiles for your inspiration.
🔸 Anastasiya Belykh
🔸 Anastasiya Filatova
InstaVis Checker app was created as a final project in the course: "Architecture of neural networks for deep learning" in ITMO University.
☑️ Keras library for all interaction with the neural network model
☑️ Streamlit library if you want to work with the application
☑️ Basic libraries for data analysis and processing like Numpy and Pandas
☑️ PIL library for images processing
Project is based on the Residual Attention Network architecture which was implemented by us based on the original article:
F. Wang et al. "Residual Attention Network for Image Classification"
✔️ We needed NN architecture that can extract features from images almost like human (that's why attention modules)
✔️ We wanted to implement real deep neural network architecture (that's why residual units)
✔️ Selected architecture supports scaling and expansion by several hundred layers, and also adapts to any state-of-the-art structure for feature selection (in trunk branch of the Attention module), which will be useful if we decide to expand the project
As in an original article, in our implementation, we use pre-activation Residual Unit
as the network basic unit to construct Attention Module. It was first described at original article:
And also we found useful GitHub repo of the articles' authors:
Despite the fact that their implementation was not in Keras, it helped us to create ours.
1️⃣ images_data_processing
directory contains files for images data uploading and processing (this data is used for model training and validation)
2️⃣ model
directory contains jupyter notebook with Attention Residual Network-56 implementation and training
3️⃣ app
directory contains python file with the application code and auxiliary python file with the function for images concatenation
NB! If you see the following structure in the code: <data_path>
, it means that you should place the path to your real directory here
In images_data_processing
directory the ideological order of files is as follows:
🔹 selected_merges_creation.ipynb
🔹 automatic_labeling.ipynb
🔹 final_images_data_creation.ipynb