Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Duplicate and incomplete definitions of `_graph_nodes` and `grad_check`

Ouverte Adaptée aux débutants
#8 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
65/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Calme
Stack technique
numpy, python

Piste de recherche

Commence par lire leanpass/tensor.py et comparer les deux définitions de _graph_nodes et grad_check ; vérifie le type de retour documenté et les tests existants. Exécute les tests pertinents après avoir supprimé les doublons et terminé la vérification du gradient. Terminé signifie qu'il ne reste qu'une définition correcte de chaque fonction et que grad_check renvoie les tuples d'erreur documentés.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

good first issue

File: leanpass/tensor.py

The file defines _graph_nodes and grad_check twice. The second definitions overwrite the first ones, but the second grad_check is truncated (numeric[node] = ) and contains several bugs (calls node.zero_grad_all(), uses undefined self.zero_grad_all(), mismatched return types). This makes the gradient‑checking utility unusable and may silently break other code that expects the original implementation.

Fix: Remove the duplicated definitions. Keep a single, correct implementation of _graph_nodes (the first one is fine) and a complete, tested grad_check that:

  • Uses self.zero_grad_all() to clear grads.
  • Computes numerical gradients correctly (e.g., using np.sum(plus) - np.sum(minus) for scalar outputs).
  • Returns a list of error tuples as documented.

File: leanpass/tensor.py

Filed automatically by ai-issue-scan.

Langage dominant
Python
Étoiles
16
Forks
1
Merge moyen
2 j 8 h
PR mergées (30 j)
5

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de Terminay/leanpass

Toutes les issues de Terminay/leanpass

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.