Skip to content

fix(env): use conda-forge pytorch-gpu for reliable CUDA builds#11

Merged
gomezzz merged 1 commit intomainfrom
fix/conda-gpu-pytorch
Apr 13, 2026
Merged

fix(env): use conda-forge pytorch-gpu for reliable CUDA builds#11
gomezzz merged 1 commit intomainfrom
fix/conda-gpu-pytorch

Conversation

@gomezzz
Copy link
Copy Markdown
Collaborator

@gomezzz gomezzz commented Apr 13, 2026

Summary

  • Remove pytorch and nvidia channels — use only conda-forge
  • Replace pytorch-cuda=12.4 with pytorch-gpu (conda-forge meta-package)

Why

The pytorch-cuda package from the pytorch channel does not constrain the pytorch package to its GPU variant. The conda solver can satisfy both pytorch>=2.6 and pytorch-cuda=12.4 by installing CPU pytorch from conda-forge alongside pytorch-cuda from the pytorch channel.

The conda-forge pytorch-gpu meta-package correctly forces the CUDA variant of pytorch to be installed.

Test plan

  • CONDA_OVERRIDE_CUDA="12" mamba env create -f environment.yml installs pytorch with cuda* build string
  • python -c "import torch; print(torch.cuda.is_available())" returns True on GPU node

Replace pytorch/nvidia channels + pytorch-cuda=12.4 with conda-forge
only + pytorch-gpu meta-package. This matches the working ESA-Datalabs
setup and ensures the CUDA variant is installed during Docker builds
(with CONDA_OVERRIDE_CUDA="12").

The pytorch-cuda package from the pytorch channel does not constrain
the pytorch package to its GPU variant, resulting in CPU-only builds.
The conda-forge pytorch-gpu meta-package correctly forces the CUDA
variant of pytorch.
@github-actions
Copy link
Copy Markdown

Overall Coverage

Coverage Report
FileStmtsMissCoverMissing
__init__.py80100% 
data_io
   SessionIOHandler.py3264187%111, 128–129, 173–174, 184–185, 215–216, 282–283, 286, 326–328, 370, 388–390, 455, 530, 553, 567–568, 570–571, 573–575, 719–724, 738, 742–743, 747–749
   checkpoint_io.py1482583%68, 74, 76, 78, 95–109, 120, 122, 161, 182, 228, 281
   find_images_in_folder.py210100% 
   load_images.py912869%51–53, 58–60, 81, 93, 110, 140–147, 150, 156–157, 189, 248, 256, 277, 285, 292–294
   metadata_handler.py80890%70–71, 117, 122–123, 170–172
   save_config.py33390%92–94
datasets
   AnomalyDetectionDataset.py2483984%126–127, 356, 362–363, 365, 369, 371–372, 374, 395–396, 398, 404–405, 409, 422–423, 484–485, 491–496, 498–499, 503–506, 508–510, 512–514, 525
   BasicDataset.py52492%59, 61, 97, 103
   Label.py50100% 
   SSL_Dataset.py68395%136, 139, 209
   __init__.py00100% 
   data_utils.py56296%80, 199
datasets/augmentation
   randaugment.py921188%222, 225–226, 245, 328–330, 332–335
   randaugment_multispectral.py772370%33, 46–49, 106–107, 134–135, 166, 170, 174, 248, 253, 270–272, 274–277, 280–281
image_processing
   transforms.py57394%46–47, 76
models
   FixMatch.py2142986%108, 201–202, 217, 222, 254, 281–282, 285, 288–290, 293, 301, 306–307, 366, 404, 430–434, 495, 497–498, 502, 519–520
pipeline
   SessionTracker.py122397%127, 219–220
   session.py5358584%131–134, 384–387, 432, 445, 597, 654, 656–657, 665, 668, 679, 687, 717, 721, 725–726, 730, 735–736, 743, 747–748, 760, 770–771, 773, 777, 791–792, 794–796, 798, 801–802, 860–861, 863–866, 868–872, 878, 884, 889–893, 895, 903, 906–907, 923, 964–965, 971–972, 976–978, 980, 1005, 1031, 1065–1066, 1074, 1085, 1093, 1097, 1101, 1106, 1109, 1153, 1156
utils
   accuracy.py130100% 
   consistency_loss.py180100% 
   create_model_string.py40100% 
   cross_entropy_loss.py90100% 
   cutana_stream_utils.py70987%64–65, 88, 108, 118–122
   get_cosine_schedule_with_warmup.py11190%39
   get_default_cfg.py610100% 
   get_net_builder.py49785%81–82, 89, 92, 146–147, 151
   get_optimizer.py21290%54, 58
   print_cfg.py45491%89, 95, 117, 119
   set_log_level.py150100% 
   set_seeds.py13284%25–26
   validate_config.py1311191%180, 199, 214, 228, 244, 248, 264, 290, 379–381
TOTAL269334387% 

Tests Skipped Failures Errors Time
375 0 💤 0 ❌ 0 🔥 1m 3s ⏱️

@gomezzz gomezzz merged commit 63ece1f into main Apr 13, 2026
5 checks passed
@gomezzz gomezzz deleted the fix/conda-gpu-pytorch branch April 13, 2026 12:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant