{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/deep-clustering-for-unsupervised-learning-of","title":"Deep Clustering for Unsupervised Learning of Visual Features","arxiv_id":"1807.05520","date":"2018-07-15","proceeding":"ECCV 2018 9","authors":["Mathilde Caron","Piotr Bojanowski","Armand Joulin","Matthijs Douze"],"abstract":"Clustering is a class of unsupervised learning methods that has been\nextensively applied and studied in computer vision. Little work has been done\nto adapt it to the end-to-end training of visual features on large scale\ndatasets. In this work, we present DeepCluster, a clustering method that\njointly learns the parameters of a neural network and the cluster assignments\nof the resulting features. DeepCluster iteratively groups the features with a\nstandard clustering algorithm, k-means, and uses the subsequent assignments as\nsupervision to update the weights of the network. We apply DeepCluster to the\nunsupervised training of convolutional neural networks on large datasets like\nImageNet and YFCC100M. The resulting model outperforms the current state of the\nart by a significant margin on all the standard benchmarks.","url_abs":"http://arxiv.org/abs/1807.05520v2","url_pdf":"http://arxiv.org/pdf/1807.05520v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"deep-clustering-for-unsupervised-learning-of","repo_url":"https://github.com/facebookresearch/deepcluster","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"deep-clustering-for-unsupervised-learning-of","repo_url":"https://github.com/461054993/SDCN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"deep-clustering-for-unsupervised-learning-of","repo_url":"https://github.com/Confusezius/selfsupervised_learning","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"deep-clustering-for-unsupervised-learning-of","repo_url":"https://github.com/ananyahjha93/swav","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"deep-clustering-for-unsupervised-learning-of","repo_url":"https://github.com/asanakoy/deep_clustering","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"deep-clustering-for-unsupervised-learning-of","repo_url":"https://github.com/bdy9527/SDCN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"deep-clustering-for-unsupervised-learning-of","repo_url":"https://github.com/betashort/DeepClusterings","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"deep-clustering-for-unsupervised-learning-of","repo_url":"https://github.com/hsfzxjy/swavx","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"deep-clustering-for-unsupervised-learning-of","repo_url":"https://github.com/vinhdv1628/image_classification_task","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":"clustering","task_name":"Clustering"},{"task_slug":"deep-clustering","task_name":"Deep Clustering"},{"task_slug":"image-clustering","task_name":"Image Clustering"},{"task_slug":"self-supervised-image-classification","task_name":"Self-Supervised Image Classification"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"unsupervised-semantic-segmentation","task_name":"Unsupervised Semantic Segmentation"}],"methods":[{"method_slug":"deepcluster","method_name":"DeepCluster"},{"method_slug":"k-means-clustering","method_name":"k-Means Clustering"}],"datasets_introduced":[],"methods_introduced":[{"slug":"deepcluster","name":"DeepCluster","full_name":"DeepCluster"}],"results":[{"leaderboard":"/sota/image-clustering-on-cifar-10","task":"Image Clustering","dataset":"CIFAR-10","model":"DeepCluster","rank_in_archive_order":34,"of":40,"metrics":{"ARI":"-","Accuracy":"0.374","Backbone":"ResNet-34","NMI":"-","Train set":"Train+Test"},"uses_additional_data":true},{"leaderboard":"/sota/image-clustering-on-cifar-100","task":"Image Clustering","dataset":"CIFAR-100","model":"DeeperCluster","rank_in_archive_order":25,"of":30,"metrics":{"Accuracy":"0.189","Train Set":"Train+Test"},"uses_additional_data":true},{"leaderboard":"/sota/self-supervised-image-classification-on","task":"Self-Supervised Image Classification","dataset":"ImageNet","model":"DeepCluster (AlexNet)","rank_in_archive_order":138,"of":144,"metrics":{"Number of Params":"61M","Top 1 Accuracy":"41.0"},"uses_additional_data":false},{"leaderboard":"/sota/unsupervised-semantic-segmentation-on","task":"Unsupervised Semantic Segmentation","dataset":"Cityscapes test","model":"MDC","rank_in_archive_order":13,"of":14,"metrics":{"Accuracy":"40.7","mIoU":"7.1"},"uses_additional_data":false},{"leaderboard":"/sota/unsupervised-semantic-segmentation-on-6","task":"Unsupervised Semantic Segmentation","dataset":"ImageNet-S-50","model":"MDC (Supervised pretrain)","rank_in_archive_order":5,"of":5,"metrics":{"mIoU (test)":"14.3","mIoU (val)":"14.6"},"uses_additional_data":false}],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1807.05520","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1807.05520"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/facebookresearch/deepcluster","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/461054993/SDCN","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/vinhdv1628/image_classification_task","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/bdy9527/SDCN","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/betashort/DeepClusterings","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ananyahjha93/swav","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Confusezius/selfsupervised_learning","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/asanakoy/deep_clustering","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/hsfzxjy/swavx","reach":null}],"summary":{"ran":3,"ran_fixture":1,"ran_draft_wrong":1,"unverified":2},"by_repo_kind":{"listed":{"samples":7,"ran":5,"repositories":3}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":4,"samples":[{"code_sha256_prefix":"c9adc6036aa45d3e","entry":"AE","repo":"bdy9527/SDCN","repo_kind":"listed","path":"sdcn.py","file_url":"https://github.com/bdy9527/SDCN/blob/HEAD/sdcn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c9adc6036aa45d3e"}},{"code_sha256_prefix":"5c5c46d837a22ed0","entry":"GNNLayer","repo":"bdy9527/SDCN","repo_kind":"listed","path":"sdcn.py","file_url":"https://github.com/bdy9527/SDCN/blob/HEAD/sdcn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5c5c46d837a22ed0"}},{"code_sha256_prefix":"2ec706e9bf55a6df","entry":"ReassignedDataset","repo":"betashort/DeepClusterings","repo_kind":"listed","path":"DeepClustering/deepcluster.py","file_url":"https://github.com/betashort/DeepClusterings/blob/HEAD/DeepClustering/deepcluster.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2ec706e9bf55a6df"}},{"code_sha256_prefix":"50c8238f31118570","entry":"cluster_assign","repo":"betashort/DeepClusterings","repo_kind":"listed","path":"DeepClustering/deepcluster.py","file_url":"https://github.com/betashort/DeepClusterings/blob/HEAD/DeepClustering/deepcluster.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"50c8238f31118570"}},{"code_sha256_prefix":"c2abbf3e8913b375","entry":"get_indices_sparse","repo":"hsfzxjy/swavx","repo_kind":"listed","path":"main_deepclusterv2.py","file_url":"https://github.com/hsfzxjy/swavx/blob/HEAD/main_deepclusterv2.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"c2abbf3e8913b375"}},{"code_sha256_prefix":"4aee3d437cd88960","entry":"SDCN","repo":"bdy9527/SDCN","repo_kind":"listed","path":"sdcn.py","file_url":"https://github.com/bdy9527/SDCN/blob/HEAD/sdcn.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4aee3d437cd88960"}},{"code_sha256_prefix":"7a53b1371c3b1e7b","entry":"cluster_memory","repo":"hsfzxjy/swavx","repo_kind":"listed","path":"main_deepclusterv2.py","file_url":"https://github.com/hsfzxjy/swavx/blob/HEAD/main_deepclusterv2.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"7a53b1371c3b1e7b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}