{"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/unsupervised-representation-learning-by-1","title":"Unsupervised Representation Learning by Predicting Image Rotations","arxiv_id":"1803.07728","date":"2018-03-21","proceeding":"ICLR 2018 1","authors":["Spyros Gidaris","Praveer Singh","Nikos Komodakis"],"abstract":"Over the last years, deep convolutional neural networks (ConvNets) have\ntransformed the field of computer vision thanks to their unparalleled capacity\nto learn high level semantic image features. However, in order to successfully\nlearn those features, they usually require massive amounts of manually labeled\ndata, which is both expensive and impractical to scale. Therefore, unsupervised\nsemantic feature learning, i.e., learning without requiring manual annotation\neffort, is of crucial importance in order to successfully harvest the vast\namount of visual data that are available today. In our work we propose to learn\nimage features by training ConvNets to recognize the 2d rotation that is\napplied to the image that it gets as input. We demonstrate both qualitatively\nand quantitatively that this apparently simple task actually provides a very\npowerful supervisory signal for semantic feature learning. We exhaustively\nevaluate our method in various unsupervised feature learning benchmarks and we\nexhibit in all of them state-of-the-art performance. Specifically, our results\non those benchmarks demonstrate dramatic improvements w.r.t. prior\nstate-of-the-art approaches in unsupervised representation learning and thus\nsignificantly close the gap with supervised feature learning. For instance, in\nPASCAL VOC 2007 detection task our unsupervised pre-trained AlexNet model\nachieves the state-of-the-art (among unsupervised methods) mAP of 54.4% that is\nonly 2.4 points lower from the supervised case. We get similarly striking\nresults when we transfer our unsupervised learned features on various other\ntasks, such as ImageNet classification, PASCAL classification, PASCAL\nsegmentation, and CIFAR-10 classification. The code and models of our paper\nwill be published on: https://github.com/gidariss/FeatureLearningRotNet .","url_abs":"http://arxiv.org/abs/1803.07728v1","url_pdf":"http://arxiv.org/pdf/1803.07728v1.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":"unsupervised-representation-learning-by-1","repo_url":"https://github.com/gidariss/FeatureLearningRotNet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"unsupervised-representation-learning-by-1","repo_url":"https://github.com/Blimeo/rotnet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"unsupervised-representation-learning-by-1","repo_url":"https://github.com/DamianValle/ScarceClassifier","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"unsupervised-representation-learning-by-1","repo_url":"https://github.com/JermXT/NMEPhw6","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"unsupervised-representation-learning-by-1","repo_url":"https://github.com/LeiLiu-byte/the-Essence-of-LT-Rocognition","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"gone","observed_at":"2026-09-17","how":"tree_404+repo_404"}},{"paper_slug":"unsupervised-representation-learning-by-1","repo_url":"https://github.com/PedroPachuca/project1","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"unsupervised-representation-learning-by-1","repo_url":"https://github.com/WaretleR/SelfSupervision","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"unsupervised-representation-learning-by-1","repo_url":"https://github.com/YyzHarry/imbalanced-semi-self","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"unsupervised-representation-learning-by-1","repo_url":"https://github.com/adham-elarabawy/nmep_proj1","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"unsupervised-representation-learning-by-1","repo_url":"https://github.com/adham-elarabawy/nn-rotation-predictor","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"unsupervised-representation-learning-by-1","repo_url":"https://github.com/facebookresearch/vissl","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"unsupervised-representation-learning-by-1","repo_url":"https://github.com/k-han/AutoNovel","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"unsupervised-representation-learning-by-1","repo_url":"https://github.com/moabitcoin/ssvr","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"unsupervised-representation-learning-by-1","repo_url":"https://github.com/nab-126/resnet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"unsupervised-representation-learning-by-1","repo_url":"https://github.com/open-mmlab/mmselfsup","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"unsupervised-representation-learning-by-1","repo_url":"https://github.com/raghavjajodia/dsga1008_semisuperlearning","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"unsupervised-representation-learning-by-1","repo_url":"https://github.com/rahuldesai1/NMEP_HW5","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"unsupervised-representation-learning-by-1","repo_url":"https://github.com/virtualgraham/sc_patch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"unsupervised-representation-learning-by-1","repo_url":"https://github.com/zzz1515151/self-supervised_learning_sketch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"unsupervised-representation-learning-by-1","repo_url":"https://github.com/Dylan-get/Feature-Learning-RotNet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"paddle","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"classification","task_name":"General Classification"},{"task_slug":"representation-learning","task_name":"Representation Learning"},{"task_slug":"self-supervised-image-classification","task_name":"Self-Supervised Image Classification"}],"methods":[{"method_slug":"1x1-convolution","method_name":"1x1 Convolution"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"grouped-convolution","method_name":"Grouped Convolution"},{"method_slug":"local-response-normalization","method_name":"Local Response Normalization"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"softmax","method_name":"Softmax"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/self-supervised-image-classification-on","task":"Self-Supervised Image Classification","dataset":"ImageNet","model":"Rotation (AlexNet)","rank_in_archive_order":140,"of":144,"metrics":{"Number of Params":"86M","Top 1 Accuracy":"38.7"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1803.07728","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1803.07728"}},"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/YyzHarry/imbalanced-semi-self","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/facebookresearch/vissl","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Dylan-get/Feature-Learning-RotNet","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/adham-elarabawy/nn-rotation-predictor","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/nab-126/resnet","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/PedroPachuca/project1","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/adham-elarabawy/nmep_proj1","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/moabitcoin/ssvr","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/k-han/AutoNovel","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/raghavjajodia/dsga1008_semisuperlearning","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/rahuldesai1/NMEP_HW5","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zzz1515151/self-supervised_learning_sketch","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/JermXT/NMEPhw6","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Blimeo/rotnet","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/virtualgraham/sc_patch","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/WaretleR/SelfSupervision","reach":{"status":"ok"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/gidariss/FeatureLearningRotNet","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/DamianValle/ScarceClassifier","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/open-mmlab/mmselfsup","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/LeiLiu-byte/the-Essence-of-LT-Rocognition","reach":{"status":"gone","observed_at":"2026-09-17","how":"tree_404+repo_404"}}],"summary":{"ran":12,"ran_draft_wrong":2,"unverified":8},"by_repo_kind":{"official":{"samples":1,"ran":0,"repositories":1},"listed":{"samples":21,"ran":14,"repositories":10}},"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":18,"samples":[{"code_sha256_prefix":"da529ec59bbf59b8","entry":"AlexNet","repo":"zzz1515151/self-supervised_learning_sketch","repo_kind":"listed","path":"AlexNet.py","file_url":"https://github.com/zzz1515151/self-supervised_learning_sketch/blob/HEAD/AlexNet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"da529ec59bbf59b8"}},{"code_sha256_prefix":"977eb64069f84f67","entry":"Data","repo":"nab-126/resnet","repo_kind":"listed","path":"rotnet.py","file_url":"https://github.com/nab-126/resnet/blob/HEAD/rotnet.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":"977eb64069f84f67"}},{"code_sha256_prefix":"0b75c3d1eaec7793","entry":"Data","repo":"rahuldesai1/NMEP_HW5","repo_kind":"listed","path":"rotnet.py","file_url":"https://github.com/rahuldesai1/NMEP_HW5/blob/HEAD/rotnet.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":"0b75c3d1eaec7793"}},{"code_sha256_prefix":"4d382e3a78bdf9d7","entry":"Data","repo":"Blimeo/rotnet","repo_kind":"listed","path":"rotnet.py","file_url":"https://github.com/Blimeo/rotnet/blob/HEAD/rotnet.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":"4d382e3a78bdf9d7"}},{"code_sha256_prefix":"89353fd06cc04c28","entry":"Flatten","repo":"zzz1515151/self-supervised_learning_sketch","repo_kind":"listed","path":"AlexNet.py","file_url":"https://github.com/zzz1515151/self-supervised_learning_sketch/blob/HEAD/AlexNet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"89353fd06cc04c28"}},{"code_sha256_prefix":"7bbee0bfb7e65af2","entry":"ResNet","repo":"nab-126/resnet","repo_kind":"listed","path":"rotnet.py","file_url":"https://github.com/nab-126/resnet/blob/HEAD/rotnet.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":"7bbee0bfb7e65af2"}},{"code_sha256_prefix":"d7d646f8c811bb7f","entry":"ResNet","repo":"rahuldesai1/NMEP_HW5","repo_kind":"listed","path":"rotnet.py","file_url":"https://github.com/rahuldesai1/NMEP_HW5/blob/HEAD/rotnet.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":"d7d646f8c811bb7f"}},{"code_sha256_prefix":"fd46a2a4889413f5","entry":"ResNet","repo":"Blimeo/rotnet","repo_kind":"listed","path":"rotnet.py","file_url":"https://github.com/Blimeo/rotnet/blob/HEAD/rotnet.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":"fd46a2a4889413f5"}},{"code_sha256_prefix":"a60f48bb13f2d666","entry":"RotNet","repo":"adham-elarabawy/nmep_proj1","repo_kind":"listed","path":"rotnet.py","file_url":"https://github.com/adham-elarabawy/nmep_proj1/blob/HEAD/rotnet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a60f48bb13f2d666"}},{"code_sha256_prefix":"2d3ead654fea6358","entry":"RotatedDataset","repo":"moabitcoin/ssvr","repo_kind":"listed","path":"ssvr/dataset.py","file_url":"https://github.com/moabitcoin/ssvr/blob/HEAD/ssvr/dataset.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":"2d3ead654fea6358"}},{"code_sha256_prefix":"bdbea7111e28b11d","entry":"RotationDataset","repo":"raghavjajodia/dsga1008_semisuperlearning","repo_kind":"listed","path":"RotationLearning/RotationLearning.py","file_url":"https://github.com/raghavjajodia/dsga1008_semisuperlearning/blob/HEAD/RotationLearning/RotationLearning.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bdbea7111e28b11d"}},{"code_sha256_prefix":"04648afad4671964","entry":"batched","repo":"moabitcoin/ssvr","repo_kind":"listed","path":"ssvr/dataset.py","file_url":"https://github.com/moabitcoin/ssvr/blob/HEAD/ssvr/dataset.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"04648afad4671964"}},{"code_sha256_prefix":"57889d72f516d105","entry":"buildLabelIndex","repo":"Dylan-get/Feature-Learning-RotNet","repo_kind":"listed","path":"paddleRotNet/dataloader.py","file_url":"https://github.com/Dylan-get/Feature-Learning-RotNet/blob/HEAD/paddleRotNet/dataloader.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"57889d72f516d105"}},{"code_sha256_prefix":"25b471b6747ae2ee","entry":"files","repo":"moabitcoin/ssvr","repo_kind":"listed","path":"ssvr/dataset.py","file_url":"https://github.com/moabitcoin/ssvr/blob/HEAD/ssvr/dataset.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"25b471b6747ae2ee"}},{"code_sha256_prefix":"a858acd790fe29c4","entry":"AlexNetRotNet","repo":"facebookresearch/vissl","repo_kind":"listed","path":"vissl/models/trunks/alexnet_rotnet.py","file_url":"https://github.com/facebookresearch/vissl/blob/HEAD/vissl/models/trunks/alexnet_rotnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a858acd790fe29c4"}},{"code_sha256_prefix":"493987c2ab7c1620","entry":"ResNet","repo":"k-han/AutoNovel","repo_kind":"listed","path":"selfsupervised_learning.py","file_url":"https://github.com/k-han/AutoNovel/blob/HEAD/selfsupervised_learning.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"493987c2ab7c1620"}},{"code_sha256_prefix":"bf0ed0ecef689d4b","entry":"RotNet","repo":"nab-126/resnet","repo_kind":"listed","path":"rotnet.py","file_url":"https://github.com/nab-126/resnet/blob/HEAD/rotnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bf0ed0ecef689d4b"}},{"code_sha256_prefix":"25c505aa05d2b385","entry":"RotNet","repo":"rahuldesai1/NMEP_HW5","repo_kind":"listed","path":"rotnet.py","file_url":"https://github.com/rahuldesai1/NMEP_HW5/blob/HEAD/rotnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"25c505aa05d2b385"}},{"code_sha256_prefix":"6901ba8acd00aef8","entry":"RotNet","repo":"Blimeo/rotnet","repo_kind":"listed","path":"rotnet.py","file_url":"https://github.com/Blimeo/rotnet/blob/HEAD/rotnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6901ba8acd00aef8"}},{"code_sha256_prefix":"f0c9a29156911331","entry":"accuracy","repo":"gidariss/FeatureLearningRotNet","repo_kind":"official","path":"algorithms/ClassificationModel.py","file_url":"https://github.com/gidariss/FeatureLearningRotNet/blob/HEAD/algorithms/ClassificationModel.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f0c9a29156911331"}},{"code_sha256_prefix":"1c15c5f6cad99921","entry":"getConfMatrixResults","repo":"Dylan-get/Feature-Learning-RotNet","repo_kind":"listed","path":"paddleRotNet/utils.py","file_url":"https://github.com/Dylan-get/Feature-Learning-RotNet/blob/HEAD/paddleRotNet/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"1c15c5f6cad99921"}},{"code_sha256_prefix":"99bcaa01775e6c98","entry":"rotate_img","repo":"Dylan-get/Feature-Learning-RotNet","repo_kind":"listed","path":"paddleRotNet/dataloader.py","file_url":"https://github.com/Dylan-get/Feature-Learning-RotNet/blob/HEAD/paddleRotNet/dataloader.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":false,"mcp_get_code":{"code_sha256":"99bcaa01775e6c98"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}