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., ad esempio, oppure può calcolare un valore con aritmetica, confronti, Name}}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
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:
-
Aggiungere espressioni a un modello di lavoro— Abilita l'estensione in un modello e scrivi le tue prime espressioni.
-
Tipi di parametri Job— Cerca tutti i tipi di parametri di lavoro, inclusi i tipi booleano, elenco e intervallo di frame aggiunti dall'
EXPRestensione. -
Riferimento rapido alle espressioni— Cerca le variabili, gli operatori e le funzioni disponibili in un'espressione.