View a markdown version of this page

Espressioni nei modelli di lavoro - Deadline Cloud

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Espressioni nei modelli di lavoro

Un modello di lavoro utilizza stringhe di {{ }} formato per inserire valori nei nomi di lavoro, nei comandi, negli argomenti e nei file incorporati. Con l'EXPRestensione a Open Job Description, il testo all'interno {{ }} è un'espressione. Un'espressione può essere un semplice riferimento{{Param.Name}}, ad esempio, oppure può calcolare un valore con aritmetica, confronti, else condizionaliif/, operazioni su stringhe e percorsi e comprensioni di elenchi. La sintassi è un sottoinsieme di Python.

Le espressioni sono il collante tra i parametri inviati dall'utente e la riga di comando accettata dall'applicazione. Un requisito di memoria in GiB diventa il MiB previsto da un requisito host. Un parametro dell'intervallo di frame diventa argomenti del frame iniziale e finale. Un modello di sequenza di file diventa il file per il frame dell'attività. Un flag appare nell'elenco degli argomenti solo quando è impostato un parametro booleano. Le espressioni funzionano con tutti i tipi di parametri di lavoro, inclusi i tipi booleano, elenco e intervallo di frame descritti in. Tipi di parametri Job Per le specifiche complete, vedere il linguaggio di espressione Open Job Description sul GitHub sito web.

Gli esempi seguenti mostrano espressioni comuni. Ciascuna è una singola stringa di formato in un modello di lavoro.

Expression Cosa fa
{{ Param.WorkerMemoryGiB * 1024 }} Converte un requisito di memoria immesso da un utente in GiB nel MiB previsto dal requisito dell'host. amount.worker.memory
{{ Param.InputSequence.with_number(Task.Param.Frame) }} Trasforma uno schema di sequenza di file come/data/timestep_####.h5, o il primo file della sequenza, ad esempio/data/timestep_0001.h5, nel file per il frame dell'attività, /data/timestep_0072.h5 per il frame 72.
{{ 64 if Param.Precision == 'fp16' else 16 }} Sceglie la dimensione del batch in base a un parametro di stringa con valori consentiti.
{{ '--gpu' if Param.UseGpu else null }} Aggiunge l'--gpuargomento quando un parametro booleano è vero. Quando l'espressione restituisce un risultato null in un args elenco, Deadline Cloud omette completamente l'argomento.
{{ repr_sh(Param.InputFile) }} Cita un percorso per uno script bash in modo che gli spazi e i caratteri speciali nel nome del file siano sicuri.
{{ Param.Cameras.join(',') }} Unisce un LIST[STRING] parametro, ad esempio le telecamere per il rendering in una scena, in una stringa separata da virgole.

Deadline Cloud controlla le espressioni quando invii il lavoro. Analizza ogni espressione, verifica l'esistenza di ogni parametro di riferimento e controlla il tipo delle operazioni rispetto ai tipi di parametri dichiarati. Un nome di parametro digitato in modo errato o un metodo di tipo stringa richiamato su un numero intero fallisce l'invio con un messaggio che indica l'errore, prima che qualsiasi lavoratore inizi a eseguire un'attività.

Le espressioni sono deterministiche e autonome. Non esistono funzioni definite dall'utente. Un'espressione non può leggere file, raggiungere la rete o ispezionare le variabili di ambiente, quindi il comportamento di un modello dipende solo dai valori dei parametri.

La valutazione ha anche limiti fissi sulla memoria e sul numero di operazioni. Questi limiti sono sufficientemente ampi per la logica dei modelli e impediscono a un modello di consumare risorse illimitate durante la creazione di posti di lavoro.

Un modello attiva le espressioni EXPR elencandole nelle sue. extensions In un modello senza estensione, {{ }} accetta solo un riferimento a un parametro come{{Param.Frames}}.

Per decidere se usare un'espressione o uno script, considerate dove appartiene la logica. Un'espressione è la scelta giusta per collegare i valori dei parametri a una riga di comando. Usa un'espressione per calcolare un numero, derivare un percorso, scegliere tra due valori o includere o escludere un argomento. Se devi ispezionare il file system, chiamare un'applicazione o iterare sui risultati con una logica personalizzata, inserisci quella logica nello script del passaggio. Lo script può ancora ricevere i risultati delle espressioni come argomenti.

Per ulteriori informazioni sulle espressioni, vedere i seguenti argomenti: