View the project demo here : https://bit.ly/34pCZyL
This is an advanced version of the popular CNN based project - Fashion MNIST. In this project, a CNN based model is trained on colored image dataset and is capable of detecting not only the class of the cloth but also its color correctly. I have achieved this using the Functional API in keras where I have trained 2 sub-networks - one for category and one for color.
Part 1 : Best suited Model Architecture Experimentation - check here
Part 2 : Structuring the project into .py files
Part 3 : Making the Web app.
You need to have the following dependecies before running the project:
- pandas
pip install pandas
- numpy
pip install numpy
- scipy
pip install scipy
- scikit learn
pip install scikit-learn
- streamlit
pip install streamlit
- matplotlib
pip install matplotlib
- seaborn
pip install seaborn
- cv2
pip install opencv-python
- PIL
pip install Pillow
- Tensorflow
pip install tensorflow
NOTE : You can get the dataset from here
NOTE : I used Google Colab for the experimentation part and selecting the final model because of the GPU provided in Colab notebooks.
Download the project on your local system with one of the following ways:
- You can clone the repo using the Github CLI:
gh repo clone SarthakRana/Advanced-Fashion-MNIST
- Download the ZIP folder for this project and extract in your local working directory.
- Install all dependencies mentioned in Prerequisites.
- Open CLI/prompt and make sure Streamlit is installed by running the command
streamlit --version
. You should see something like this :Streamlit, version 0.67.1
. - Do this for all other dependencies as well just to make sure everything is in right place and you are good to go.
- Go to your working directory(where you have placed the .py file and other components) and open CLI/prompt there.
- Type in the following command and press Enter :
streamlit run app.py
Please wait for 5-10 seconds for command to run. - A browser widow should open up with the app running.
- Enjoy :)
- Install all dependencies mentioned in Prerequisites.
- Place the contents of project folder in your working directory.
- If you prefer .ipynb file, simply open Jupyter Notebooks/Jupyter Lab and run the .ipynb files.
- It you prefer .py files, simply fire up CLI and run main.py using
python main.py
- All project related files like models, dataset, test images and encoders will be saved in the same directory as you run the files.
Below are some screenshots from the web app.
See the open issues for a list of proposed features (and known issues)(if any). If your issue is not listed in the already open issues, you can open up a new one.
- Deploy model on Heroku
- Try out famous model architectures like AlexNet, VGG16/19, etc.
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project.
- Create your Feature Branch.
- Commit your Changes.
- Push to the Branch.
- Open a Pull Request.
NOTE : Your name will be added here if I merge your pull request.
Sarthak Rana (https://www.linkedin.com/in/sarthakrana/)