JuzaPhoto utilizza cookies tecnici e cookies di terze parti per ottimizzare la navigazione e per rendere possibile il funzionamento della maggior parte delle pagine; ad esempio, è necessario l'utilizzo dei cookie per registarsi e fare il login (maggiori informazioni).

Proseguendo nella navigazione confermi di aver letto e accettato i Termini di utilizzo e Privacy e preso visione delle opzioni per la gestione dei cookie.

OK, confermo


Puoi gestire in qualsiasi momento le tue preferenze cookie dalla pagina Preferenze Cookie, raggiugibile da qualsiasi pagina del sito tramite il link a fondo pagina, o direttamente tramite da qui:

Accetta Cookie Personalizza Rifiuta Cookie
RCE Foto






Login Logout Iscriviti a JuzaPhoto!

[open source] offgallery: catalogazione ai locale (zero cloud) con tagging automatico e ricerca in linguaggio naturale 3


  1. Forum
  2. »
  3. Computer, Schermi, Tecnologia
  4. » [open source] offgallery: catalogazione ...





avatarjunior
inviato il 20 Aprile 2026 ore 17:25    

Benvenuti nella terza puntata.

Nelle puntate precedenti: Nascita ed evoluzione di un software 'fotografico' , con l'aiuto di fotografi semi-pro e pro. Feedback e suggerimenti benvenuti!
Grazie a tutti quelli che stanno partecipando (menzione speciale per Blackbird, ispiratore e creatore del plugin per integrare LM Studio).

avatarjunior
inviato il 20 Aprile 2026 ore 17:37    

Eccoci: Sto facendo una prova massiva di import.
cpu e gpu belle cariche!
cpu e' arrivata al 70%, la Gpu ha quasi saturato la banda senza soluzione di continuita'.

i modelli 'leggeri' hanno finito in poco tempo, persino macinando Tiff enormi.
La generazione di titoli descrizioni e tags sta ancora proseguendo , gpu non segnala piu' il pieno banda, non so perche', ma la generazione prosegue abbastanza regolare , siamo nell'ordine dei 15 secondi complessivi, e comunque la temperatura della gpu mi e' skizzata a 78 gradi Eeeek!!!

Attenti alle ventole se fate ore di elaborazione....

P.S. io con soli 8GB ho messo Aesthetic, Bioclip e Technic su cpu, tutto il resto gpu

avatarjunior
inviato il 20 Aprile 2026 ore 17:37    

Ho fatto il primo stress-test per la Fase 2 (Tagging IA) su 41 RAW, usando il plugin Ollama con qwen3-vl:latest.

Il processo gira fluido (circa 10-13s a foto su Mac Apple Silicon), ma i file XMP esportati sono vuoti (niente tag, né descrizioni).
Spulciando il log, ho isolato il problema: Ollama genera effettivamente il testo, ma lo script di OffGallery non riesce a fare il parsing della risposta.

Ecco un estratto del log:
DEBUG - plugins.llm_ollama.plugin - LLM Ollama: prompt_eval 1951ms (470 tok) + gen 10670ms (245 tok, 23 tok/s) + load 120ms
INFO - embedding_generator - [LLM] RISPOSTA RAW: (<-- completamente vuota!)
DEBUG - xmp_manager_extended - XMP Compare MISMATCH: Title differ: XMP='20260407-142' vs DB=''

L'LLM produce 245 token, ma OffGallery riceve una stringa vuota. Potrebbe essere che la struttura JSON di risposta di qwen3-vl sia diversa dal previsto, oppure che il comando /no_think inserito all'inizio del prompt causi un'anomalia nell'output del modello.

Fammi sapere appena fai una patch al parser (o se serve modificare la chiamata API), così ri-lancio la coda e ti testo l'inserimento effettivo nei sidecar!

avatarjunior
inviato il 20 Aprile 2026 ore 18:33    

X Luzzo.
Ho tardato perche' avevo un elaborazione in corso.

a me li genera... Eeeek!!!

che immagine e' ? puoi pulire il log e riprocessare in import solo 1 o 2 immagini che non generano testo?
mi puoi mandare solo quello in privato? se non te lo fa mandare in privato sul forum, utilizza

offgallery.ai.info@gmail.com

spunta la casella 'salva log' cosi' te lo mette su disco . poi mi mandi anche il log di tab log per favore. tutti in formato testo no screenshot.

grazie.


ATTENZIONE: mentre 'armeggiavo', ho fatto per la prima volta una ricerca semantica , dopo aver caricato piu' di 20000 foto nel db.
Risultato, non la finiva piu'. Stava facendo 20000 confronti individuali con l'embedding ricavato dalla frase di ricerca. Questo andava bene ai primi tempi, quando le foto di test erano un centinaio. Adesso era un blocco del sistema.
FIXATO: adesso mi ha trovato 300 risultati in circa 1 o 2 secondi. E tutti molto pertinenti.
Vi consiglio di aggiornare il tutto.

avatarsenior
inviato il 20 Aprile 2026 ore 20:10    

Inizio OT su temperature GPU.
@Michele_m
"Per un confronto puramente tecnico sui dati di carico e temperature (visto che si parlava di GPU a 78° e stress termico), ti lascio un feedback sull'uso di modelli di taglia media su architettura Apple Silicon recente (M4 PRO con 64GB di RAM).

Sto testando la generazione di testi complessi e strutturati (sceneggiature e documentazione tecnica) utilizzando un modello da 31B parametri in quantizzazione Q8_0.

Dati riscontrati:

Carico Hardware: Sto impegnando stabilmente 18 core su 20. Nonostante il modello da 31B in Q8 sia impegnativo (occupa circa 34GB di memoria unificata), il sistema gestisce il flusso senza saturare i bus esterni, grazie alla larghezza di banda della memoria unificata.

Temperature e Efficienza: La nota più interessante rispetto alle GPU discrete è che il Mac resta tiepido. Il Neural Engine e i core dedicati gestiscono i calcoli in modo talmente efficiente che non si avverte il calore tipico delle elaborazioni AI su hardware tradizionale. Non c'è alcun bisogno di monitorare le ventole o temere per l'integrità dei componenti anche dopo sessioni lunghe.

Credo che l'efficienza degli Apple Silicon nel gestire i pesi dei modelli (specialmente dai 30B in su con bassa compressione) stia proprio nella capacità di restare 'freddi' mentre macinano una quantità di dati che su altre architetture richiederebbe sistemi di dissipazione molto più aggressivi."

Per questo all'inizio parlavo dell'uso dei neural engine su mac.
Il rischio è che su certe configurazioni lo stress diventa pesante soprattutto se si usa la CPU invece della GPU nel caso degli Apple Silicon. Vedi alcuni casi di M1 con 8GB di ram.
Sul mio M1 con 16GB di ram gira adesso un server e immich con 70K di foto tra raw e tiff e Jpg con qualche video MP4. In pratica sto facendo girare il Mac in linux.

Non sto seguendo fino alla lettura del listato ad ogni modifica, ma sta diventando una biblioteca dove ognuno attinge per quello che gli serve, sempre restando che si stia sapendo quello che si fa.
La complessità delle cose da elaborare fanno usare una valanga di Token e non è cosa facile da gestire.
Una bella maratona Michele, fra GPU che scottano Claude che va fuori di zucca e i casini che capitano sempre hai un bel grattacapo da portare avanti.

Fine OT

avatarjunior
inviato il 20 Aprile 2026 ore 20:18    

grazie per la panoramica mac , Ivo.
Beh non era tanto OT, perche' cosi' abbiamo dei dati per far confronto, ed e' sempre interessante.

Ho intanto messo una directory esplicita per i file csv che viene mostrata in export solo se si clicca su csv appunto.

Buona serata! :-)

avatarsenior
inviato il 21 Aprile 2026 ore 0:10    

seguo

avatarjunior
inviato il 21 Aprile 2026 ore 1:34    

Aggiunta, in search tab, la possibilita' di navigare nelle directory delle immagini acquisite da OffGallery, e selezionare una directory da visionare subito in gallery (senza fare ricerca).

Oppure:

Dopo aver selezionato la o le directory, valorizzare i vari filtri, e/o eseguire ricerca semantica/tags per solo le directory selezionate.

avatarsenior
inviato il 21 Aprile 2026 ore 10:30    

Non faccio in tempo ad aggiornare che tiri fuori una nuova versione, sei diabolico MrGreen

avatarsenior
inviato il 21 Aprile 2026 ore 11:41    

Grazie della menzione d'onore! Sorriso

Aggiunta, in search tab, la possibilita' di navigare nelle directory delle immagini acquisite da OffGallery, e selezionare una directory da visionare subito in gallery (senza fare ricerca).

Questa è ottima: mi era venuto in mente di suggerirtela due o tre volte in queste settimane, ma poi mi sono sempre scordato di farlo. MrGreen
Utilissima per esempio per me, che ho le foto organizzate in un'alberatura di file system che fa riferimento a quando le foto sono state scattate (anno-mese-giorni, ad esempio). Così limito fisicamente la ricerca a un lotto secco di foto temporalmente ben distinte, senza nemmeno usare gli exif.
Ma comodissimo anche per cercare un insieme di foto che stiano - per una ragione o l'altra - al di fuori delle proprie organizzazioni consuete, per dire.

Vedi alcuni casi di M1 con 8GB di ram.

Il problema di questi però sta alla base: non ci entrano le informazioni che ci devono entrare, per poter elaborare tutto direttamente fra SoC e unified memory "come fosse in RAM+VRAM"... e quindi deve girare sul disco, gioco forza. Diro di più: secondo me fra sistema, ambiente miniconda Python (che di "mini" ha davvero poco, grazie a Torch MrGreen), Ollama e modellame vario, pure con 16 GB di unificata sei quasi corto con un 8b, secondo me. Insomma, per machine learning di memorie (che siano unificate, RAM o VRAM) è bene averne più che a sufficienza, sennò ci sono colli di bottiglia inaccettabili anche con modelli meno impegnativi.
Nel mio caso di soli 6GB di VRAM, per usare il modello giusto per OffGallery (l'8b) deve swappare un po', e questo è overhead per il processore/sistema... Però è uno swap su DDR4, perché di quella ne ho 32GB (ne avanzano una decina, quando sono in elaborazione pesante); quindi è una situazione di "shortage" meno severo rispetto all'unificata da 8/16, se vogliamo.
Però, detto questo, la GPU, anche se mi sta sempre a cannone, resta sui 60 gradi, non è che sputa la lava... anzi! :-P

Comunque, bando alle ciance... è l'ora che cominci nei prossimi giorni o settimane la mia MASSIVA su tutta la collezione fotografica... incrocio le dita! Cool




PS: chi ha difficoltà con schede grafiche AMD, mi può contattare tranquillamente, anche se l'impianto così com'è studiato dovrebbe funzionare "out of the box".

avatarjunior
inviato il 21 Aprile 2026 ore 13:22    

comincia con un piccolo set comunque, come test finale, con tutti gli annessi e connessi. ma aspetta perche' sto controllando una cosa di fine elaborazione.

A propoosito.... forse l'avrete gia' notato, ma quando da config tab si decide quale modello mettere su gpu /cpu oppure quale spegnere completamente, per ottimizzare le 'scarse' risorse, ho pensato che fosse comodo avere dei 'preset' per i vari scenari.

Ad esempio, per import massivi di migliaia di foto, bastano clip e dinov2 all'inizio, in modo che si possa gia' fare ricerca semantica. Poi si puo' passare al settaggio con solo llm e i plugin per aggiungere le descrizioni, poi si puo' fare una passata con bioclip etc.

Ognuna di questo configurazioni puo' adesso essere salvata con un nome scelto dall'operatore e poi richiamata in futuro, per avere la matrice dei modelli gia' settata in un colpo solo.
Bisogna pero' SEMPRE ristartare per avere la config attiva.

Al contrario di prima, la selezione dei modelli in config, non e' piu' relativa al solo import, ma la configurazione scelta rimane attiva in tutte le operazioni. Quindi se ad esempio, si e' scelto in config, di non caricare ollama o lm studio per risparmiare memoria, NON funzionera' la generazione 'al volo' delle descrizioni o dei tag dal menu contestuale della Gallery, perche' il modello e' stato escluso per quella sessione.

Tutto questo per permettere, a pc non carrozzati per l'AI, di operare con configurazioni 'su misura' a seconda della sessione di lavoro (import, ricerca, culling, export) perche' e' inutile avere tutto il 'carrozzone' in memoria se in quella sessione non mi serve tutto.

Meno paginazione, vram piu' libera, prestazioni migliori. ;-)

avatarsenior
inviato il 21 Aprile 2026 ore 15:08    

Premesso che seguirò pedissequamente il consiglio di "spezzare" il lavoro, domanda "di cultura" scaturita dalla mia ignoranza in materia: ma senza descrizioni, tag o titoli ottenuti dall'analisi del modello VL, la sola applicazione di clip come riesce ad "abilitare" la ricerca semantica?

avatarsenior
inviato il 21 Aprile 2026 ore 16:02    

Me lo stavo chiedendo anch'io, anche perché il mio uso sarebbe principalmente per la ricerca e CLIP è abbastanza veloce rispetto al VL, che da come capisco serve principalmente per avere la descrizione testuale e i TAG che potrei anche evitarmi

avatarjunior
inviato il 21 Aprile 2026 ore 18:56    

clip 'vede' l'immagine e riesce a come dire...definirne 'l'essenza', una sorta di checksum che deriva dal suo 'allenamento' con milioni di altre immagini.

poi la colloca in uno spazio con delle coordinate.

Quelle 'simili' andranno a finire in spazi vicini.
Quando ricerchiamo qualcosa: es. 'tramonto sul lago d'inverno' , quella frase, clip sa trasformarla in coordinate che va a ricercare fra quelle vicine a quello spazio. ovviamente non capisce realmente cosa sta vedendo.

LLM cioe' un qwen3vl per esempio, 'vede' l'immagine ma fa un lavoro piu' 'umano', cioe' la 'descrive' , riesce a raccontarcela.

si , funziona tutto con dinov2 e clip volendo, ma appunto perche' clip associa senza 'capire', ci si puo' ritrovare con associazioni apparentemente senza senso, ma il senso per lui ce l'hanno. Ad esempio, cercando 'uccello bianco al mare d'estate', mi sono ritrovato con un gufo delle nevi, col cielo blu dietro , oppure un muro bianco con cielo estivo . li' prevaleva il concetto di bianco, di solare, cielo terso e non di uccello.

Queste sono cose che capitano a volte anche con la ricerca google delle immagini, e stiamo parlando di modelli con 3000b di parametri , non di modellini come i nostri con 4 o 8b!

Allora ho pensato, che se disponiamo anche di tag o descrizioni, ci sarebbe stata una doppia sicurezza nella selezione con ricerca semantica. Ecco la 'deep search' con lo slide, che si', fa la ricerca semantica, ma nella selezione 'premia' le immagini con piu' parole possibili della frase di ricerca, presenti nei tag o negli altri testi.

Quindi nel caso del gufo, si, avrebbe trovato nei tag 'uccello' e 'bianco', ma mi avrebbe scartato il muro di sicuro.
Lo slide serve a dare piu' o meno peso alle parole simili presenti nella ricerca e nei tags.

Altra cosa: la ricerca esatta, con dei tags di qualita' e' molto piu precisa. ecco perche' ad esempio, il nome comune e scientifico di un animale va a finire li'. Oppure se cerchiamo 'muro' lo troveremo al 90% anche nei tag.

La descrizione inoltre, specie se fatta da un 8b, potrebbe essere interessante, per la composizione di cataloghi o elebchi a tema, se magari un prossimo plugin per esempio, potesse occuparsi di interagire e chiedere quale atmosfera, ambiente, tematica si vuole trattare...o mettere automaticamente le didascalie sotto le foto in un album, o alimentare come mi ha chiesto Ale, una galleria per non vedenti, etc... ;-)

avatarjunior
inviato il 21 Aprile 2026 ore 19:24    

Ho letto (rapidamente) i 3 thread; mi ha incuriosito l'accenno ad una funzione che "valuta" le foto ed assegna uno score diciamo "estetico". Potresti dare qualche ulteriore dettaglio su come agisce (intendo: i criteri di valutazione) e quali sono i risultati attesi? Grazie.

Che cosa ne pensi di questo argomento?


Vuoi dire la tua? Per partecipare alla discussione iscriviti a JuzaPhoto, è semplice e gratuito!

Non solo: iscrivendoti potrai creare una tua pagina personale, pubblicare foto, ricevere commenti e sfruttare tutte le funzionalità di JuzaPhoto. Con oltre 259000 iscritti, c'è spazio per tutti, dal principiante al professionista.





RCE Foto

Metti la tua pubblicità su JuzaPhoto (info)


 ^

JuzaPhoto contiene link affiliati Amazon ed Ebay e riceve una commissione in caso di acquisto attraverso link affiliati.

Versione per smartphone - juza.ea@gmail.com - Termini di utilizzo e Privacy - Preferenze Cookie - P. IVA 01501900334 - REA 167997- PEC juzaphoto@pec.it

www.juzaphoto.com - www.autoelettrica101.it

Possa la Bellezza Essere Ovunque Attorno a Me