aws / aws/sagemaker-python-sdk

Support git_config parameter in SourceCode or ModelTrainer

Abierto
#5,571 0 comentarios 2 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
2.3k
Forks
1.3k
Merge medio
1 d 22 h
PR fusionados (30 d)
35

Descripción

**Describe the feature you'd like**
Add `git_config` parameter support to the SourceCode class (or directly to ModelTrainer) to enable fetching source code directly from Git repositories, similar to the functionality available in JumpStart models and v2 [Estimator classes](https://sagemaker.readthedocs.io/en/v2/api/training/estimators.html).

The `git_config` parameter should accept a dictionary with the following keys:
- `repo` (required): Git repository URL (https, http, git@, or ssh://)
- `branch` (optional): Branch name (defaults to 'master')
- `commit` (optional): Specific commit hash
- `2FA_enabled` (optional): Boolean for GitHub 2FA authentication
- `username`, `password`, `token` (optional): Authentication credentials

**How would this feature be used? Please describe.**
This feature would allow users to reference training code stored in Git repositories without manually cloning them first. This is particularly useful for:

1. CI/CD pipelines - Automatically pull the latest training code from a repository
2. Team collaboration - Share training scripts via version control without S3 uploads
3. Reproducibility - Pin to specific commits for exact code versioning

**Describe alternatives you've considered**
Current workarounds include:
1. Manual cloning - Clone the repository locally before creating ModelTrainer, then use local `source_dir`
2. S3 upload - Upload code to S3 and reference it via S3 URI in `source_dir`
3. Use legacy estimators - Switch to older Estimator classes that support `git_config`

**Additional context**
The SDK already has the infrastructure for this feature:
- `sagemaker.core.git_utils.git_clone_repo()` handles Git cloning with authentication
- `sagemaker.core.git_utils._sanitize_git_url()` provides security validation
- JumpStart models (`JumpStartModelInitKwargs`) already support `git_config`

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza con SourceCode y ModelTrainer, y luego compara sus rutas de inicialización con JumpStartModelInitKwargs y el comportamiento de git_config de v2 Estimator. Lee primero sagemaker.core.git_utils.git_clone_repo() y _sanitize_git_url(); terminado significa aceptar las claves de diccionario especificadas y obtener el repositorio, la rama o el commit solicitados con autenticación compatible.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
aws, git, python
Área
machine-learning
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
48/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.