Papers › FixMatch: Simplifying Semi-Supervised Learning with Consistency and Confidence
FixMatch: Simplifying Semi-Supervised Learning with Consistency and Confidence
Kihyuk Sohn, David Berthelot, Chun-Liang Li, Zizhao Zhang, Nicholas Carlini, Ekin D. Cubuk, Alex Kurakin, Han Zhang, Colin Raffel
Semi-supervised learning (SSL) provides an effective means of leveraging unlabeled data to improve a model's performance. In this paper, we demonstrate the power of a simple combination of two common SSL methods: consistency regularization and pseudo-labeling. Our algorithm, FixMatch, first generates pseudo-labels using the model's predictions on weakly-augmented unlabeled images. For a given image, the pseudo-label is only retained if the model produces a high-confidence prediction. The model is then trained to predict the pseudo-label when fed a strongly-augmented version of the same image. Despite its simplicity, we show that FixMatch achieves state-of-the-art performance across a variety of standard semi-supervised learning benchmarks, including 94.93% accuracy on CIFAR-10 with 250 labels and 88.61% accuracy with 40 -- just 4 labels per class. Since FixMatch bears many similarities to existing SSL methods that achieve worse performance, we carry out an extensive ablation study to tease apart the experimental factors that are most important to FixMatch's success. We make our code available at https://github.com/google-research/fixmatch.
In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.
For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2001.07685")
Code
Syntology Ran 50 of 74 code samples harvested from 18 repositories linked to this paper; 24 have no recorded run. Of those that ran: 3 ran · honoured contract; 2 ran · violated contract; 12 ran · our draft was wrong; 13 ran · fixture could not drive it; 20 ran with no contract checked.
By repository: community (archive-listed): 74 samples from 18 repositories, 50 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.
26 repositories listed; official and paper-mentioned ones first.
Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.
Code Syntology ran Syntology
74 samples harvested; 50 ran; 3 honoured the contract we drafted; 24 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.
Licence: 14 of the 74 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.
Harvested from 18 repositories linked to this paper, official or community; each sample names its own and says which. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.
Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.
Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: 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. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.
48dececd48e901d2 · report
c6e7c3451c85404f · report
2c90584bcf844d28 · report
735c6ea4d3188cf3 · report
8d3a0f01f7775c34 · report
f82e12f0d695e01b · report
0d1a8d6ce2015fc7 · report
32cb3f5760fa593e · report
3476a989bf303448 · report
3a6db236d683df14 · report
b6210b47d844e910 · report
f97994492ca55ef4 · report
95de992b4cf43fd7 · report
18865f52ae76d33f · report
0847c9a3c04c392e · report
657ea9d40ca81745 · report
99a25ff737f67a63 · report
4e833a8fd83394d8 · report
88b25a8a9dc5f114 · report
db8a01288db8d302 · report
6d5a3435d35550b8 · report
c069bca31b82aa2c · report
47ddf827c80f0e32 · report
623b2503761b36c6 · report
c34cf3418c8a3bb9 · report
b16158758833e962 · report
cee3484c4606263e · report
b8e244cd7c2d12ef · report
6986978358272b46 · report
03b0c8a89d29142b · report
c0d914f7e98a27ad · report
895dd68f0abd14a2 · report
78ca1debd9c4ed87 · report
9723f46ec1689a37 · report
4a5f8edc558790c2 · report
5efbd3f44ce7dcf5 · report
cc357ff67b149646 · report
3cbade2baaefb1c2 · report
774112e52d064668 · report
8a873e1fbc0db2dd · report
4c53169f63a1fcef · report
e34c59d1eb6d2adb · report
159f99b81bc70ebc · report
c52f15cee62d6c7a · report
8d81faa31f390340 · report
19aacbdbdaa4747b · report
6514adf4f71311fc · report
75653ad24ddcda46 · report
adebf590ca9fbf8b · report
24b6eed27679e385 · report
338c2ab566a96a45 · report
d177a39181ef07d4 · report
fbe48c6053d5de3b · report
f4c8609e68ec56f7 · report
2a1f6b2401f82e41 · report
bdc089534fcd34d6 · report
980cb93dec539bfb · report
e996de42bfddf014 · report
15c3f5ae1a117ead · report
38a40a5989234d66 · report
970c51bd6e14501c · report
73e41df974d19846 · report
96901d00bcfc5b79 · report
dbdbabf6276becac · report
0802d913d5d3694d · report
d5592d7541ebcb31 · report
d418bfeffed76d00 · report
b9973e2e02f8fc7f · report
e220f362daa9561f · report
5d8684fa279a5f80 · report
e516133a9e28be90 · report
92bbaed54dcdae65 · report
0db7aa7734f05609 · report
26e39e7c49b447ad · report
Tasks
Results from the paper archive 2025-07-28
Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.
Methods
Introduced by this paper: FixMatch
Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections