Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

SIFT memory leak

Aperta
#169 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
python

Direzione di ricerca

Inizia riproducendo il ciclo fornito con af.load_image, af.vision.sift, af.device.device_gc e af.print_mem_info, quindi confrontane il comportamento con l’implementazione in C e il risultato ORB descritti nell’issue. Traccia la pulizia delle feature attorno ad af_release_features e ai binding SIFT/GLOH; il lavoro è concluso quando le rilevazioni ripetute non mostrano più una crescita della memoria.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

It seems that the SIFT detection leaks memory. Here is the example script I am running.

import arrayfire as af
import time

while True:
    im = af.load_image('image.jpg')
    feats, desc = af.vision.sift(im)

    af.device.device_gc()
    af.print_mem_info()
    time.sleep(1)

I solved part of the leaks in #168. Apparently the features destructor wasn't called, and af_release_features needed to be called explicitly from python.

With this fix the ORB feature detection works without leaks, but SIFT and GLOH still do.

Running pretty much the same methods in C works without a memory leak. So I think there might be another destructor that ought to be called explicitly, just like af_release_features, but I could not figure out where the leak was originated from.

Lingua principale
Python
Stelle
422
Fork
63
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di arrayfire/arrayfire-python

Tutte le issue di arrayfire/arrayfire-python

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.