Pith. sign in

REVIEW 3 major objections 4 minor 37 references

Re-evaluating Group Robustness via Adaptive Class-Specific Scaling

T0 review · 3 major / 4 minor · reviewed 2026-08-11 · deepseek-v4-flash

Pith's one-line read Class-specific logit scaling lets a naive ERM model match or beat debiasing methods.

desk verdict Useful post-hoc scaling benchmark with a new scalar metric; the headline claim is plausible but the validation-fitting protocol and missing simple baseline need scrutiny before relying on it. read the letter →

arxiv 2412.15311 v1 pith:FYGIPISO submitted 2024-12-19 cs.LG

classification cs.LG
keywords groupdistributionallyrobustoptimizationspuriouscorrelationworst-groupaccuracyunbiasedclass-specificscalingtest-timepost-processingrobust-averagetrade-offcoverage
verification ladder T0 review T1 audit T2 compute T3 formal

The pith

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

The reading

This paper seeks to show that the gains reported by training-time group-debiasing methods are mostly a reallocation of accuracy along a robust-versus-average trade-off, not a sign that those methods learn better features. It demonstrates that multiplying a trained model's per-class prediction scores by class-specific constants, a post-processing step that requires no training, moves a plain empirical-risk-minimization (ERM) model to the same worst-group or unbiased accuracy points as recent debiasing algorithms, and sometimes beyond them. An instance-wise variant scales scores per cluster of similar examples and, the paper reports, improves both worst-group and average accuracy at once. The paper also introduces a scalar 'robust coverage' metric that integrates the Pareto frontier of robust-versus-average accuracy, so that algorithms can be compared on the whole trade-off rather than on a single robust-accuracy number. If the claims hold, many reported robustness gains are reproducible at test time for free, and evaluation of debiasing methods should be re-centered on the trade-off.

What carries the argument

The load-bearing object is class-specific score scaling: replace the prediction $\arg\max_c \hat{y}_c$ with $\arg\max_c (s \odot \hat{y})_c$, where $s \in \mathbb{R}^C$ is a per-class multiplier selected by greedy coordinate search on a validation set that carries group labels. Because rescaling only reorders existing class scores, it needs no training and leaves the feature extractor untouched. The instance-wise variant clusters validation features into $K$ groups ($K=20$ in the experiments) with K-means, estimates a separate scaling vector per cluster, and applies the vector of the nearest centroid to each test example. The paper's evaluation object, robust coverage, is $\int_0^1 \max_s \{RA_s \mid AA_s \ge c\}\,dc$ (discretized with $D=10^3$ slices), the area under the best robust accuracy achievable at each average-accuracy threshold.

What would settle it

On a benchmark with a genuine distribution shift between validation and test, such as FMoW-WILDS whose splits come from different years, select the scaling vector that maximizes worst-group accuracy on validation, apply it to test, and compare with a scaling vector selected directly on test. If the validation-selected vector is substantially worse, the transfer assumption that carries the method fails.

Watch

Extended reading notes

Core claim

The central claim is that, on standard spurious-correlation benchmarks, a naive ERM baseline matches or outperforms recent debiasing methods once its logits are rescaled class-wise, and that an instance-wise version of the same rescaling can improve robust and average accuracy simultaneously. The prediction rule is $\arg\max_c (s \odot \hat{y})_c$, where $s \in \mathbb{R}^C$ is a per-class multiplier found by a greedy search on a group-annotated validation set; sweeping $s$ traces the trade-off curve between worst-group (or unbiased) accuracy and average accuracy. The instance-wise extension clusters validation features with K-means, assigns a separate scaling vector to each cluster, and applies the vector by cluster membership at test time. From this curve the paper derives robust coverage, the area under the Pareto frontier of the robust-average accuracy trade-off, and uses it to argue that evaluations reporting only robust accuracy give an incomplete picture.

Load-bearing premise

The method's scaling factors and cluster centroids are chosen on a group-annotated validation set and then applied to the test set unchanged; if the validation and test sets differ in group composition or in how features relate to labels, the chosen scaling is no longer optimal.

Editorial extensions

If this is right

  • Robust accuracy alone is an incomplete summary; debiasing methods should be reported together with average accuracy or with robust coverage.
  • A naive ERM model plus class-specific scaling is a competitive baseline that future debiasing methods should be required to beat.
  • The same trained model can be steered to different target metrics, worst-group, unbiased, or average accuracy, by choosing different scaling vectors without retraining.
  • Instance-wise scaling can push the trade-off outward, improving both worst-group and average accuracy on the same model.

Reading between the lines

Editorial extensions of the paper, not claims the author makes directly.

  • A testable implication beyond the paper's experiments: if rescaling reproduces the gains of debiasing methods, those methods may be shifting decision boundaries rather than learning fundamentally different features; comparing feature-space clusterings of ERM and debiased models would check this directly.
  • The per-cluster scaling idea suggests a cheap deployment-time adaptation recipe: any pretrained model plus a small group-labeled validation set could be re-targeted to a new subpopulation mix without retraining.
  • Robust coverage values depend on how densely the scaling search approximates the Pareto frontier; reporting the search grid and cluster count alongside the scalar would make the metric reproducible.
  • The transfer assumption could be stress-tested with more than one spurious attribute or with continuously shifting attributes, where K-means clusters may not align with the groups that determine fairness.
Share X Bluesky LinkedIn Reddit HN

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, and a circularity audit.

Referee Report

3 major / 4 minor

Summary. The paper proposes a training-free, post-hoc class-specific logit scaling technique (RS) and an instance-wise variant (IRS) that scales logits per feature cluster, along with a scalar 'robust coverage' metric that summarizes the robust-versus-average accuracy Pareto frontier. Experiments on CelebA, Waterbirds, CivilComments-WILDS, and FMoW-WILDS show that RS applied to an ERM model recovers or exceeds many recent debiasing methods' worst-group accuracy, and IRS improves both robust and average accuracy in several settings. The paper interprets these results as evidence that much of the apparent robustness gain of training-time debiasing methods can be reproduced by test-time score rescaling, and argues that robust accuracy should be evaluated jointly with average accuracy.

Significance. If the claims hold, this is a useful and inexpensive post-processing technique, and the paper's re-evaluation of existing debiasing algorithms is a worthwhile caution for the group-robustness community. The paper ships standard-benchmark experiments across vision and text, reports means and standard deviations over three runs, and includes helpful ablations on validation-set size and cluster count. The robust coverage metric, though dependent on the proposed scaling procedure, is a conceptually useful scalar summary of the robust-average trade-off. The central claims are falsifiable and the experiments are reproducible in principle, which I regard as strengths.

major comments (3)
  1. [§3.2, §D, Table 4] The transferability assumption stated in Section D ('the optimal scaling factor identified in the validation set can be used in the test set') is supported only by the binary-CelebA 1D sweep in Figure A6, not by the full C-dimensional greedy vector or by the K=20 cluster-specific vectors used by IRS. FMoW-WILDS, where validation and test come from different years, provides a direct internal check in Table 4: ERM+RS has worst-group robust coverage 32.9 versus 34.5 for plain ERM, even though the selected worst-group accuracy improves. This is the signature of a validation/test mismatch in the fitted scaling frontier and directly contradicts the sentence in Section 4.2 that robust scaling 'does not suffer from any performance degradation' on FMoW. The authors should report the full FMoW frontier realized on test, and either restrict the transferability claim to datasets without temporal shift or qualify it explicitly.
  2. [§3.2, Table 5] The greedy coordinate search over 401 scaling values per class is an unregularized selection on the validation split, and Table 5 shows the consequence: IRS worst-group gain falls from +54.2 to +25.9 when the validation set is cut to 1%, with the standard deviation rising to 14.4. This is direct evidence that the selection procedure can overfit the validation split. Since the headline comparison (ERM+RS matching debiasing methods) uses validation-selected scaling factors, the paper should report whether the ERM+RS advantage over LfF, JTT, and CR is statistically significant across seeds and, ideally, compare against a baseline that is given an analogous post-hoc selection budget. Without this, the central claim risks being partly an artifact of selection on validation rather than a property of the underlying ERM features.
  3. [§3.4, Eq. (4), Table A8] The definition of robust coverage in Eq. (4) takes a max over scaling vectors, but the text does not make explicit whether the reported coverage numbers are computed by selecting s on the validation split and then evaluating the resulting frontier on the test split, or by optimizing s directly on the test split. Table A8 distinguishes 'Robust Coverage' from 'Realized Robust Coverage' but the main tables report only one number. This matters because if the max is evaluated on test, the coverage is an oracle quantity that does not measure what a practitioner would obtain; if it is evaluated on validation, the reported values inherit the transfer problem raised above. The authors should define the split protocol for every coverage number reported in Tables 1–4.
minor comments (4)
  1. [§3.2, Eq. (3)] The notation (s ⊙ ŷ)_c is used before the paper defines whether ŷ is a probability vector or a logit vector; please state the convention explicitly, since multiplying probabilities versus logits changes the effect of scaling.
  2. [Table A9] The complexity entry 'O(n9)' is presumably meant to be O(n^9) or exponential in the class count; as printed it is unclear, and a polynomial-time claim for full grid search would be inconsistent with searching 401 values per class.
  3. [Appendix A] Several display equations have minor formatting issues (e.g., missing spaces around 'where * indicates', and 'na¨ıve' instead of 'naïve'); these should be cleaned up.
  4. [§4.3, Figure 5] In Figure 5, the claim that validation coverage is 'almost consistent' with test robust accuracy is supported only visually; consider reporting the numerical correlation or per-K values.

Circularity Check

0 steps flagged · score 0.0 of 10

No significant circularity: the scaling factors are validation-fitted and then evaluated on held-out test data; the robust coverage metric is a post-hoc evaluation statistic, not a predicted quantity.

full rationale

The paper's central operation is to fit class-specific or cluster-specific scaling vectors on a group-annotated validation split by greedy search and then apply those vectors to a held-out test split; the reported robust and average accuracies are measured on that held-out test split. This is ordinary model selection, not a derivation that assumes its conclusion. Equation (3) defines the scaled prediction rule, and Section 3.2 explicitly separates finding the scaling factors on validation from applying them to the test set. The robust coverage in Eq. (4) is a scalar summary of the Pareto frontier generated by the same post-processing rule; it is a proposed evaluation statistic, not a predicted quantity, so it cannot be circular by construction. The only self-citations (Refs. [26] and [27]) are used to motivate feature clustering for IRS but are not load-bearing: the paper reimplements K-means on its own validation features and does not rely on the cited works' debiasing weights or conclusions. Possible validation-to-test transfer failure, especially on time-shifted FMoW-WILDS, is an empirical risk of the procedure rather than a circularity, and the paper explicitly discusses transfer evidence in Section D and reports a realized-coverage comparison in Table A8. No load-bearing step reduces to its own input by construction, so the derivation chain is self-contained as an empirical evaluation protocol.

Assumptions & free parameters 4 free parameters · 5 assumptions · 0 invented entities

The method's parameters are all post-hoc fitting values: the per-class scaling vector, per-cluster scaling vectors, K, and the coverage discretization. None are derived from first principles. The key domain assumption is that validation group annotations are available and transfer to test. No new entities are introduced.

free parameters (4)
  • per-class scaling vector s = (1.05)^n for n in [-200,200] per class; chosen on validation
    The central RS parameter; greedy search selects s to maximize a target metric on validation, and the same s is applied at test time.
  • per-cluster scaling vectors in IRS = K=20; up to K*C scaling factors
    IRS fits separate s per K-means cluster, adding many parameters selected on validation.
  • number of clusters K = 20
    Set to 20 for all experiments; performance varies with K (Figure 5).
  • robust coverage discretization D = 1000
    Defines the scalar coverage metric; larger D gives finer approximation of the area under the Pareto frontier.
assumptions (5)
  • domain assumption Validation split includes group annotations (y,a) used to select scaling factors.
    Section 3.1 states the validation set has group annotations; without this RS cannot be tuned.
  • domain assumption Validation-estimated scaling factors and K-means centroids transfer to the test set.
    Section 3.2 and Figure A6 assert optimal scaling on validation applies to test; IRS relies on cluster memberships carrying over.
  • domain assumption K-means clusters on validation feature space capture spurious-attribute groups.
    Section 3.3 motivates IRS by analogy with pseudo-attribute clustering in prior work; if clusters do not correspond to groups, per-cluster scaling is arbitrary.
  • domain assumption Greedy coordinate search over scaling factors finds a near-optimal solution.
    Section 3.2 states greedy search is sufficient because many near-optimal solutions exist; this is argued, not proven.
  • standard math Group-wise accuracy and robust metrics defined in Eq. (1)-(2) are the correct evaluation objectives.
    These are standard definitions from prior work and are accepted by the field.

how reviews work

0 comments
Cite this review

Pith. "Pith review of Re-evaluating Group Robustness via Adaptive Class-Specific Scaling." pith.science (2026). https://pith.science/paper/FYGIPISO

@misc{pith2026241215311,
  author       = {Pith},
  title        = {Pith review of: Re-evaluating Group Robustness via Adaptive Class-Specific Scaling},
  year         = {2026},
  howpublished = {\url{https://pith.science/paper/FYGIPISO}},
  note         = {Machine review of arXiv:2412.15311}
}
read the original abstract

Group distributionally robust optimization, which aims to improve robust accuracies -- worst-group and unbiased accuracies -- is a prominent algorithm used to mitigate spurious correlations and address dataset bias. Although existing approaches have reported improvements in robust accuracies, these gains often come at the cost of average accuracy due to inherent trade-offs. To control this trade-off flexibly and efficiently, we propose a simple class-specific scaling strategy, directly applicable to existing debiasing algorithms with no additional training. We further develop an instance-wise adaptive scaling technique to alleviate this trade-off, even leading to improvements in both robust and average accuracies. Our approach reveals that a na\"ive ERM baseline matches or even outperforms the recent debiasing methods by simply adopting the class-specific scaling technique. Additionally, we introduce a novel unified metric that quantifies the trade-off between the two accuracies as a scalar value, allowing for a comprehensive evaluation of existing algorithms. By tackling the inherent trade-off and offering a performance landscape, our approach provides valuable insights into robust techniques beyond just robust accuracy. We validate the effectiveness of our framework through experiments across datasets in computer vision and natural language processing domains.

Figures

Figures reproduced from arXiv: 2412.15311 by the authors.

Figure 1
Figure 1. The scatter plots illustrate trade-offs between robust [PITH_FULL_IMAGE:figures/full_fig_p001_1.png] view at source ↗
Figure 2
Figure 2. Comparison between the baseline ERM and existing debiasing approaches with ResNet-50 on CelebA. Existing works have [PITH_FULL_IMAGE:figures/full_fig_p002_2.png] view at source ↗
Figure 3
Figure 3. The relation between the robust and average accuracies [PITH_FULL_IMAGE:figures/full_fig_p004_3.png] view at source ↗
Figures from the paper (1 more)
Figure 5
Figure 5. Figure 5: Sensitivity analysis with respect to the number of clus [PITH_FULL_IMAGE:figures/full_fig_p008_5.png]

Discussion (0). Continue with ORCID to comment.

Reference graph

Works this paper leans on

37 extracted references · 33 canonical work pages

  1. [1]

    Systematic generalisation with group invariant predictions

    Faruk Ahmed, Yoshua Bengio, Harm van Seijen, and Aaron Courville. Systematic generalisation with group invariant predictions. In ICLR, 2020. 3

  2. [2]

    Invariant risk minimization

    Martin Arjovsky, L ´eon Bottou, Ishaan Gulrajani, and David Lopez-Paz. Invariant risk minimization. arXiv preprint arXiv:1907.02893, 2019. 1, 3

  3. [3]

    Learning de-biased repre- sentations with biased representations

    Hyojin Bahng, Sanghyuk Chun, Sangdoo Yun, Jaegul Choo, and Seong Joon Oh. Learning de-biased repre- sentations with biased representations. InICML, 2020. 1, 3

  4. [4]

    Functional map of the world

    Gordon Christie, Neil Fendley, James Wilson, and Ryan Mukherjee. Functional map of the world. In CVPR, 2018. 13

  5. [5]

    Environment inference for invariant learning

    Elliot Creager, J ¨orn-Henrik Jacobsen, and Richard Zemel. Environment inference for invariant learning. In ICML, 2021. 2, 3

  6. [6]

    Imagenet: A large-scale hierarchi- cal image database

    Jia Deng, Wei Dong, Richard Socher, Li-Jia Li, Kai Li, and Li Fei-Fei. Imagenet: A large-scale hierarchi- cal image database. In CVPR, 2009. 5

  7. [7]

    Measuring statistical depen- dence with hilbert-schmidt norms

    Arthur Gretton, Olivier Bousquet, Alex Smola, and Bernhard Sch ¨olkopf. Measuring statistical depen- dence with hilbert-schmidt norms. In ALT, 2005. 3

  8. [8]

    On calibration of modern neural networks

    Chuan Guo, Geoff Pleiss, Yu Sun, and Kilian Q Wein- berger. On calibration of modern neural networks. In ICML, 2017. 3

Show all 37 references
  1. [9]

    Deep Residual Learning for Image Recognition

    Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep Residual Learning for Image Recognition. In CVPR, 2016. 5

  2. [10]

    Learning deep representation for imbal- anced classification

    Chen Huang, Yining Li, Chen Change Loy, and Xi- aoou Tang. Learning deep representation for imbal- anced classification. In CVPR, 2016. 1

  3. [11]

    Densely connected convo- lutional networks

    Gao Huang, Zhuang Liu, Laurens Van Der Maaten, and Kilian Q Weinberger. Densely connected convo- lutional networks. In CVPR, 2017. 5

  4. [12]

    Simple data bal- ancing achieves competitive worst-group-accuracy

    Badr Youbi Idrissi, Martin Arjovsky, Mohammad Pezeshki, and David Lopez-Paz. Simple data bal- ancing achieves competitive worst-group-accuracy. In CLeaR, 2022. 3, 5, 6, 8, 11

  5. [13]

    Fairface: Face attribute dataset for balanced race, gender, and age

    Kimmo K ¨arkk¨ainen and Jungseock Joo. Fairface: Face attribute dataset for balanced race, gender, and age. In WACV, 2021. 15

  6. [14]

    Learning debiased classifier with biased committee

    Nayeong Kim, Sehyun Hwang, Sungsoo Ahn, Jae- sik Park, and Suha Kwak. Learning debiased classifier with biased committee. arXiv preprint arXiv:2206.10843, 2022. 2, 3

  7. [15]

    Last layer re-training is sufficient for robustness to spurious correlations

    Polina Kirichenko, Pavel Izmailov, and Andrew Gor- don Wilson. Last layer re-training is sufficient for robustness to spurious correlations. arXiv preprint arXiv:2204.02937, 2022. 2, 3, 8

  8. [16]

    Wilds: A benchmark of in-the-wild distribution shifts

    Pang Wei Koh, Shiori Sagawa, Henrik Mark- lund, Sang Michael Xie, Marvin Zhang, Akshay Balsubramani, Weihua Hu, Michihiro Yasunaga, Richard Lanas Phillips, Irena Gao, et al. Wilds: A benchmark of in-the-wild distribution shifts. InICML,

  9. [17]

    Large-scale methods for distributionally ro- bust optimization

    Daniel Levy, Yair Carmon, John C Duchi, and Aaron Sidford. Large-scale methods for distributionally ro- bust optimization. In NeurIPS, 2020. 1, 2, 3

  10. [18]

    Just train twice: Improving group robustness without training group information

    Evan Z Liu, Behzad Haghgoo, Annie S Chen, Aditi Raghunathan, Pang Wei Koh, Shiori Sagawa, Percy Liang, and Chelsea Finn. Just train twice: Improving group robustness without training group information. In ICML, 2021. 1, 2, 3, 5, 8, 11

  11. [19]

    Avoiding spurious correlations via logit correction

    Sheng Liu, Xu Zhang, Nitesh Sekhar, Yue Wu, Pra- teek Singhal, and Carlos Fernandez-Granda. Avoiding spurious correlations via logit correction. 2023. 3

  12. [20]

    Deep learning face attributes in the wild

    Ziwei Liu, Ping Luo, Xiaogang Wang, and Xiaoou Tang. Deep learning face attributes in the wild. In ICCV, 2015. 12

  13. [21]

    Learning from failure: Training debiased classifier from biased classifier

    Junhyun Nam, Hyuntak Cha, Sungsoo Ahn, Jaeho Lee, and Jinwoo Shin. Learning from failure: Training debiased classifier from biased classifier. In NeurIPS,

  14. [22]

    Pytorch: An imperative style, high- performance deep learning library

    Adam Paszke, Sam Gross, Francisco Massa, Adam Lerer, James Bradbury, Gregory Chanan, Trevor Killeen, Zeming Lin, Natalia Gimelshein, Luca Antiga, et al. Pytorch: An imperative style, high- performance deep learning library. In NeurIPS, 2019. 5

  15. [23]

    Probabilistic Outputs for Support Vector Machines and Comparisons to Regularized Likelihood Methods

    John Platt. Probabilistic Outputs for Support Vector Machines and Comparisons to Regularized Likelihood Methods. Advanced in Large Margin Classifiers, 10, 06 2000. 3

  16. [24]

    Distributionally robust neural networks for group shifts: On the importance of regularization for worst-case gen- eralization

    Shiori Sagawa, Pang Wei Koh, Tatsunori B Hashimoto, and Percy Liang. Distributionally robust neural networks for group shifts: On the importance of regularization for worst-case gen- eralization. In ICLR, 2020. 1, 2, 3, 5, 6, 8, 11, 12

  17. [25]

    Distilbert, a distilled version of bert: smaller, faster, cheaper and lighter

    Victor Sanh, Lysandre Debut, Julien Chaumond, and Thomas Wolf. Distilbert, a distilled version of bert: smaller, faster, cheaper and lighter. arXiv preprint arXiv:1910.01108, 2019. 5

  18. [26]

    Information-theoretic bias reduction via causal view of spurious correlation

    Seonguk Seo, Joon-Young Lee, and Bohyung Han. Information-theoretic bias reduction via causal view of spurious correlation. In AAAI, 2022. 3

  19. [27]

    Unsupervised learning of debiased representations with pseudo-attributes

    Seonguk Seo, Joon-Young Lee, and Bohyung Han. Unsupervised learning of debiased representations with pseudo-attributes. In CVPR, 2022. 1, 2, 3, 4, 8

  20. [28]

    No subclass left behind: Fine-grained robustness in coarse-grained classifica- tion problems

    Nimit Sohoni, Jared Dunnmon, Geoffrey Angus, Al- bert Gu, and Christopher R´e. No subclass left behind: Fine-grained robustness in coarse-grained classifica- tion problems. In NeurIPS, 2020. 1, 3, 4

  21. [29]

    The caltech-ucsd birds- 200-2011 dataset

    Catherine Wah, Steve Branson, Peter Welinder, Pietro Perona, and Serge Belongie. The caltech-ucsd birds- 200-2011 dataset. 2011. 12

  22. [30]

    Correct-n- contrast: A contrastive approach for improving ro- bustness to spurious correlations

    Michael Zhang, Nimit S Sohoni, Hongyang R Zhang, Chelsea Finn, and Christopher R ´e. Correct-n- contrast: A contrastive approach for improving ro- bustness to spurious correlations. arXiv preprint arXiv:2203.01517, 2022. 2

  23. [31]

    Places: A 10 mil- lion image database for scene recognition

    Bolei Zhou, Agata Lapedriza, Aditya Khosla, Aude Oliva, and Antonio Torralba. Places: A 10 mil- lion image database for scene recognition. TPAMI, 40(6):1452–1464, 2017. 12 A. Comparisons Below is a brief introduction of the comparisons used in our experiments. ERM Given a loss...

  24. [32]

    Partition the examples in the validation split by the values of the spurious attribute

  25. [33]

    Find the optimal scaling factors for each partition in the validation split

  26. [34]

    Train an independent estimator model to classify spurious attribute

  27. [35]

    Estimate the spurious attribute values of the examples in the test split using the estimator, and partition the test samples according to their estimated spurious attribute values

  28. [36]

    spurious correlation

    For each sample in the test split, apply the optimal scaling factors obtained in step 2 based on its partition. To find a set of scale factors corresponding to each partition, we adopt a na ¨ıve greedy algorithm that performed in one partition at a time. This attribute-specifi...

  29. [2018]

    It consists of 76,863 training images from the years 2002-2013, 19,915 validation images from the years 2013-2016, and 22,108 test images from the years 2016-2018

    The label is one of 62 building or land use categories, and the attribute represents both the year and geographical regions (Africa, the Americas, Oceania, Asia, or Europe ). It consists of 76,863 training images from the years 2002-2013, 19,915 validation images from the year...

Pith tools

Reviewed August 11, 2026 · model on record in the stance chip above.