Skip to content

chore: fix epi model mask allignment - #16

Open
borisim wants to merge 1 commit into
mainfrom
fix/image
Open

chore: fix epi model mask allignment#16
borisim wants to merge 1 commit into
mainfrom
fix/image

Conversation

@borisim

@borisim borisim commented Jul 23, 2026

Copy link
Copy Markdown

fixed outdated gpu image and added fix for top left shift of mask

Summary by CodeRabbit

  • Bug Fixes

    • Improved heatmap resizing to preserve mask boundaries and ensure state is restored safely if processing fails.
  • Chores

    • Updated GPU runtime configuration for improved CUDA, TensorRT, and ONNX Runtime compatibility.
    • Upgraded the GPU worker image to version 2.56.0.

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@coderabbitai

coderabbitai Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The heatmap builder now restores mask source extents after resizing. The GPU Docker image updates runtime libraries, packages, cleanup, and linker configuration. The MIG20 Ray worker deployment changes to the 2.56.0-gpu image.

Changes

Heatmap State Restoration

Layer / File(s) Summary
Preserve mask resize state
builders/heatmap_builder.py
HeatmapBuilder.root temporarily uses mask extents during resizing and restores the original source extents in a finally block.

GPU Image and Deployment

Layer / File(s) Summary
Update GPU runtime image
docker/Dockerfile.gpu
The Dockerfile adds python3-dev, consolidates package cleanup, configures GPU library lookup paths, and pins onnxruntime-gpu and tensorrt versions.
Bump worker image
helm/rayservice/workers/mig20-workers.yaml
The MIG20 Ray worker image changes from 2.54.0-gpu to 2.56.0-gpu.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Suggested reviewers: copilot, ejdam87

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is clear and related to the main mask-fix change, though it omits the GPU image update.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/image

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 Checkov (3.3.8)
docker/Dockerfile.gpu

Traceback (most recent call last):
File "/usr/local/bin/checkov", line 2, in
from checkov.main import Checkov
ModuleNotFoundError: No module named 'checkov'

helm/rayservice/workers/mig20-workers.yaml

Traceback (most recent call last):
File "/usr/local/bin/checkov", line 2, in
from checkov.main import Checkov
ModuleNotFoundError: No module named 'checkov'


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the GPU deployment/image and adjusts heatmap mask resizing logic to address a top-left mask shift, while also tightening GPU Python dependency versions to avoid CUDA runtime mismatches.

Changes:

  • Bump Ray worker GPU image tag in the MIG 2g.20gb worker chart.
  • Pin GPU Python wheels (onnxruntime-gpu / tensorrt) in the GPU Docker image build.
  • Adjust HeatmapBuilder mask resizing/cropping by temporarily switching extents to correct mask alignment.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
helm/rayservice/workers/mig20-workers.yaml Updates the Ray worker container image tag to a newer GPU build.
docker/Dockerfile.gpu Pins CUDA-sensitive Python dependencies to reduce runtime/ABI mismatches.
builders/heatmap_builder.py Changes mask resize logic (extents swap + crop) to fix mask alignment.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docker/Dockerfile.gpu
Comment on lines +55 to +59
# Pin CUDA 12 compatible versions to avoid libcudart.so.13 mismatches.
# The rayproject/ray:2.53.0-py312-gpu image bundles CUDA 12.x; these wheels match it.
RUN pip install --no-cache-dir \
onnxruntime-gpu tensorrt lz4 ratiopath "mlflow<3.0" torch torchvision \
onnxruntime-gpu==1.19.2 \
tensorrt==10.5.0 \
Comment on lines +133 to +138
original_source_extents = mask_builder.source_extents.copy()
mask_builder.source_extents = mask_builder.mask_extents
try:
vips_image = mask_builder.resize_to_source(result)
finally:
mask_builder.source_extents = original_source_extents

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (1)
docker/Dockerfile.gpu (1)

47-47: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Avoid sudo inside Docker build steps.

Run these package and linker commands as root via explicit USER transitions, then restore the non-root user before pip installation. This removes an unnecessary dependency on sudo being installed and configured in the base image.

Static analysis reports this pattern as DS-0010/DL3004.

Also applies to: 50-53

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docker/Dockerfile.gpu` at line 47, Remove sudo from the package cleanup
commands around the Dockerfile’s systemd removal and linker-cache steps, switch
to root with an explicit USER transition before those RUN instructions, then
restore the existing non-root user before pip installation. Preserve the current
cleanup and installation behavior while eliminating the dependency on sudo.

Source: Linters/SAST tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@builders/heatmap_builder.py`:
- Around line 133-134: In the resize_to_source flow, update the
original_source_extents assignment to retain mask_builder.source_extents
directly instead of calling .copy(), then continue restoring that saved value
after temporarily assigning mask_builder.mask_extents.

In `@docker/Dockerfile.gpu`:
- Around line 55-64: Update the GPU image dependency installation in the
Dockerfile’s pip install block to use tested, explicit versions for torch,
torchvision, and the mlflow 3.x constraint, or install them from a generated
CUDA-specific constraints/lock file. Keep the existing CUDA-compatible pins for
onnxruntime-gpu and tensorrt, and ensure the selected Torch/TorchVision versions
are mutually compatible with the bundled CUDA 12.x runtime.
- Line 44: Update the Dockerfile.gpu dependency setup to avoid the Python 3.10
`python3-dev` package with the Python 3.12 base runtime: either remove
`python3-dev` when pip installations are wheel-only, or install matching Python
3.12 development headers and invoke pip through that environment using `python
-m pip`.

---

Nitpick comments:
In `@docker/Dockerfile.gpu`:
- Line 47: Remove sudo from the package cleanup commands around the Dockerfile’s
systemd removal and linker-cache steps, switch to root with an explicit USER
transition before those RUN instructions, then restore the existing non-root
user before pip installation. Preserve the current cleanup and installation
behavior while eliminating the dependency on sudo.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: b7d45104-13f7-4837-97a6-6563f7e0c303

📥 Commits

Reviewing files that changed from the base of the PR and between 3d37a6e and 7621925.

📒 Files selected for processing (3)
  • builders/heatmap_builder.py
  • docker/Dockerfile.gpu
  • helm/rayservice/workers/mig20-workers.yaml

Comment on lines +133 to +134
original_source_extents = mask_builder.source_extents.copy()
mask_builder.source_extents = mask_builder.mask_extents

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🩺 Stability & Availability | 🔴 Critical | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Files:"
git ls-files | sed -n '/^builders\/heatmap_builder.py$/p; /mask_builder/p; /builders.*mask/i' | sort

echo
echo "heatmap_builder outline:"
ast-grep outline builders/heatmap_builder.py || true

echo
echo "Relevant heatmap_builder lines:"
cat -n builders/heatmap_builder.py | sed -n '1,180p'

echo
echo "MaskBuilder references:"
rg -n "class MaskBuilder|def __init__|source_extents|mask_extents|\.copy\(" builders -S

echo
echo "Candidate mask files:"
fd -a 'mask.*\.py|.*builder.*\.py' . | sed 's#^\./##' | sort | rg 'builders|mask|builder' || true

Repository: RationAI/model-service

Length of output: 232


🏁 Script executed:

#!/bin/bash
set -euo pipefail

python3 - <<'PY'
# Standalone behavior probe mirroring the exact concern:
# whether saving or replacing a tuple-valued attribute with .copy() fails.
class Probe:
    def __init__(self):
        self.s = (10, 20)
        self.m = (20, 10)

probe = Probe()
print("initial source_extents:", probe.s)
try:
    copy = probe.s.copy()
    print("copy succeeded:", copy)
except Exception as e:
    print("copy failed:", type(e).__name__, str(e))

original = probe.s
probe.s = probe.m
print("after assignment source_extents:", probe.s)
probe.s = original
print("after restore source_extents:", probe.s)
PY

Repository: RationAI/model-service

Length of output: 341


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Known file:"
git ls-files | grep -F 'builders/heatmap_builder.py' || true

echo
echo "heatmap_builder lines:"
cat -n builders/heatmap_builder.py | sed -n '1,190p'

echo
echo "MaskBuilder/source_extents references:"
rg -n "class MaskBuilder|def __init__|source_extents|mask_extents|\.copy\(" builders -S || true

echo
echo "Candidate builder/mask files under builders:"
git ls-files builders | grep -E '(mask|builder).*\.py$|builders' || true

Repository: RationAI/model-service

Length of output: 7627


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Installed package availability:"
python3 - <<'PY'
try:
    import ratiopath
    print("ratiopath", getattr(ratiopath, "__version__", "no version"))
    from ratiopath.masks.mask_builders import MaskBuilder
    print("MaskBuilder:", MaskBuilder)
except Exception as e:
    print(type(e).__name__, str(e))
PY

echo
echo "Search installed ratiopath mask_builders if available:"
python3 - <<'PY'
import importlib.util
spec = importlib.util.find_spec("ratiopath.masks.mask_builders")
print("spec", spec)
if spec and spec.origin:
    with open(spec.origin, "r", encoding="utf-8") as f:
        text = f.read()
    for i, line in enumerate(text.splitlines(), 1):
        if "class MaskBuilder" in line or "source_extents" in line or "mask_extents" in line or ".copy(" in line:
            print(f"{spec.origin}:{i}:{line}")
PY

Repository: RationAI/model-service

Length of output: 549


Avoid saving source_extents via .copy() before replacing it.

source_extents is passed to MaskBuilder as a tuple, so this line raises AttributeError each time resize_to_source() is reached and prevents the heatmap output path from finishing. Save the value directly and restore it afterward.

Proposed fix
-                original_source_extents = mask_builder.source_extents.copy()
+                original_source_extents = mask_builder.source_extents
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
original_source_extents = mask_builder.source_extents.copy()
mask_builder.source_extents = mask_builder.mask_extents
original_source_extents = mask_builder.source_extents
mask_builder.source_extents = mask_builder.mask_extents
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@builders/heatmap_builder.py` around lines 133 - 134, In the resize_to_source
flow, update the original_source_extents assignment to retain
mask_builder.source_extents directly instead of calling .copy(), then continue
restoring that saved value after temporarily assigning
mask_builder.mask_extents.

Comment thread docker/Dockerfile.gpu
zlib1g-dev libzstd-dev libpng-dev libjpeg-turbo8-dev libtiff-dev \
libopenjp2-7-dev libgdk-pixbuf2.0-dev libxml2-dev sqlite3 libsqlite3-dev \
libcairo2-dev libglib2.0-dev libdcmtk-dev libjxr-dev python3-dev
libcairo2-dev libglib2.0-dev libdcmtk-dev libjxr-dev python3-dev

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail
IMAGE="${1:?usage: $0 IMAGE}"

docker run --rm "$IMAGE" bash -lc '
  set -eu
  python --version
  python -m pip --version
  python - <<'"'"'PY'
import sys
import sysconfig
from pathlib import Path

assert sys.version_info[:2] == (3, 12)
assert Path(sysconfig.get_path("include"), "Python.h").exists()
print(sys.executable)
PY
'

Repository: RationAI/model-service

Length of output: 195


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf 'Files:\n'
git ls-files | sed -n '/docker\/Dockerfile.gpu/p;/docker.*Dockerfile.gpu/p;/Dockerfile.gpu/p'

printf '\nDockerfile.gpu relevant sections:\n'
if [ -f docker/Dockerfile.gpu ]; then
  nl -ba docker/Dockerfile.gpu | sed -n '1,140p'
fi

printf '\nSearch for python3-dev usage:\n'
rg -n "python3-dev|pip install|install_requires|setup.py|pyproject|conda|uv|poetry|pip.*--no-build-isolation|--only-binary|pip wheel" docker docker/Dockerfile.gpu . --glob '!*.png' --glob '!*.jpg' --glob '!*.jpeg' --glob '!dist/**' --glob '!build/**' | sed -n '1,240p'

Repository: RationAI/model-service

Length of output: 308


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf 'Dockerfile.gpu lines:\n'
cat -n docker/Dockerfile.gpu | sed -n '1,180p'

printf '\nTarget package and pip usage:\n'
rg -n "python3-dev|python3\.dev|pip install|pip install --only-binary|pip wheel|uv pip|pip3|/opt/conda|conda install|python3-" docker/Dockerfile.gpu . --glob '!dist/**' --glob '!build/**' || true

Repository: RationAI/model-service

Length of output: 4047


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf 'Ubuntu jammy python3-dev package files:\n'
apt-cache show python3-dev 2>/dev/null || true
python3 - <<'PY'
import json, urllib.request
try:
    url="https://api.ubuntuarchive.org/packages/ubuntu/jammy/main/python3-dev/files"
    with urllib.request.urlopen(url, timeout=20) as r:
        data=json.load(r)
    for f in data.get("files", [])[:80]:
        print(f.get("path") or f.get("name"))
except Exception as e:
    print(type(e).__name__ + ":", e)
PY

printf '\nSearch for py312-dev / python3.12-dev in repositories:\n'
python3 - <<'PY'
import urllib.request, urllib.parse, urllib.error
for query in ["python3.12-dev ubuntu jammy", "py312-dev ubuntu jammy"]:
    try:
        url="https://api.ubuntuarchive.org/search?q=" + urllib.parse.quote(query)
        with urllib.request.urlopen(url, timeout=20) as r:
            text=r.read().decode()
        print(text[:500])
        print("---")
    except Exception as e:
        print(type(e).__name__ + ":", e)
PY

Repository: RationAI/model-service

Length of output: 691


🌐 Web query:

Ubuntu 22.04 jammy python3-dev package includes headers for python3.10

💡 Result:

Yes, the python3-dev package in Ubuntu 22.04 LTS (Jammy Jellyfish) includes the header files for Python 3.10 [1][2][3]. In Ubuntu 22.04, Python 3.10 is the default Python 3 version [4][5]. The python3-dev package acts as a dependency package that pulls in the development headers for the default Python 3 environment, which is python3.10-dev [1][2]. Consequently, installing python3-dev provides the necessary header files and static library required for building C extensions or other software against the system's Python 3.10 interpreter [1][6][7].

Citations:


🌐 Web query:

rayproject/ray:2.53.0-py312-gpu ubuntu version python3 version

💡 Result:

The Ray Docker image tag rayproject/ray:2.53.0-py312-gpu contains the following specific components: - Python Version: This image is explicitly configured with Python 3.12, as indicated by the py312 suffix in the tag [1][2]. - Ubuntu Version: Ray official Docker images, including the 2.53.0 release series, are based on Ubuntu [1][2]. The base images for the rayproject/ray repository generally utilize ubuntu:22.04 as the underlying OS [3]. - GPU Support: The -gpu suffix indicates that the image is based on an NVIDIA CUDA image [1][4]. In the Ray project's Docker architecture, -gpu tags are aliases for specific CUDA-enabled images that require the NVIDIA Docker Runtime to access host GPUs [1][2]. In summary, the rayproject/ray:2.53.0-py312-gpu image provides a Python 3.12 environment running on an Ubuntu-based system (typically 22.04) with pre-installed CUDA support [1][2][3].

Citations:


Use Python 3.12 headers or limit dependency installers to wheels.

The base image runs Python 3.12, but Ubuntu Jammy’s python3-dev supplies headers for the system Python 3.10. Remove python3-dev if the pip install is constrained to wheels, or install Ray/Conda Python 3.12 development headers and invoke python -m pip from that matching environment.

🧰 Tools
🪛 Trivy (0.72.0)

[error] 38-44: RUN using 'sudo'

Using 'sudo' in Dockerfile should be avoided

Rule: DS-0010

Learn more

(IaC/Dockerfile)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docker/Dockerfile.gpu` at line 44, Update the Dockerfile.gpu dependency setup
to avoid the Python 3.10 `python3-dev` package with the Python 3.12 base
runtime: either remove `python3-dev` when pip installations are wheel-only, or
install matching Python 3.12 development headers and invoke pip through that
environment using `python -m pip`.

Comment thread docker/Dockerfile.gpu
Comment on lines +55 to +64
# Pin CUDA 12 compatible versions to avoid libcudart.so.13 mismatches.
# The rayproject/ray:2.53.0-py312-gpu image bundles CUDA 12.x; these wheels match it.
RUN pip install --no-cache-dir \
onnxruntime-gpu tensorrt lz4 ratiopath "mlflow<3.0" torch torchvision \
onnxruntime-gpu==1.19.2 \
tensorrt==10.5.0 \
lz4 \
ratiopath \
"mlflow<3.0" \
torch \
torchvision \

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail
IMAGE="${1:?usage: $0 IMAGE}"

docker run --rm "$IMAGE" python - <<'PY'
import onnxruntime
import tensorrt
import torch
import torchvision

assert torch.version.cuda and torch.version.cuda.startswith("12.")
print(torch.__version__, torchvision.__version__, torch.version.cuda)
PY

Repository: RationAI/model-service

Length of output: 195


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf 'Dockerfile.gpu context:\n'
if [ -f docker/Dockerfile.gpu ]; then
  nl -ba docker/Dockerfile.gpu | sed -n '1,90p'
else
  echo 'docker/Dockerfile.gpu not found'
fi

printf '\nLock/constraint references:\n'
git ls-files | rg -i '(^|/)(requirements|Pipfile|poetry|uv|conda|environment|.*lock.*|.*constraint.*|.*pin.*)\.(txt|py|toml|yml|yaml)$|(^|/)requirements|(^|/)constrain|[Ll]ock' | sed -n '1,120p'

printf '\nCUDA/Torch install commands in Dockerfiles:\n'
rg -n "torch|torchvision|tensorrt|onnxruntime-gpu|mlflow|pip install|CUDA_VERSION|NCCL|libcudart|nvidia" docker/Dockerfile.gpu -C 2 2>/dev/null || true

Repository: RationAI/model-service

Length of output: 224


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf 'Dockerfile.gpu context:\n'
if [ -f docker/Dockerfile.gpu ]; then
  awk '{printf "%5d  %s\n", NR, $0}' docker/Dockerfile.gpu | sed -n '1,90p'
else
  echo 'docker/Dockerfile.gpu not found'
fi

printf '\nLock/constraint references:\n'
git ls-files | rg -i '(^|/)(requirements|Pipfile|poetry|uv|conda|environment|.*lock.*|.*constraint.*|.*pin.*)\.(txt|py|toml|yml|yaml)$|(^|/)requirements|(^|/)constrain|[Ll]ock' | sed -n '1,120p'

printf '\nCUDA/Torch install commands in Dockerfile.gpu:\n'
grep -n -E "torch|torchvision|tensorrt|onnxruntime-gpu|mlflow|pip install|CUDA_VERSION|NCCL|libcudart|nvidia" docker/Dockerfile.gpu -C 2 || true

Repository: RationAI/model-service

Length of output: 4717


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf 'uv.lock references for CUDA-related packages:\n'
grep -n -E 'name = "(torch|torchvision|onnxruntime-gpu|tensorrt|mlflow)"|torch|torchvision|onnxruntime|tensorrt|nvjit|cuda' uv.lock | sed -n '1,220p' || true

printf '\nOther Dockerfiles:\n'
git ls-files 'docker/Dockerfile*' 'docker/*' | sed -n '1,120p'

printf '\nDocker image references:\n'
rg -n "rayproject/ray|FROM .*gpu|torchvision|mlflow<3" . 2>/dev/null | sed -n '1,160p'

Repository: RationAI/model-service

Length of output: 21547


Pin CUDA-related Python packages to the tested stack.

torch and torchvision are still unversioned in docker/Dockerfile.gpu, while uv.lock does not capture a CUDA-only lock for this image and mlflow<3.0 leaves a broad resolver range. Pin tested versions or install from a generated constraints/lock file to satisfy the stated protection against runtime/runtime and Torch/TorchVision mismatches.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docker/Dockerfile.gpu` around lines 55 - 64, Update the GPU image dependency
installation in the Dockerfile’s pip install block to use tested, explicit
versions for torch, torchvision, and the mlflow 3.x constraint, or install them
from a generated CUDA-specific constraints/lock file. Keep the existing
CUDA-compatible pins for onnxruntime-gpu and tensorrt, and ensure the selected
Torch/TorchVision versions are mutually compatible with the bundled CUDA 12.x
runtime.

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.

2 participants