{"id":22031393,"url":"https://github.com/srlozano/mame_dl","last_synced_at":"2026-05-05T12:34:23.312Z","repository":{"id":80479014,"uuid":"468274583","full_name":"SrLozano/MAMe_DL","owner":"SrLozano","description":"Museum Art Mediums (MAMe) image classification task solved by Convolutional Neural Networks at Universitat Politècnica de Catalunya · BarcelonaTech","archived":false,"fork":false,"pushed_at":"2022-04-21T17:39:59.000Z","size":34646,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-23T11:31:09.211Z","etag":null,"topics":["convolutional-neural-networks","deep-learning","keras","python","tensorflow"],"latest_commit_sha":null,"homepage":"https://arxiv.org/abs/2007.13693","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SrLozano.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-10T09:26:31.000Z","updated_at":"2025-01-10T21:14:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"9c8e20cb-099d-4ad9-95d0-b61e841a0f2c","html_url":"https://github.com/SrLozano/MAMe_DL","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SrLozano/MAMe_DL","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SrLozano%2FMAMe_DL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SrLozano%2FMAMe_DL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SrLozano%2FMAMe_DL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SrLozano%2FMAMe_DL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SrLozano","download_url":"https://codeload.github.com/SrLozano/MAMe_DL/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SrLozano%2FMAMe_DL/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32649610,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["convolutional-neural-networks","deep-learning","keras","python","tensorflow"],"created_at":"2024-11-30T08:16:57.666Z","updated_at":"2026-05-05T12:34:23.303Z","avatar_url":"https://github.com/SrLozano.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MAMe dataset 🎨🤖\nMuseum Art Mediums image classification task solved by [Laia Borrell Araunabeña ](https://github.com/Laiaborrell) and [Mario Lozano Cortés](https://github.com/SrLozano), Artificial Intelligence master's students at _Universitat Politècnica de Catalunya · BarcelonaTech - UPC_. The resolution of this task is part of the Deep Learning subject.\n\n## Goal of the project 💥💯\nGet the highest possible accuracy on the test set.\n\n## The dataset 🗂🖼\nThe MAMe dataset is a novel image classification task focused on museum art mediums. Data is gathered from three different museums:\n\n- The Metropolitan Museum of Art of New York.\n- The Los Angeles County Museum of Art.\n- The Cleveland Museum of Art.\n\nData from all museums is aggregated by art experts into 29 classes of mediums (i.e., materials and techniques).\n\n![Data Exploration](docs/images/show_images.png)\n\nThe dataset contains the following distribution:\n\n![Data Exploration 2](docs/images/data_exploration.png)\n\nThe MAMe dataset is originally introduced in the paper [The MAMe Dataset: On the relevance of High Resolution and Variable Shape image properties](https://arxiv.org/abs/2007.13693). Although here in this project only 256x256 images version of the dataset is considered, the original MAMe dataset with high-resolution images of variable shape can be download from its oficial [website](https://storage.hpai.bsc.es/mame-dataset/MAMe_data.zip). Additionally, a set of baseline models and code used to train them is available in the oficial github [repository](https://github.com/HPAI-BSC/MAMe-baselines).\n\nData is expected at the dataset folder. In this folder two other folders are expected:\n\n- data_256: All the images that are going to be used in the task. The _sort_dataset_folder_ is in charged of the sorting of this folder by considering the definitions stated in the metadata folder. The images can be found in the following [link](https://storage.hpai.bsc.es/mame-dataset/MAMe_data_256.zip).\n- MAMe_metada: Labels and information of each on of the images. A copy of this folder can be found in the docs folder.\n\n## Architecture proposed 🏛\n\n- Learning rate = 0.001\n- Optimizer = Adam\n- Batch size = 128\n\n```python\nmodel = tf.keras.models.Sequential()\n\nmodel.add(tf.keras.layers.Conv2D(32, (3, 3), activation='relu', padding='same', kernel_initializer=\"he_normal\", input_shape=(256, 256, 3)))\nmodel.add(tf.keras.layers.Conv2D(64, (3, 3), activation='relu', padding='same'))\nmodel.add(tf.keras.layers.Conv2D(128, (3, 3), activation='relu', padding='same'))\nmodel.add(tf.keras.layers.Conv2D(256, (3, 3), activation='relu', padding='same'))\n\nmodel.add(GlobalMaxPooling2D())\nmodel.add(tf.keras.layers.Dropout(0.3))\nmodel.add(tf.keras.layers.Dense(1024, activation='relu'))\nmodel.add(tf.keras.layers.Dense(512, activation='relu'))\nmodel.add(tf.keras.layers.Dense(29, activation='softmax'))\n```\n\n## Run it 🚀\n\nRun mame_cnn.py in order to train the selected model (specified in the exp variable) or run ready_to_go_model.py to load and use an already trained model.\n\n## Results 📊\n\n**Accuracy on test set: 0.737**\n\n![Confusion Matrix](docs/images/MAMe_confusion_matrix.png)\n\n![Accuracy plot](docs/images/MAMe_accuracy.png)\n\n![Loss plot](docs/images/MAMe_loss.png)\n\n\n## Next updates 🔜\nOverfitting limitation\n\n## Issues 🤕\nOverfitting\n\n## Want to collaborate? 🙋🏻\nFeel free to improve and optimize the existing code. To contribute to the project, read the previous points carefully and do the next steps with the project:\n1. Fork it (\u003chttps://github.com/SrLozano/MAMe_DL\u003e)\n2. Create your feature branch (`git checkout -b feature/MAMe`)\n3. Commit your changes (`git commit -am 'Increased accuracy to ...'`)\n4. Push to the branch (`git push origin feature/MAMe`)\n5. Create a new Pull Request\n\n## Need help ❓\nFeel free to contact the developer if you have any questions or suggestions about the project or how you can help with it.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrlozano%2Fmame_dl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsrlozano%2Fmame_dl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrlozano%2Fmame_dl/lists"}